Boost logo

Boost :

From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2006-01-22 22:54:33


> Alberto Ganesh Barbati wrote:
>
> > However, if run into Wave, the program above produces the error
> > message:
> >
> > error: pasting the following two tokens does not give a valid
> > preprocessing token: "e" and "-"
> >
> > Who's right? I'd agree with Paul Mensonides, because "1e"
> is a valid
> > pp token which is to be formed before applying the ##
> operator. But my
> > understanding is quite limited in this area so I commit
> myself to the
> > Gurus.
>
> Paul is right and Wave is wrong. That's a known issue with
> Wave, it stems from the fact that Wave currently works on C++
> tokens, not pp-tokens as mandated by the Standard. This will
> be fixed in the future, when I change Wave to operate on
> pp-tokens, rescanning these into C++ tokens after
> preprocessing. If you need to preprocess this kind of
> constructs with Wave, you may want to use the --variadics
> command line option, allowing concatenation of unrelated tokens.

Wave now correctly recognizes pp-number tokens, which get converted to C++
tokens just before they get returned to the calling application. This fixes
a couple of known Wave preprocessing problems (I even enabled a couple of
additional tests failing so far).

Regards Hartmut


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk