diff options
author | Daniel Jacobowitz <dan@debian.org> | 2002-03-21 00:53:44 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2002-03-21 00:53:44 +0000 |
commit | 586ea7745c318167ab3e914f6a8293f1a13e9b82 (patch) | |
tree | a6597eb8f0577d0f08f759e5daa101e99b4f073e /gdb/c-lang.c | |
parent | 1d628440becd2866c5b0a0e3a5351e689aff330e (diff) | |
download | gdb-586ea7745c318167ab3e914f6a8293f1a13e9b82.tar.gz |
2002-03-20 Daniel Jacobowitz <drow@mvista.com>
Fix PR gdb/422.
* c-lang.c (c_create_fundamental_type): Handle FT_COMPLEX,
FT_DBL_PREC_COMPLEX, and FT_EXT_PREC_COMPLEX.
* dwarf2read.c (read_base_type): Set TYPE_TARGET_TYPE for
complex types.
* stabsread.c (rs6000_builtin_type): Likewise.
(read_sun_floating_type): Likewise.
Diffstat (limited to 'gdb/c-lang.c')
-rw-r--r-- | gdb/c-lang.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gdb/c-lang.c b/gdb/c-lang.c index fa977cdd859..f98548a63af 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -338,6 +338,30 @@ c_create_fundamental_type (struct objfile *objfile, int typeid) TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, 0, "long double", objfile); break; + case FT_COMPLEX: + type = init_type (TYPE_CODE_FLT, + 2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT, + 0, "complex float", objfile); + TYPE_TARGET_TYPE (type) + = init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT, + 0, "float", objfile); + break; + case FT_DBL_PREC_COMPLEX: + type = init_type (TYPE_CODE_FLT, + 2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, + 0, "complex double", objfile); + TYPE_TARGET_TYPE (type) + = init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, + 0, "double", objfile); + break; + case FT_EXT_PREC_COMPLEX: + type = init_type (TYPE_CODE_FLT, + 2 * TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, + 0, "complex long double", objfile); + TYPE_TARGET_TYPE (type) + = init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, + 0, "long double", objfile); + break; case FT_TEMPLATE_ARG: type = init_type (TYPE_CODE_TEMPLATE_ARG, 0, |