Boost logo

Boost :

Subject: Re: [boost] [preprocessor] Sequences vs. All Other Data Structures
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2012-04-24 04:38:52

> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Stephan T.
> Lavavej
> Sent: Tuesday, April 24, 2012 5:22 AM
> To: boost_at_[hidden]
> Subject: Re: [boost] [preprocessor] Sequences vs. All Other Data Structures
> [Paul Mensonides]
> > It isn't that. VC++ doesn't even implement the preprocessor correctly
> > for C89. Essentially, the macro expansion algorithm appears to be
> > fundamentally broken. One small example:
> > #define A() 123
> > #define B() ()
> > A B() // should expand to A() (and does) #define C() A B()
> > C() // should *still* expand to A() (but instead expands to 123)
> I have filed this as DevDiv#407151 "VC's preprocessor considered harmful (to Boost.Preprocessor)"
in our
> internal database, including a copy of your entire mail.
> If it were within my power to fix this for you, I would - but I am not a compiler dev.

Steven's action seems helpful as he can be.

Paul Mensonides obviously feels strongly about this, but to many this may seem an obscure language

Paul explains why it is not just a minor detail and causing a lot of downstream grief.

(But I haven't understood if there will be grief from existing macro code if the Microsoft fix it?
Is this the reason or their lack of enthusiasm?)

Is there anything Boost can do to support Paul (and Steven) by sending a collective message to
Microsoft, lest they dismiss this as one man's rant?


Paul A. Bristow,
Prizet Farmhouse, Kendal LA8 8AB  UK
+44 1539 561830  07714330204

Boost list run by bdawes at, gregod at, cpdaniel at, john at