public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v2 00/65] gas: whitespace handling
@ 2025-01-27 15:23 Jan Beulich
  2025-01-27 15:26 ` [PATCH v2 01/65] gas: consolidate whitespace recognition Jan Beulich
                   ` (66 more replies)
  0 siblings, 67 replies; 106+ messages in thread
From: Jan Beulich @ 2025-01-27 15:23 UTC (permalink / raw)
  To: Binutils

As per observations in target specific code there appears to be disagreement
across the assembler whether to check for specific characters (blank and tab
normally) or whether to use ISSPACE().

As agreed upon during the Cauldron in Prague, switch to a single base
construct for all code to use: is_whitespace().

It clearly is an alternative option to have is_whitespace() expand to
ISSPACE() or ISBLANK() (ISSPACE() also yields "true" for characters we don't
really consider whitespace), then (obviously) leaving out the last patch. See
also the CR_EOL uses in read.c and app.c. I think it is advisable though that
is_whitespace() and is_end_of_{line,stmt}() be non-overlapping; question then
is what (further) characters to tag as LEX_WHITE (see remarks in patch 01).

Along with recently (as of the v1 submission) committed work for x86 this
appears to be sufficient to actually use -f (or #NO_APP at start of file)
for gcc-generated code. I didn't properly check other architectures yet, but
I seem to recall that at least Arm32 and PPC would apparently require
compiler side adjustments, too.

01: consolidate whitespace recognition
02: gas/obj-*.c: use is_whitespace()
03: Alpha/EVAX: use is_whitespace() / is_end_of_stmt()
04: arc: use is_whitespace()
05: Arm: use is_whitespace()
06: aarch64: use is_whitespace()
07: avr: use is_whitespace()
08: bfin: use is_whitespace()
09: bpf: use is_whitespace()
10: CR16: use is_whitespace()
11: cris: use is_whitespace()
12: CRx: use is_whitespace()
13: C-Sky: use is_whitespace()
14: d10v: use is_whitespace()
15: d30v: use is_whitespace()
16: dlx: use is_whitespace()
17: Epiphany: use is_whitespace()
18: fr30: use is_whitespace()
19: ft32: use is_whitespace()
20: H8/300: use is_whitespace()
21: HP-PA: use is_whitespace()
22: kvx: use is_whitespace()
23: LoongArch: use is_whitespace()
24: m32c: use is_whitespace()
25: m32r: use is_whitespace()
26: M68HC1x: use is_whitespace()
27: M68k: use is_whitespace()
28: M*Core: use is_whitespace()
29: metag: use is_whitespace()
30: MicroBlaze: use is_whitespace()
31: MIPS: use is_whitespace()
32: MMIX: use is_whitespace()
33: mn10200: use is_whitespace()
34: mn10300: use is_whitespace()
35: Moxie: use is_whitespace()
36: msp430: use is_whitespace()
37: nds32: use is_whitespace()
38: NS32k: use is_whitespace()
39: PDP11: use is_whitespace()
40: PicoJava: use is_whitespace()
41: PPC: use is_whitespace()
42: pru: use is_whitespace()
43: RISC-V: use is_whitespace()
44: rl78: use is_whitespace()
45: rx: use is_whitespace()
46: s12z: use is_whitespace()
47: S/390: use is_whitespace()
48: Score: use is_whitespace()
49: SH: use is_whitespace()
50: Sparc: use is_whitespace()
51: spu: use is_whitespace()
52: C30: use is_whitespace()
53: C4x: use is_whitespace()
54: C54x: use is_whitespace()
55: C6x: use is_whitespace()
56: v850: use is_whitespace()
57: v850: use is_whitespace()
58: Visium: use is_whitespace()
59: wasm32: use is_whitespace()
60: x86: use is_whitespace()
61: xgate: use is_whitespace()
62: Xtensa: use is_whitespace()
63: Z80: use is_whitespace()
64: Z8k: use is_whitespace()
65: gas: suppress use of ISSPACE() / ISBLANK()

Jan

^ permalink raw reply	[flat|nested] 106+ messages in thread

end of thread, other threads:[~2025-02-10 22:17 UTC | newest]

Thread overview: 106+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-27 15:23 [PATCH v2 00/65] gas: whitespace handling Jan Beulich
2025-01-27 15:26 ` [PATCH v2 01/65] gas: consolidate whitespace recognition Jan Beulich
2025-01-31  6:02   ` Hans-Peter Nilsson
2025-01-31  8:36     ` Jan Beulich
2025-01-27 15:27 ` [PATCH v2 02/65] gas/obj-*.c: use is_whitespace() Jan Beulich
2025-01-27 15:43 ` [PATCH v2 03/65] Alpha/EVAX: use is_whitespace() / is_end_of_stmt() Jan Beulich
2025-01-27 15:44 ` [PATCH v2 04/65] arc: use is_whitespace() Jan Beulich
2025-01-27 15:50 ` [PATCH v2 05/65] Arm: " Jan Beulich
2025-01-27 16:31   ` Richard Earnshaw (lists)
2025-01-27 16:55     ` Jan Beulich
2025-01-27 17:05       ` Richard Earnshaw (lists)
2025-01-27 15:50 ` [PATCH v2 06/65] aarch64: " Jan Beulich
2025-01-27 16:31   ` Richard Earnshaw (lists)
2025-01-27 16:06 ` [PATCH v2 07/65] avr: " Jan Beulich
2025-01-27 16:07 ` [PATCH v2 08/65] bfin: " Jan Beulich
2025-01-27 16:08 ` [PATCH v2 09/65] bpf: " Jan Beulich
2025-01-28  9:21   ` Alan Modra
2025-01-28 10:31     ` Jan Beulich
2025-01-27 16:09 ` [PATCH v2 10/65] CR16: " Jan Beulich
2025-01-27 16:10 ` [PATCH v2 11/65] cris: " Jan Beulich
2025-01-27 16:22   ` Hans-Peter Nilsson
2025-01-27 16:12 ` [PATCH v2 12/65] CRx: " Jan Beulich
2025-01-27 16:13 ` [PATCH v2 13/65] C-Sky: " Jan Beulich
2025-01-27 16:14 ` [PATCH v2 14/65] d10v: " Jan Beulich
2025-01-27 16:14 ` [PATCH v2 15/65] d30v: " Jan Beulich
2025-01-27 16:15 ` [PATCH v2 16/65] dlx: " Jan Beulich
2025-01-27 16:16 ` [PATCH v2 17/65] Epiphany: " Jan Beulich
2025-01-27 16:17 ` [PATCH v2 18/65] fr30: " Jan Beulich
2025-01-27 16:19 ` [PATCH v2 19/65] ft32: " Jan Beulich
2025-01-27 16:20 ` [PATCH v2 20/65] H8/300: " Jan Beulich
2025-01-27 16:20 ` [PATCH v2 21/65] HP-PA: " Jan Beulich
2025-01-27 22:50   ` John David Anglin
2025-01-28  7:19     ` Jan Beulich
2025-01-28 18:19       ` John David Anglin
2025-01-27 16:21 ` [PATCH v2 22/65] kvx: " Jan Beulich
2025-01-31 12:34   ` Paul Iannetta
2025-01-27 16:22 ` [PATCH v2 23/65] LoongArch: " Jan Beulich
2025-01-27 16:23 ` [PATCH v2 24/65] m32c: " Jan Beulich
2025-01-27 16:23 ` [PATCH v2 25/65] m32r: " Jan Beulich
2025-01-27 16:24 ` [PATCH v2 26/65] M68HC1x: " Jan Beulich
2025-01-27 16:25 ` [PATCH v2 27/65] M68k: " Jan Beulich
2025-01-27 16:25 ` [PATCH v2 28/65] M*Core: " Jan Beulich
2025-01-27 16:26 ` [PATCH v2 29/65] metag: " Jan Beulich
2025-01-27 16:26 ` [PATCH v2 30/65] MicroBlaze: " Jan Beulich
2025-01-29 23:56   ` Michael Eager
2025-01-27 16:28 ` [PATCH v2 31/65] MIPS: " Jan Beulich
2025-02-03 14:07   ` Maciej W. Rozycki
2025-02-03 15:52     ` Jan Beulich
2025-02-03 17:50       ` Maciej W. Rozycki
2025-02-10 22:17         ` Maciej W. Rozycki
2025-01-27 16:28 ` [PATCH v2 32/65] MMIX: " Jan Beulich
2025-01-31  6:18   ` Hans-Peter Nilsson
2025-01-31  6:33   ` Hans-Peter Nilsson
2025-01-31  6:54     ` Jan Beulich
2025-01-31  7:05       ` Hans-Peter Nilsson
2025-02-03  6:54   ` Hans-Peter Nilsson
2025-02-03  7:30     ` Jan Beulich
2025-02-05  6:22       ` Hans-Peter Nilsson
2025-02-05  7:14         ` Jan Beulich
2025-01-27 16:29 ` [PATCH v2 33/65] mn10200: " Jan Beulich
2025-01-27 16:29 ` [PATCH v2 34/65] mn10300: " Jan Beulich
2025-02-07  6:55   ` Alexandre Oliva
2025-01-27 16:30 ` [PATCH v2 35/65] Moxie: " Jan Beulich
2025-01-27 16:31 ` [PATCH v2 36/65] msp430: " Jan Beulich
2025-01-27 16:31 ` [PATCH v2 37/65] nds32: " Jan Beulich
2025-01-27 16:32 ` [PATCH v2 38/65] NS32k: " Jan Beulich
2025-01-27 16:32 ` [PATCH v2 39/65] PDP11: " Jan Beulich
2025-01-27 16:33 ` [PATCH v2 40/65] PicoJava: " Jan Beulich
2025-01-27 16:33 ` [PATCH v2 41/65] PPC: " Jan Beulich
2025-01-27 22:36   ` Peter Bergner
2025-01-27 16:34 ` [PATCH v2 42/65] pru: " Jan Beulich
2025-01-27 16:34 ` [PATCH v2 43/65] RISC-V: " Jan Beulich
2025-01-27 16:35 ` [PATCH v2 44/65] rl78: " Jan Beulich
2025-01-27 16:35 ` [PATCH v2 45/65] rx: " Jan Beulich
2025-01-27 16:36 ` [PATCH v2 46/65] s12z: " Jan Beulich
2025-01-27 16:36 ` [PATCH v2 47/65] S/390: " Jan Beulich
2025-01-30  8:38   ` Jens Remus
2025-01-30  9:11     ` Jan Beulich
2025-01-27 16:37 ` [PATCH v2 48/65] Score: " Jan Beulich
2025-01-27 16:37 ` [PATCH v2 49/65] SH: " Jan Beulich
2025-02-07  6:54   ` Alexandre Oliva
2025-01-27 16:38 ` [PATCH v2 50/65] Sparc: " Jan Beulich
2025-01-27 16:38 ` [PATCH v2 51/65] spu: " Jan Beulich
2025-01-27 16:39 ` [PATCH v2 52/65] C30: " Jan Beulich
2025-01-27 16:40 ` [PATCH v2 53/65] C4x: " Jan Beulich
2025-01-27 16:40 ` [PATCH v2 54/65] C54x: " Jan Beulich
2025-01-27 16:41 ` [PATCH v2 55/65] C6x: " Jan Beulich
2025-01-27 16:42 ` [PATCH v2 56/65] v850: " Jan Beulich
2025-01-27 16:42 ` [PATCH v2 57/65] VAX: " Jan Beulich
2025-01-27 20:46   ` Jan-Benedict Glaw
2025-01-27 16:43 ` [PATCH v2 58/65] Visium: " Jan Beulich
2025-01-27 16:43 ` [PATCH v2 59/65] wasm32: " Jan Beulich
2025-01-27 16:44 ` [PATCH v2 60/65] x86: " Jan Beulich
2025-01-27 16:45 ` [PATCH v2 61/65] xgate: " Jan Beulich
2025-01-27 16:45 ` [PATCH v2 62/65] Xtensa: " Jan Beulich
2025-01-27 16:46 ` [PATCH v2 63/65] Z80: " Jan Beulich
2025-01-27 16:46 ` [PATCH v2 64/65] Z8k: " Jan Beulich
2025-01-30 10:16   ` Christian Groessler
2025-01-27 16:47 ` [PATCH v2 65/65] gas: suppress use of ISSPACE() / ISBLANK() Jan Beulich
2025-01-28  2:50 ` [PATCH v2 00/65] gas: whitespace handling Hans-Peter Nilsson
2025-01-28  7:40   ` Jan Beulich
2025-01-28 14:47     ` Richard Earnshaw (lists)
2025-01-28 15:00       ` Jan Beulich
2025-01-28 15:27         ` Richard Earnshaw (lists)
2025-01-28 15:25     ` Hans-Peter Nilsson
2025-01-28  9:59 ` Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).