[binutils-gdb] gas: drop scrubber states 14 and 15

Jan Beulich jbeulich@sourceware.org
Fri Aug 9 10:00:39 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7dd0dfbde7ee31167a3b2e192a575493d26b7b0a

commit 7dd0dfbde7ee31167a3b2e192a575493d26b7b0a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 9 12:00:26 2024 +0200

    gas: drop scrubber states 14 and 15
    
    While sadly 5262831592fb doesn't say anything on why these would have
    been needed, the latest with the removal of most of the opcode vs
    operands distinction in the scrubber these shouldn't be needed anymore.
    The implementation was a little questionable anyway, in moving back to
    states expecting labels, when clearly labels shouldn't really be
    following predicates (in practice, due to another bug, at least ia64
    permits such).

Diff:
---
 gas/app.c             | 29 -----------------------------
 gas/config/tc-ia64.h  |  3 ---
 gas/config/tc-tic6x.h |  2 --
 3 files changed, 34 deletions(-)

diff --git a/gas/app.c b/gas/app.c
index b88b4c96137..a47276e4816 100644
--- a/gas/app.c
+++ b/gas/app.c
@@ -485,12 +485,6 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
 	 13: After seeing a vertical bar, looking for a second
 	     vertical bar as a parallel expression separator.
 #endif
-#ifdef TC_PREDICATE_START_CHAR
-	 14: After seeing a predicate start character at state 0, looking
-	     for a predicate end character as predicate.
-	 15: After seeing a predicate start character at state 1, looking
-	     for a predicate end character as predicate.
-#endif
 #ifdef TC_Z80
 	 16: After seeing an 'a' or an 'A' at the start of a symbol
 	 17: After seeing an 'f' or an 'F' in state 16
@@ -777,29 +771,6 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
       /* flushchar: */
       ch = GET ();
 
-#ifdef TC_PREDICATE_START_CHAR
-      if (ch == TC_PREDICATE_START_CHAR && (state == 0 || state == 1))
-	{
-	  state += 14;
-	  PUT (ch);
-	  continue;
-	}
-      else if (state == 14 || state == 15)
-	{
-	  if (ch == TC_PREDICATE_END_CHAR)
-	    {
-	      state -= 14;
-	      PUT (ch);
-	      ch = GET ();
-	    }
-	  else
-	    {
-	      PUT (ch);
-	      continue;
-	    }
-	}
-#endif
-
     recycle:
 
 #if defined TC_ARM && defined OBJ_ELF
diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h
index 8ab05373f6e..665272adde3 100644
--- a/gas/config/tc-ia64.h
+++ b/gas/config/tc-ia64.h
@@ -78,9 +78,6 @@ extern const char *ia64_target_format (void);
 #define LEX_QM		(LEX_NAME|LEX_BEGIN_NAME) /* allow `?' inside name */
 #define LEX_HASH	LEX_END_NAME	/* allow `#' ending a name */
 
-#define TC_PREDICATE_START_CHAR '('
-#define TC_PREDICATE_END_CHAR ')'
-
 extern const char ia64_symbol_chars[];
 #define tc_symbol_chars ia64_symbol_chars
 
diff --git a/gas/config/tc-tic6x.h b/gas/config/tc-tic6x.h
index 0b4223961e9..f21673e2d36 100644
--- a/gas/config/tc-tic6x.h
+++ b/gas/config/tc-tic6x.h
@@ -24,8 +24,6 @@
 #define DOUBLEBAR_PARALLEL
 #define DWARF2_LINE_MIN_INSN_LENGTH 2
 #define MD_APPLY_SYM_VALUE(FIX) 0
-#define TC_PREDICATE_START_CHAR '['
-#define TC_PREDICATE_END_CHAR ']'
 /* For TI C6X, we keep spaces in what the preprocessor considers
    operands as they may separate functional unit specifiers from
    operands.  */


More information about the Binutils-cvs mailing list