Using .macro argument in .error message?
Jan Beulich
jbeulich@suse.com
Wed Jun 10 09:27:13 GMT 2026
On 07.06.2026 21:16, Georg-Johann Lay via Binutils wrote:
> Test case err.sx:
>
> .macro Test data
> .if \data < 0
> .error "value \data is negative"
> .endif
> .endm
>
> Test -1
>
>
> $ avr-as err.sx -v
> GNU assembler version 2.45.50 (avr) using BFD version (GNU Binutils)
> 2.45.50.20250718
> err.sx: Assembler messages:
> err.sx: Warning: unknown escape '\d' in string; ignored
> err.sx:3: Error: value -1 is negative
> err.sx:7: Info: macro invoked from here
>
> While the printed error message is as expected, there is a spurious
> warning about using \d in the string.
>
> What am I missing?
>
> As far as I understand, the .error message /must/ be "-quoted.
Indeed. But AVR is one of the few targets which enable this extra
warning. Why that is or whether it could be changed requires AVR
knowledge, which I don#t have. There's also a surprising set of
characters for which the warning would never appear. I don't know
the history of that set, but it feels pretty arbitrary.
Jan
More information about the Binutils
mailing list