From ee3c981485dea8e34e473f6bfaf1b1e8ed25f709 Mon Sep 17 00:00:00 2001 From: Catherine Moore Date: Wed, 23 Feb 2005 02:44:18 +0000 Subject: [PATCH] * read.c (read_a_source_file): Reinstate TC_EQUAL_IN_INSN test. * doc/internals.texi (TC_EQUAL_IN_INSN): Reinstate. --- gas/ChangeLog | 5 +++++ gas/doc/internals.texi | 8 ++++++++ gas/read.c | 10 +++++++--- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 6efebf6e1f1..fc664d4ca2e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-02-22 Catherine Moore + + * read.c (read_a_source_file): Reinstate TC_EQUAL_IN_INSN test. + * doc/internals.texi (TC_EQUAL_IN_INSN): Reinstate. + 2005-02-22 Eric Christopher * config/tc-mips.c (struct proc): Change isym to diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi index 8cfd33ef99f..d9916705a61 100644 --- a/gas/doc/internals.texi +++ b/gas/doc/internals.texi @@ -1024,6 +1024,14 @@ LABELS_WITHOUT_COLONS is defined. If you define this macro, GAS will not require pseudo-ops to start with a @kbd{.} character. +@item TC_EQUAL_IN_INSN +@cindex TC_EQUAL_IN_INSN +If you define this macro, it should return nonzero if the instruction is +permitted to contain an @kbd{=} character. GAS will call it with two +arguments, the character before the @kbd{=} character, and the value of +the string preceding the equal sign. GAS uses this macro to decide if a +@kbd{=} is an assignment or an instruction. + @item TC_EOL_IN_INSN @cindex TC_EOL_IN_INSN If you define this macro, it should return nonzero if the current input line diff --git a/gas/read.c b/gas/read.c index 9ee8d498a12..3c5734b2230 100644 --- a/gas/read.c +++ b/gas/read.c @@ -729,9 +729,13 @@ read_a_source_file (char *name) /* Input_line_pointer->after ':'. */ SKIP_WHITESPACE (); } - else if (c == '=' - || ((c == ' ' || c == '\t') - && input_line_pointer[1] == '=')) + else if ((c == '=' + || ((c == ' ' || c == '\t') + && input_line_pointer[1] == '=')) +#ifdef TC_EQUAL_IN_INSN + && !TC_EQUAL_IN_INSN (c, s) +#endif + ) { equals (s, 1); demand_empty_rest_of_line ();