diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1995-02-24 14:33:14 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1995-02-24 14:33:14 -0800 |
commit | f31093e26381d6cc132742f59a75ddb937910004 (patch) | |
tree | 9db219b4b0995f23af5cb8363c67011c9e9af472 | |
parent | 16bea517d3fb94ee93342b0b94f3474e9b3d4cd8 (diff) | |
download | gcc-f31093e26381d6cc132742f59a75ddb937910004.zip gcc-f31093e26381d6cc132742f59a75ddb937910004.tar.gz gcc-f31093e26381d6cc132742f59a75ddb937910004.tar.bz2 |
(GDB_INV_REF_REGPARM_STABS_LETTER): New macro.
(dbxout_parms): For gdb, output use GDB_INV_REF_REGPARM_STABS_LETTER
for parameters passed by invisible reference in registers.
From-SVN: r9063
-rw-r--r-- | gcc/dbxout.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 8cdf96f..7363b6f 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -112,6 +112,11 @@ extern int errno; #define DBX_REGPARM_STABS_LETTER 'P' #endif +/* This is used for parameters passed by invisible reference in a register. */ +#ifndef GDB_INV_REF_REGPARM_STABS_LETTER +#define GDB_INV_REF_REGPARM_STABS_LETTER 'a' +#endif + #ifndef DBX_MEMPARM_STABS_LETTER #define DBX_MEMPARM_STABS_LETTER 'p' #endif @@ -2200,7 +2205,10 @@ dbxout_parms (parms) /* Parm passed in registers and lives in registers or nowhere. */ current_sym_code = DBX_REGPARM_STABS_CODE; - regparm_letter = DBX_REGPARM_STABS_LETTER; + if (use_gnu_debug_info_extensions) + regparm_letter = GDB_INV_REF_REGPARM_STABS_LETTER; + else + regparm_letter = DBX_REGPARM_STABS_LETTER; /* DECL_RTL looks like (MEM (REG...). Get the register number. If it is an unallocated pseudo-reg, then use the register where @@ -2220,13 +2228,13 @@ dbxout_parms (parms) fprintf (asmfile, "%s \"%s:%c", ASM_STABS_OP, IDENTIFIER_POINTER (DECL_NAME (parms)), - DBX_REGPARM_STABS_LETTER); + regparm_letter); } else { current_sym_nchars = 8; fprintf (asmfile, "%s \"(anon):%c", ASM_STABS_OP, - DBX_REGPARM_STABS_LETTER); + regparm_letter); } dbxout_type (TREE_TYPE (parms), 0, 0); |