diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-08-12 08:43:20 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-08-12 10:42:02 -0700 |
commit | 65d41fb015af0048347a25d0665bb1263eb982b0 (patch) | |
tree | efa5b7de962870e78e6e00ebee88d97670c57cd4 /gas/app.c | |
parent | 3fc9d4e2e5a90158f1506d84b3486da1c3529177 (diff) | |
download | fsf-binutils-gdb-65d41fb015af0048347a25d0665bb1263eb982b0.zip fsf-binutils-gdb-65d41fb015af0048347a25d0665bb1263eb982b0.tar.gz fsf-binutils-gdb-65d41fb015af0048347a25d0665bb1263eb982b0.tar.bz2 |
Revert "gas: drop scrubber states 14 and 15"
This reverts commit 7dd0dfbde7ee31167a3b2e192a575493d26b7b0a.
This is a prerequisite for the PR gas/32073 fix.
Diffstat (limited to 'gas/app.c')
-rw-r--r-- | gas/app.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -485,6 +485,12 @@ 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 @@ -771,6 +777,29 @@ 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 |