
Hi Wolfgang,
On Tue, 19 Oct 2021 at 04:46, Wolfgang Denk wd@denx.de wrote:
Dear Simon,
In message CAPnjgZ15KavTBZoML7dv_EaRJMyJvbA=kmY3Bgz4AeygwEppuQ@mail.gmail.com you wrote:
Can we just ban + ?
Why? Just because your awk script is a lousy parser?
In the above, foo+ gives an unknown escape sequence from the C preprocessor, then the whole line is ignored by the script
Really?
-> cat foo.c #define A ampersand #define B berta
int foo = A + B ; -> gcc -E foo.c # 0 "foo.c" # 0 "<built-in>" # 0 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 0 "<command-line>" 2 # 1 "foo.c"
int foo = ampersand + berta ;
I do not see any such error message?
I thought you were trying to use + at the end of a variable.
I used:
fred+=aaa
and got
cc1: warning: unknown escape sequence: '=''
You can try it yourself by editing sandbox.env in the u-boot-dm/env-working tree.
foo+ = bar produes a variable called "foo+ " in the environment with the value " bar" so you probably don't want that.
This is only because your "parser" is very primitive and sensitive even to minimal white space changes.
Agreed.
My original motivation was the complexity of getting the env you want using #define
My current motivation is to complete the CONFIG migration, now in its 8th year.
I fully understand your motivation and appreciate your efforts.
OK, so what exactly is needed here? I can do the above tweaks and the cover letter, but what else?
Regards, Simon