aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2001-07-09 06:10:09 +0000
committerNeil Booth <neil@gcc.gnu.org>2001-07-09 06:10:09 +0000
commit17b53c33a29e8a50032a3d7b915cf1a7c0519670 (patch)
tree051781609cfb357e6e76424bb7bc1e771707544b /gcc/doc
parentb41df7f63cca6fda7f1c50780025018282a08504 (diff)
downloadgcc-17b53c33a29e8a50032a3d7b915cf1a7c0519670.zip
gcc-17b53c33a29e8a50032a3d7b915cf1a7c0519670.tar.gz
gcc-17b53c33a29e8a50032a3d7b915cf1a7c0519670.tar.bz2
final.c (output_addr_const): Use target opening and closing parentheses.
* final.c (output_addr_const): Use target opening and closing parentheses. * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN defaults, add to TARGET_ASM_OUT. * target.h (struct gcc_target): Add open_paren and close_paren. * doc/md.texi: Update. * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE, TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and TARGET_ASM_CLOSE_PAREN. config: * i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN): Override. * pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN): Override. * 1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove. * a29k/a29k.h: Similarly. * alpha/alpha.h: Similarly. * arc/arc.h: Similarly. * arm/aof.h: Similarly. * arm/aout.h: Similarly. * avr/avr.h: Similarly. * c4x/c4x.h: Similarly. * clipper/clipper.h: Similarly. * convex/convex.h: Similarly. * d30v/d30v.h: Similarly. * dsp16xx/dsp16xx.h: Similarly. * elxsi/elxsi.h: Similarly. * fr30/fr30.h: Similarly. * h8300/h8300.h: Similarly. * i370/i370.h: Similarly. * i386/i386.h: Similarly. * i860/i860.h: Similarly. * i960/i960.h: Similarly. * ia64/ia64.h: Similarly. * m32r/m32r.h: Similarly. * m68hc11/m68hc11.h: Similarly. * m68k/m68k.h: Similarly. * m88k/m88k.h: Similarly. * mcore/mcore.h: Similarly. * mips/mips.h: Similarly. * mn10200/mn10200.h: Similarly. * mn10300/mn10300.h: Similarly. * ns32k/ns32k.h: Similarly. * pa/pa.h: Similarly. * pdp11/pdp11.h: Similarly. * pj/pj.h: Similarly. * romp/romp.h: Similarly. * rs6000/rs6000.h: Similarly. * sh/sh.h: Similarly. * sparc/sparc.h: Similarly. * v850/v850.h: Similarly. * vax/vax.h: Similarly. * we32k/we32k.h: Similarly. From-SVN: r43856
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/md.texi6
-rw-r--r--gcc/doc/tm.texi34
2 files changed, 24 insertions, 16 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 06c8e3f..f1073aa 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -2900,25 +2900,27 @@ is to be used, and simple moves to @code{EH_RETURN_STACKADJ_RTX} and
@code{EH_RETURN_HANDLER_RTX} are not sufficient.
@cindex @code{prologue} instruction pattern
+@anchor{prologue instruction pattern}
@item @samp{prologue}
This pattern, if defined, emits RTL for entry to a function. The function
entry is responsible for setting up the stack frame, initializing the frame
pointer register, saving callee saved registers, etc.
Using a prologue pattern is generally preferred over defining
-@code{FUNCTION_PROLOGUE} to emit assembly code for the prologue.
+@code{TARGET_ASM_FUNCTION_PROLOGUE} to emit assembly code for the prologue.
The @code{prologue} pattern is particularly useful for targets which perform
instruction scheduling.
@cindex @code{epilogue} instruction pattern
+@anchor{epilogue instruction pattern}
@item @samp{epilogue}
This pattern, if defined, emits RTL for exit from a function. The function
exit is responsible for deallocating the stack frame, restoring callee saved
registers and emitting the return instruction.
Using an epilogue pattern is generally preferred over defining
-@code{FUNCTION_EPILOGUE} to emit assembly code for the prologue.
+@code{TARGET_ASM_FUNCTION_EPILOGUE} to emit assembly code for the epilogue.
The @code{epilogue} pattern is particularly useful for targets which perform
instruction scheduling or which have delay slots for their return instruction.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 37b84d7..1677ffd 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -3766,6 +3766,20 @@ or by a debugger, there is no reason why the stack layout used by GCC
need agree with that used by other compilers for a machine.
@end deftypefn
+@deftypefn {Target Hook} void TARGET_ASM_FUNCTION_END_PROLOGUE (FILE *@var{file})
+If defined, a function that outputs assembler code at the end of a
+prologue. This should be used when the function prologue is being
+emitted as RTL, and you have some extra assembler that needs to be
+emitted. @xref{prologue instruction pattern}.
+@end deftypefn
+
+@deftypefn {Target Hook} void TARGET_ASM_FUNCTION_BEGIN_EPILOGUE (FILE *@var{file})
+If defined, a function that outputs assembler code at the start of an
+epilogue. This should be used when the function epilogue is being
+emitted as RTL, and you have some extra assembler that needs to be
+emitted. @xref{epilogue instruction pattern}.
+@end deftypefn
+
@deftypefn {Target Hook} void TARGET_ASM_FUNCTION_EPILOGUE (FILE *@var{file}, HOST_WIDE_INT @var{size})
If defined, a function that outputs the assembler code for exit from a
function. The epilogue is responsible for restoring the saved
@@ -5965,22 +5979,14 @@ used as a logical line separator by the assembler.
If you do not define this macro, the default is that only
the character @samp{;} is treated as a logical line separator.
-
-
-@findex ASM_OPEN_PAREN
-@findex ASM_CLOSE_PAREN
-@item ASM_OPEN_PAREN
-@itemx ASM_CLOSE_PAREN
-These macros are defined as C string constants, describing the syntax
-in the assembler for grouping arithmetic expressions. The following
-definitions are correct for most assemblers:
-
-@example
-#define ASM_OPEN_PAREN "("
-#define ASM_CLOSE_PAREN ")"
-@end example
@end table
+@deftypevar {Target Hook} {const char *} TARGET_ASM_OPEN_PAREN
+@deftypevar {Target Hook} {const char *} TARGET_ASM_CLOSE_PAREN
+These target hooks are C string constants, describing the syntax in the
+assembler for grouping arithmetic expressions. If not overridden, they
+default to normal parentheses, which is correct for most assemblers.
+
These macros are provided by @file{real.h} for writing the definitions
of @code{ASM_OUTPUT_DOUBLE} and the like: