Ovanes,
I have a question to you. I got a header file with an error. The content of a file looks like:
#ifndef SOME_GUARD #define SOME_GUARD
... some content
#endif SOME_GUARD
As you see #endif SOME_GUARD is wrong, standard defines that #endif is followed by a newline. Unfortunately wave threw an exception. Calling what member on the std::exception instance caught resulted in the string:
boost::wave::preprocess_exception
I spent some time to search where that happened and which line was guilty. Is there any way for you to write the file and line which caused the error?
I assume smth bad happens inside the wave lib, since I even can not compare curren and end iterator tokens.
Hmmmm, I simply feeded the following snippet to the wave applet #ifndef SOME_GUARD #define SOME_GUARD //... some content #endif SOME_GUARD and got:
wave t.cpp t.cpp:8:1: error: ill formed preprocessor directive: #endif SOME_GUARD t.cpp:9:1: error: detected at least one missing #endif directive
So the bottomline is: it works for me(tm) :-P What version of Wave are you using, what platform/compiler? Do you have a small test reproducing your problem? Regards Hartmut