Boost logo

Boost :

From: Vesa Karvonen (vesa.karvonen_at_[hidden])
Date: 2002-01-03 06:01:23


From: "Jens Maurer" <Jens.Maurer_at_[hidden]>
> Vesa Karvonen wrote:
[...]
> Have you reported all the bugs that you found to the respective vendors?

After I've constructed minimal tests to reveal the preprocessor bugs, I will
submit bug reports. Unfortunately I don't have access to all the buggy
compilers. Searching the online bug database of a particular compiler vendor,
I couldn't find a description of a preprocessor bug that would explain the
preprocessor behaviour.

> > Alternatively, I'm considering the possibility of using
> > BOOST_NO[_COMPILER]_CONFIG to disable workarounds for buggy compilers (at
> > library author's discretion).
[...]
> Note, however, that some libraries use something like __BORLANDC__
> directly, so BOOST_NO_CONFIG wouldn't exactly help those.

I meant that workarounds could be disabled like this:

#if !defined(BOOST_NO_COMPILER_CONFIG) &&\
  defined(__MWERKS__) && __MWERKS__ <= 0x2406
// This is a workaround for a CodeWarrior PP bug. Strictly speaking
// this workaround invokes undefined behavior, but it works as desired.
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T)\
     BOOST_PP_TUPLE##N##_ELEM##I##T
#else
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T)\
     BOOST_PP_IDENTITY(BOOST_PP_TUPLE##N##_ELEM##I T)()
#endif

> > Running the regression tests with a config for a
> > fully standards compliant compiler, the regression test suite could be
used
> > for conformance testing and the results could be posted on the Boost site.
>
> I'd be happy to do so (a separate HTML page) for the Unix platform
> test results that I maintain.

It would be interesting to see the results.

> I'm all in favor of having a BOOST_CONFIG_PREPROCESSOR_BUGGY config
> item with an appropriate test, however. This would solve the
> "conformance test" issue. (Or several, with _BUGGY replace by
> appropriate verbiage for each specific bug.)

"BUGGY" is too specific, but I don't have a list of all known preprocessor
bugs yet.

> > [...]concise conformance tests could also be very useful for
> > compiler vendors for regression testing[...]
> Boost.Config, in particular the detailed tests in libs/config/test, should
> solve that issue, I think.

Yes, I agree. I'll write the preprocessor conformance tests so that they can
be integrated to Boost.Config.


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