diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-06-23 07:56:43 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-06-23 07:56:43 -0400 |
commit | 0f21219f14b95beecc707b9ee2582a1dc646f1e1 (patch) | |
tree | c70570e2511d8ecd735b6cc509555f3a636977f2 /gcc/config/romp/romp.h | |
parent | d1abe6021912c976f1fdcb9c42a41d936fa93b2c (diff) | |
download | gcc-0f21219f14b95beecc707b9ee2582a1dc646f1e1.zip gcc-0f21219f14b95beecc707b9ee2582a1dc646f1e1.tar.gz gcc-0f21219f14b95beecc707b9ee2582a1dc646f1e1.tar.bz2 |
(DBX_REGPARM_STABS_LETTER, DEBUGGER_{AUTO,ARG}_OFFSET): New macros.
From-SVN: r4718
Diffstat (limited to 'gcc/config/romp/romp.h')
-rw-r--r-- | gcc/config/romp/romp.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/gcc/config/romp/romp.h b/gcc/config/romp/romp.h index e1bfcfb..c81a60d 100644 --- a/gcc/config/romp/romp.h +++ b/gcc/config/romp/romp.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for ROMP chip. - Copyright (C) 1989, 1991 Free Software Foundation, Inc. + Copyright (C) 1989, 1991, 1993 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@nyu.edu) This file is part of GNU CC. @@ -1193,6 +1193,33 @@ struct rt_cargs {int gregs, fregs; }; /* This is BSD, so it wants DBX format. */ #define DBX_DEBUGGING_INFO +/* Define the letter code used in a stabs entry for parameters passed + with the register attribute. + + GCC's default value, 'P', is used by dbx to refers to an external + procedure. The section 5 manual page for dbx implies that 'R' would be the + right letter, but dbx 1.5 has a bug in it that precludes its use. + Probably that is why neither hc or pcc use this. pcc puts in two + stabs entries: one for the parameter location and one for the register + location. The letter `r' (register) + would be okay, but it loses parameter attribute of the stabs entry. */ +#define DBX_REGPARM_STABS_LETTER 'R' + +/* A C expression for the integer offset value of an automatic variable + (N_LSYM) having address X (an RTX). This gets used in .stabs entries + for the local variables. Compare with the default definition. */ +extern int romp_debugger_auto_correction(); +#define DEBUGGER_AUTO_OFFSET(X) \ + (GET_CODE (X) == PLUS \ + ? romp_debugger_auto_correction (INTVAL (XEXP (X, 1)) ) \ + : 0 ) + +/* A C expression for the integer offset value of an argument (N_PSYM) + having address X (an RTX). The nominal offset is OFFSET. */ +extern int romp_debugger_arg_correction(); +#define DEBUGGER_ARG_OFFSET(OFFSET, X) \ + romp_debugger_arg_correction (OFFSET); + /* We don't have GAS for the RT yet, so don't write out special .stabs in cc1plus. */ |