aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/romp/romp.h
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-06-23 07:56:43 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-06-23 07:56:43 -0400
commit0f21219f14b95beecc707b9ee2582a1dc646f1e1 (patch)
treec70570e2511d8ecd735b6cc509555f3a636977f2 /gcc/config/romp/romp.h
parentd1abe6021912c976f1fdcb9c42a41d936fa93b2c (diff)
downloadgcc-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.h29
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. */