From fe0503eabfee54a8bf163c7d732519d8a27dcfc4 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 26 Jul 1999 09:25:29 +0000 Subject: [PATCH] Implement new macro: ASM_FPRINTF_EXTENSIONS From-SVN: r28263 --- gcc/ChangeLog | 7 +++++++ gcc/final.c | 14 ++++++++++++++ gcc/tm.texi | 13 +++++++++++++ 3 files changed, 34 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f9fd9f1dd98..2f9847c909b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Mon Jul 26 10:23:36 1999 Nick Clifton + + * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if + defined. + + * tm.texi: Document ASM_FPRINTF_EXTENSIONS. + Sun Jul 25 23:51:59 1999 Richard Henderson * i860.h (EXPAND_BUILTIN_SAVEREGS): New. diff --git a/gcc/final.c b/gcc/final.c index 0ed88a2cf6e..79a973e89a1 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3826,6 +3826,20 @@ asm_fprintf VPROTO((FILE *file, const char *p, ...)) fputs (user_label_prefix, file); break; +#ifdef ASM_FPRINTF_EXTENSIONS + /* Upper case letters are reserved for general use by asm_fprintf + and so are not available to target specific code. In order to + prevent the ASM_FPRINTF_EXTENSIONS macro from using them then, + they are defined here. As they get turned into real extensions + to asm_fprintf they should be removed from this list. */ + case 'A': case 'B': case 'C': case 'D': case 'E': + case 'F': case 'G': case 'H': case 'J': case 'K': + case 'M': case 'N': case 'P': case 'Q': case 'S': + case 'T': case 'V': case 'W': case 'Y': case 'Z': + break; + + ASM_FPRINTF_EXTENSIONS (file, argptr, p) +#endif default: abort (); } diff --git a/gcc/tm.texi b/gcc/tm.texi index 736ba4a2732..2641a9ded89 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -6230,6 +6230,19 @@ If defined, C string expressions to be used for the @samp{%R}, @samp{%L}, support multiple assembler formats. In that case, the various @file{tm.h} files can define these macros differently. +@item ASM_FPRINTF_EXTENSIONS(@var{file}, @var{argptr}, @var{format}) +@findex ASM_FPRINTF_EXTENSIONS +If defiend this macro should expand to a series of @code{case} +statements which will be parsed inside the @code{switch} statement of +the @code{asm_fprintf} function. This allows targets to define extra +printf formats which may useful when generating their assembler +statements. Noet that upper case letters are reserved for future +generic extensions to asm_fprintf, and so are not available to target +specific code. The output file is given by the parameter @var{file}. +The varargs input pointer is @var{argptr} and the rest of the format +string, starting the character after the one that is being switched +upon, is pointed to by @var{format}. + @findex ASSEMBLER_DIALECT @item ASSEMBLER_DIALECT If your target supports multiple dialects of assembler language (such as -- 2.30.2