aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-03-04 18:47:42 +0000
committerRichard Stallman <rms@gnu.org>1993-03-04 18:47:42 +0000
commit47cc012b655f52985c4d8b52d1ba7732606e57c8 (patch)
tree225d6c6a14daa6c9f3df6a27ef1af496f3064f8a /gcc
parent122026c09fea424fc605dfe5e55261c9f7d64cbb (diff)
downloadgcc-47cc012b655f52985c4d8b52d1ba7732606e57c8.zip
gcc-47cc012b655f52985c4d8b52d1ba7732606e57c8.tar.gz
gcc-47cc012b655f52985c4d8b52d1ba7732606e57c8.tar.bz2
(dbxout_type): Handle complex integer types.
From-SVN: r3634
Diffstat (limited to 'gcc')
-rw-r--r--gcc/dbxout.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 8a902b8..506701a 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -1044,8 +1044,27 @@ dbxout_type (type, full, show_arg_types)
TYPE_SYMTAB_ADDRESS (type),
TREE_INT_CST_LOW (size_in_bytes (TREE_TYPE (type))));
CHARS (15); /* The number is probably incorrect here. */
- } else
- abort (); /* What to do with CSImode complex? */
+ }
+ else
+ {
+ /* Output a complex integer type as a structure,
+ pending some other way to do it. */
+ fprintf (asmfile, "s%d", TREE_INT_CST_LOW (size_in_bytes (type)));
+
+ fprintf (asmfile, "real:");
+ CHARS (10);
+ dbxout_type (TREE_TYPE (type), 0, 0);
+ fprintf (asmfile, ",%d,%d;",
+ 0, TYPE_PRECISION (TREE_TYPE (type)));
+ CHARS (8);
+ fprintf (asmfile, "imag:");
+ CHARS (5);
+ dbxout_type (TREE_TYPE (type), 0, 0);
+ fprintf (asmfile, ",%d,%d;;",
+ TYPE_PRECISION (TREE_TYPE (type)),
+ TYPE_PRECISION (TREE_TYPE (type)));
+ CHARS (9);
+ }
break;
case SET_TYPE: