* read.c (read_a_source_file): Reinstate TC_EQUAL_IN_INSN test.
authorCatherine Moore <clm@redhat.com>
Wed, 23 Feb 2005 02:44:18 +0000 (02:44 +0000)
committerCatherine Moore <clm@redhat.com>
Wed, 23 Feb 2005 02:44:18 +0000 (02:44 +0000)
* doc/internals.texi (TC_EQUAL_IN_INSN): Reinstate.

gas/ChangeLog
gas/doc/internals.texi
gas/read.c

index 6efebf6e1f19f7ba4945bdfb80faab06f08955db..fc664d4ca2ed84e1a57046676b45e6fee8059703 100644 (file)
@@ -1,3 +1,8 @@
+2005-02-22  Catherine Moore  <clm@cm00re.com>
+
+       * 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  <echristo@redhat.com>
 
        * config/tc-mips.c (struct proc): Change isym to
index 8cfd33ef99fc6d4d676d1d4b01197a67558ccc69..d9916705a61336188a7c190271ada7d96303dc81 100644 (file)
@@ -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
index 9ee8d498a1298752bf62b376a9d01ffb2875d2ad..3c5734b2230d47cadd8098a130b3adc8563b00c1 100644 (file)
@@ -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 ();