UPDATE: My bad.
The original compiler feature detection on the test suite was broken/not
matching the correct libstdc++ versions.
Hence the emplace_back/emplace_front tests were not running.
Told you so :-P
However, it does surprise me that GCC doesn't check this code.
It's a dependent expr
On Tue, Jun 19, 2018 at 6:04 AM, Jonathan Wakely wrote:
> On Tue, 19 Jun 2018 at 01:30, Soul Studios wrote:
>>
>> >
>> > It's never called.
>> >
>> > I added a call to abort() to that function, and the tests all pass. So
>> > the function is never used, so GCC never compiles it and doesn't
>> > no
On Tue, 19 Jun 2018 at 01:30, Soul Studios wrote:
>
> >
> > It's never called.
> >
> > I added a call to abort() to that function, and the tests all pass. So
> > the function is never used, so GCC never compiles it and doesn't
> > notice that the return type is invalid. That's allowed by the
> > st
It's never called.
I added a call to abort() to that function, and the tests all pass. So
the function is never used, so GCC never compiles it and doesn't
notice that the return type is invalid. That's allowed by the
standard. The compiler is not required to diagnose ill-formed code in
uninstant
It's never called.
I added a call to abort() to that function, and the tests all pass. So
the function is never used, so GCC never compiles it and doesn't
notice that the return type is invalid. That's allowed by the
standard. The compiler is not required to diagnose ill-formed code in
uninstant
On Mon, 18 Jun 2018 at 12:09, Jonathan Wakely wrote:
>
> This is not the right place for bug reports. Please use the gcc-help
> list or Bugzilla.
>
> The most likely scenario is that GCC is performing an implicit
> conversion from pointer to some class type (like an iterator) and then
> converting
This is not the right place for bug reports. Please use the gcc-help
list or Bugzilla.
The most likely scenario is that GCC is performing an implicit
conversion from pointer to some class type (like an iterator) and then
converting that to a reference. Or the function template is not being
called.
In the following case GCC correctly throws an error since
simple_return_value is returning a pointer, not a reference:
"#include
int & simple_return_value(int &temp)
{
return &temp;
}
int main()
{
int temp = 42;
return simple_return_value(temp);
}"
However in deepl