Boost logo

Boost :

Subject: Re: [boost] [Config] Macros for the absence of a full C++11 <memory> implementation
From: John Maddock (boost.regex_at_[hidden])
Date: 2014-02-11 11:59:46


> This is a problem because the expectation for this file is to fail
> compilation when the macro ought to be set. However, it sometimes fails
> compilation (when std::addressof is not present at all), and sometimes
> fails at runtime (when std::addressof is present but doesn't pass the
> test, as in VC++12).
>
> And we don't have a rule for that. compile-fail always wants it to fail
> compilation; run-fail always wants it to compile/link and only then
> fail. I don't know how one can express "this test should fail at compile
> time or at run time" in Boost.Build.

No there are several tests that don't work quite right because there's
no opposite to "run" in Boost.Build.

Note that config_test.cpp will check runtime as well as compile time
fails: it's only the "full" tests which may not quite do the right thing
(these aren't run as part of the regression test suite - there mostly
there as a sanity check to see which macros *might* be unset in a new
compiler edition).

John.


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