Boost logo

Boost Users :

From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2006-05-23 21:41:05


 
Andreas Sæbjørnsen wrote:

> Using the 'samples/cpp_tokens' example preprocessor with the
> following code:
> #define true 1
> #define false 0
> gives the following error:
>
> test.C(1): error: ill formed preprocessor directive: #define
>
> Preprocessing the same file with 'cpp' give no error. If any
> of the two lines in the file is removed the other line will
> cause an error. I guess the error occurs because 'true' is
> not an T_IDENTIFIER, but a T_TRUE. Could you imagine a clean
> fix to this issue?

You're right it's because T_TRUE and T_FALSE are not plain identifiers but
C++ keywords and the token category used by Wave does reflect that. This
problem additionally occurred at other places (such as #undef true) but all
of them are fixed in CVS now (CVS::HEAD and CVS::RELEASE_1_34). A
corresponding test case has been added.

Thanks for reporting!
Regards Hartmut


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net