On 13/08/2020 14:21, Daniele Nicolodi wrote:
> On 12/08/2020 21:09, Steve Kobes wrote:
>> beancount/parser/lexer.l(279): error C2059: syntax error: '{'
>> beancount/parser/lexer.l(279): error C2143: syntax error: missing ';'
>> before ')'beancount/parser/lexer.l(298): warning C4003: not enough
>> arguments for function-like macro invocation 'build_STR'
>> beancount/parser/lexer.l(298): error C2059: syntax error: ')'
>> beancount/parser/lexer.l(304): warning C4003: not enough arguments for
>> function-like macro invocation 'build_STRING'
>> beancount/parser/lexer.l(304): error C2059: syntax error: ','
> 
> This has not been reported before. The code compiles and the tests pass
> on Linux and macOS, thus I think there may be some other weirdness in
> the MSVC compiler. I'll have a look at this when I'll have a spare minute.
The only thing I can think about that may cause this, it the use of BOOL
as a lexer token name and thus as a enum value in the lexer. BOOL
actually appears some lines before the reported error location, but
somehow the compiler gets confused.

I don't know if there is an elegant way to fix this. At least I would
need to know which header included in lexer.l (and thus is the generated
lexer.[ch]) pulls in BaseTsd.h, WinDef.h, or WinNT.h (unfortunately
Microsoft documentation is not clear on which of those headers defines
BOOL).

If someone with access to Microsoft compiler can check this, I'll
implement a workaround.

Cheers,
Dan

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/f464cf10-c879-3ce3-98ec-edc09adaea4e%40grinta.net.

Reply via email to