aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-10-06 21:46:49 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-10-06 21:46:49 -0400
commit7be2640ddbc65bfc504351af589d0ba84e50d4f4 (patch)
tree5a08bf6a86c6804e2e2c8f886def27b21b717d88
parent19d76e60032abd265bc9a5f6daf7dcf39a03e725 (diff)
downloadgcc-7be2640ddbc65bfc504351af589d0ba84e50d4f4.zip
gcc-7be2640ddbc65bfc504351af589d0ba84e50d4f4.tar.gz
gcc-7be2640ddbc65bfc504351af589d0ba84e50d4f4.tar.bz2
(asm_fprintf): Add cases for 'w' and 'l'.
From-SVN: r5653
-rw-r--r--gcc/final.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 7541c18..5958ead 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -2675,6 +2675,27 @@ asm_fprintf (va_alist)
fprintf (file, buf, va_arg (argptr, int));
break;
+ case 'w':
+ /* This is a prefix to the 'd', 'i', 'u', 'x', 'p', and 'X' cases,
+ but we do not check for those cases. It means that the value
+ is a HOST_WIDE_INT, which may be either `int' or `long'. */
+
+#if HOST_BITS_PER_WIDE_INT != HOST_BITS_PER_INT
+ *q++ = 'l';
+#endif
+
+ *q++ = *p++;
+ *q = 0;
+ fprintf (file, buf, va_arg (argptr, HOST_WIDE_INT));
+ break;
+
+ case 'l':
+ *q++ = c;
+ *q++ = *p++;
+ *q = 0;
+ fprintf (file, buf, va_arg (argptr, long));
+ break;
+
case 'e':
case 'f':
case 'g':