diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-10-01 23:37:30 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-10-01 23:37:30 +0000 |
commit | 3a7cbb76f1c751d40587190b62a23f46da1c571b (patch) | |
tree | ab3d5ab5c7ff9f6f0c8f28ef7d0772eab7d1aea3 /gcc | |
parent | b9e8f4b38e3042e51bd3c6514aa740f22ac9c94b (diff) | |
download | gcc-3a7cbb76f1c751d40587190b62a23f46da1c571b.zip gcc-3a7cbb76f1c751d40587190b62a23f46da1c571b.tar.gz gcc-3a7cbb76f1c751d40587190b62a23f46da1c571b.tar.bz2 |
dbxout.c (dbxout_fptype_value): Delete.
* dbxout.c (dbxout_fptype_value): Delete.
(dbxout_type): Emit R3 for all COMPLEX_TYPEs.
From-SVN: r72002
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/dbxout.c | 66 |
2 files changed, 11 insertions, 62 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 297a012..1428352 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-10-01 Zack Weinberg <zack@codesourcery.com> + + * dbxout.c (dbxout_fptype_value): Delete. + (dbxout_type): Emit R3 for all COMPLEX_TYPEs. + 2003-10-01 Alexandre Oliva <aoliva@redhat.com> * output.h (compute_reloc_for_constant): Declare. @@ -133,7 +138,7 @@ 2003-09-30 Carlo Wood <carlo@alinoe.com> PR debug/12319 - * cfglayout.c (insn_scope): Use prologue_locator and + * cfglayout.c (insn_scope): Use prologue_locator and epilogue_locator; return the outer function scope for pro- and epilogue insns. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 7932701..ec59f5e 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -328,7 +328,6 @@ static void dbxout_finish (const char *); static void dbxout_start_source_file (unsigned, const char *); static void dbxout_end_source_file (unsigned); static void dbxout_typedefs (tree); -static void dbxout_fptype_value (tree); static void dbxout_type_index (tree); #if DBX_CONTIN_LENGTH > 0 static void dbxout_continue (void); @@ -806,60 +805,6 @@ dbxout_finish (const char *filename ATTRIBUTE_UNUSED) debug_free_queue (); } -/* Output floating point type values used by the 'R' stab letter. - These numbers come from include/aout/stab_gnu.h in binutils/gdb. - - There are only 3 real/complex types defined, and we need 7/6. - We use NF_SINGLE as a generic float type, and NF_COMPLEX as a generic - complex type. Since we have the type size anyways, we don't really need - to distinguish between different FP types, we only need to distinguish - between float and complex. This works fine with gdb. - - We only use this for complex types, to avoid breaking backwards - compatibility for real types. complex types aren't in ISO C90, so it is - OK if old debuggers don't understand the debug info we emit for them. */ - -/* ??? These are supposed to be IEEE types, but we don't check for that. - We could perhaps add additional numbers for non-IEEE types if we need - them. */ - -static void -dbxout_fptype_value (tree type) -{ - char value = '0'; - enum machine_mode mode = TYPE_MODE (type); - - if (TREE_CODE (type) == REAL_TYPE) - { - if (mode == SFmode) - value = '1'; - else if (mode == DFmode) - value = '2'; - else if (mode == TFmode || mode == XFmode) - value = '6'; - else - /* Use NF_SINGLE as a generic real type for other sizes. */ - value = '1'; - } - else if (TREE_CODE (type) == COMPLEX_TYPE) - { - if (mode == SCmode) - value = '3'; - else if (mode == DCmode) - value = '4'; - else if (mode == TCmode || mode == XCmode) - value = '5'; - else - /* Use NF_COMPLEX as a generic complex type for other sizes. */ - value = '3'; - } - else - abort (); - - putc (value, asmfile); - CHARS (1); -} - /* Output the index of a type. */ static void @@ -1542,15 +1487,14 @@ dbxout_type (tree type, int full) break; case COMPLEX_TYPE: - /* Differs from the REAL_TYPE by its new data type number */ + /* Differs from the REAL_TYPE by its new data type number. + R3 is NF_COMPLEX. We don't try to use any of the other NF_* + codes since gdb doesn't care anyway. */ if (TREE_CODE (TREE_TYPE (type)) == REAL_TYPE) { - putc ('R', asmfile); - CHARS (1); - dbxout_fptype_value (type); - putc (';', asmfile); - CHARS (1); + fputs ("R3;", asmfile); + CHARS (3); print_wide_int (2 * int_size_in_bytes (TREE_TYPE (type))); fputs (";0;", asmfile); CHARS (3); |