diff options
author | Ken Raeburn <raeburn@cygnus> | 1994-06-16 01:02:18 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1994-06-16 01:02:18 +0000 |
commit | 675ad6dc6889dfd69f98a7393d52fdac3796f57e (patch) | |
tree | c7d059c47bfce312f67fe3b70d129826540997bb | |
parent | 54eacbe683ddaa9c5ba6a3ab576d21344bf16802 (diff) | |
download | gdb-675ad6dc6889dfd69f98a7393d52fdac3796f57e.zip gdb-675ad6dc6889dfd69f98a7393d52fdac3796f57e.tar.gz gdb-675ad6dc6889dfd69f98a7393d52fdac3796f57e.tar.bz2 |
Fri Jun 3 17:25:08 1994 Pat Rankin (rankin@eql.caltech.edu)
* config/obj-vms.h (DBG_S_C_COMPLX4, DBG_S_C_COMPLX8): define
these new VMS symbol-type macros for `complex float' and
`complex double' support. Their values come from the existing
DSC$K_DTYPE_FC and DSC$K_DTYPE_DC macros in <descrip.h>.
(DBG_S_C_REAL8_G, DBG_S_C_COMPLX8_G): G_float versions of
REAL8 and COMPLX8; not used yet, because gcc outputs the same
.stabs for `double' regardless of whether `-mg' is used.
config/obj-vms.c (VMS_typedef_parse) [case 'r']: add entries
for gcc2's predefined types "complex float", "complex double",
and "complex long double" (identical to complex double).
-rw-r--r-- | gas/config/obj-vms.c | 22 | ||||
-rw-r--r-- | gas/config/obj-vms.h | 6 |
2 files changed, 26 insertions, 2 deletions
diff --git a/gas/config/obj-vms.c b/gas/config/obj-vms.c index fe0465b..fce7fc3 100644 --- a/gas/config/obj-vms.c +++ b/gas/config/obj-vms.c @@ -2466,9 +2466,29 @@ VMS_typedef_parse (str) spnt->VMS_type = DBG_S_C_UQUAD; /* unsigned quadword */ spnt->data_size = 8; } + else if (type_check ("complex float")) + { + spnt->VMS_type = DBG_S_C_COMPLX4; + spnt->data_size = 2 * 4; + } + else if (type_check ("complex double")) + { + /* caveat: this assumes D_float, and is not correct for G_float */ + spnt->VMS_type = DBG_S_C_COMPLX8; + spnt->data_size = 2 * 8; + } + else if (type_check ("complex long double")) + { + /* same as complex double, at least for now */ + spnt->VMS_type = DBG_S_C_COMPLX8; + spnt->data_size = 2 * 8; + } else { - /* something more substantial ought to be done here */ + /* [pr] + * Shouldn't get here, but if we do, something + * more substantial ought to be done... + */ spnt->VMS_type = 0; spnt->data_size = 0; } diff --git a/gas/config/obj-vms.h b/gas/config/obj-vms.h index c645059..8470d27 100644 --- a/gas/config/obj-vms.h +++ b/gas/config/obj-vms.h @@ -427,7 +427,11 @@ extern int vms_resolve_symbol_redef (); #define DBG_S_C_SLINT 0x08 #define DBG_S_C_SQUAD 0x09 #define DBG_S_C_REAL4 0x0a -#define DBG_S_C_REAL8 0x0b /* D_float (G_float is 0x1b) */ +#define DBG_S_C_REAL8 0x0b /* D_float double */ +#define DBG_S_C_COMPLX4 0x0c /* 2xF_float complex float */ +#define DBG_S_C_COMPLX8 0x0d /* 2xD_float complex double */ +#define DBG_S_C_REAL8_G 0x1b /* G_float double */ +#define DBG_S_C_COMPLX8_G 0x1d /* 2xG_float complex double */ #define DBG_S_C_FUNCTION_ADDR 0x17 #define DBG_S_C_ADVANCED_TYPE 0xa3 /* These are the codes that are used to generate the definitions of struct |