aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-10-01 23:37:30 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-10-01 23:37:30 +0000
commit3a7cbb76f1c751d40587190b62a23f46da1c571b (patch)
treeab3d5ab5c7ff9f6f0c8f28ef7d0772eab7d1aea3
parentb9e8f4b38e3042e51bd3c6514aa740f22ac9c94b (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/dbxout.c66
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);