
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?
Boost 1.33.1beta
Which compiler?
MSVC .Net 2005