dbxout.c (dbxout_fptype_value): Delete.

* dbxout.c (dbxout_fptype_value): Delete.
	(dbxout_type): Emit R3 for all COMPLEX_TYPEs.

From-SVN: r72002
This commit is contained in:
Zack Weinberg 2003-10-01 23:37:30 +00:00
parent b9e8f4b38e
commit 3a7cbb76f1
2 changed files with 11 additions and 62 deletions

View File

@ -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.

View File

@ -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);