Boost logo

Boost-Build :

Subject: Re: [Boost-build] [requires] cxx11_variadic_macros
From: Raffi Enficiaud (raffi.enficiaud_at_[hidden])
Date: 2015-10-15 17:48:16


Le 15/10/15 07:37, Jürgen Hunold a écrit :
> [snip]
>
> The test are explicit, you have to run (in libs/config/checks)
>
> b2 cxx11_variadic_macros -a gcc-4.2~arm
> b2 cxx11_variadic_macros -a clang
>
> My arm cross-compiler fails, clang in c++11 mode succeeds.

If think this really tests the variadic macro support, not conditioned
by the dialect (not C++11 specific).

>
>> Compiling a simple example using variadic macros using C++03 dialect
>> works (for this compiler). So the "cxx11_variadic_macros : yes" is kind
>> of correct, even if we are not in the C++11 dialect (?).
>
> That might be the case. Use the clang docs or search for it. There should be
> something on the net...

My question was more on the meaning of cx11_xxx: I am running a code
that is not cx11, the compiler has intrinsic support for variadic
macros, why would the feature cx11 be active then (not C++11)?
So it is more feature_variadic_macros than cxx11_variadic_macros.

The doc on variadic macros is almost non existent, and the clang doc
mostly refers to gcc's doc.

>
>>> C++11 variadic macros should not be enabled with "-std=c++03". The
>>> question is if the detection report "true" if only C99 variadic macros
>>> are available.
>> That is the funny thing. Should this say no to any cxx11_XXXX feature
>> compiled in C++03?
>
> Some compilers (I think gcc, too) default to C99 in c++03 mode. And clang is
> most possibly mimicking this...

Apparently yes. I was then surprised by the number of warnings that were
generated, but it turned out to be some of boost.test compilation
options (now fixed).

> Hope this helps,

Thanks!
Raffi


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk