aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1999-07-26 09:25:29 +0000
committerNick Clifton <nickc@gcc.gnu.org>1999-07-26 09:25:29 +0000
commitfe0503eabfee54a8bf163c7d732519d8a27dcfc4 (patch)
treeb7395c97a560b76f177f33a1a66b8a45d4f1100e /gcc
parenta7a64a77ef33be210374003a0b84dd8d60f75a49 (diff)
downloadgcc-fe0503eabfee54a8bf163c7d732519d8a27dcfc4.zip
gcc-fe0503eabfee54a8bf163c7d732519d8a27dcfc4.tar.gz
gcc-fe0503eabfee54a8bf163c7d732519d8a27dcfc4.tar.bz2
Implement new macro: ASM_FPRINTF_EXTENSIONS
From-SVN: r28263
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/final.c14
-rw-r--r--gcc/tm.texi13
3 files changed, 34 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f9fd9f1..2f9847c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
+
+ * 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 <rth@cygnus.com>
* i860.h (EXPAND_BUILTIN_SAVEREGS): New.
diff --git a/gcc/final.c b/gcc/final.c
index 0ed88a2..79a973e 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 736ba4a..2641a9d 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