$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [config] [regression] Regression test failures due to compiler bugs -- your advice needed
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2015-01-21 16:14:47
On Thu, Jan 22, 2015 at 12:10 AM, Andrzej Krzemienski
<akrzemi1_at_[hidden]> wrote:
> 2015-01-21 21:56 GMT+01:00 Peter Dimov <lists_at_[hidden]>:
>>
>> An optional<T&> that fails silently for certain T's in a quite insidious
>> way on a wide array of popular compilers, including all versions of MSVC,
>> should perhaps be disabled for those T's outright, instead of the failures
>> being marked. Users do not consult the markup when using optional<> and
>> even if they did, optional<int const&> is most likely to occur in generic
>> code, not on its own. This will result in some very hard to track bugs.
>
> Are you saying that on a compiler where an operation on optional<T&> might
> give wrong run-time result, the operation should be disabled (render a
> compile-time error)? If so, I agree, and intend to do it at some point. But
> even then I should indicate somehow in regression tests that I expect
> different results in gcc and in msvc.
What kind of errors are we talking about? Does optional<T&> behave
plain wrong on MSVC or is there a misbehavior in some narrow case?
Does it compile invalid code, does it not compile valid one, or is
there a miscompilation?