From: Alexey Bakhvalov (bakhvalov_at_[hidden])
Date: 2005-11-23 03:13:52
>> Shouldn't Boost.Wave preprocess "11LL" into two tokens "11"
>> and "LL" if support for long long suffixes is disabled? In a
>> current version I get lexer error.
> Using the Wave tool on a file containing nothing but '11LL\n' I get:
> test.cpp(1): warning: long long suffixes are not allowed in pure C++ mode,
> enable long_long mode to allow these: 11LL
> Is that wrong?
It would be ok if Wave tool printed this warning and preprocessing continued
outputting two tokens '11' and 'LL'. Instead of this it throws
wave::cpplexer::lexing_exception and stops preprocessing as if '11LL' is
invalid character sequence.
'11LL' is in no way different from '11ABC' and the latter produces two
tokens as expected.
This kind of behavior leads to some problems. For example, you can't use
Boost.Wave for preprocessing many of the boost files without enabling
support for long long suffixes because boost/limit.hpp uses them (but they
are ifdef'ed away if you define some macroses).
>> Which version are you using?
>> Which compiler?
MSVC .Net 2005
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk