aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-07-19 08:43:33 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-07-19 08:43:33 +0000
commit463a83844b73cfcd28ce691d9a387fbd8612c099 (patch)
treede24af1e8fcc0a06fc6f658222ad1e7d8a6b48e7 /gcc
parent7211928ac2ac34bb85d41fec331bde0982bcb4f2 (diff)
downloadgcc-463a83844b73cfcd28ce691d9a387fbd8612c099.zip
gcc-463a83844b73cfcd28ce691d9a387fbd8612c099.tar.gz
gcc-463a83844b73cfcd28ce691d9a387fbd8612c099.tar.bz2
Fix INTEL_SYNTAX output for i386 backend
From-SVN: r28170
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/final.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index abaeb42..e1e892a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Mon Jul 19 09:36:27 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * final.c (output_asm_insn): When searching for the matching string
+ for a given dialect, don't run past the end of the list of
+ alternatives if there are fewer alternatives in the template than
+ dialects.
+
1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
* gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
diff --git a/gcc/final.c b/gcc/final.c
index a9ae280..0ed88a2 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -3399,9 +3399,10 @@ output_asm_insn (template, operands)
DIALECT_NUMBER of strings ending with '|'. */
for (i = 0; i < dialect_number; i++)
{
- while (*p && *p++ != '|')
+ while (*p && *p != '}' && *p++ != '|')
;
-
+ if (*p == '}')
+ break;
if (*p == '|')
p++;
}