Re: [PATCH] PR libstdc++/80939 Remove unmeetable constexpr specifiers

2017-06-10 Thread Tim Song
On Fri, Jun 2, 2017 at 9:07 AM, Jonathan Wakely wrote: > we aren't qualifying calls to __ref_cast, Turns out this is fine. I somehow managed to completely misread the last sentence of [basic.lookup.argdep]/2. It's talking about the case where an argument to the call is a set

Re: [PATCH] PR libstdc++/80939 Remove unmeetable constexpr specifiers

2017-06-05 Thread Jonathan Wakely
On 02/06/17 12:19 -0700, Tim Shen wrote: On Fri, Jun 2, 2017 at 6:07 AM, Jonathan Wakely wrote: As the PR points out, we aren't qualifying calls to __ref_cast, and have 'constexpr' on function templates that can never be usable in constant expressions. Apology for the constexpr trolling, but

Re: [PATCH] PR libstdc++/80939 Remove unmeetable constexpr specifiers

2017-06-02 Thread Tim Song
On Fri, Jun 2, 2017 at 3:19 PM, Tim Shen wrote: > On Fri, Jun 2, 2017 at 6:07 AM, Jonathan Wakely wrote: >> As the PR points out, we aren't qualifying calls to __ref_cast, and >> have 'constexpr' on function templates that can never be usable in >> constant expressions. > >

Re: [PATCH] PR libstdc++/80939 Remove unmeetable constexpr specifiers

2017-06-02 Thread Tim Shen via gcc-patches
On Fri, Jun 2, 2017 at 6:07 AM, Jonathan Wakely wrote: > As the PR points out, we aren't qualifying calls to __ref_cast, and > have 'constexpr' on function templates that can never be usable in > constant expressions. Apology for the constexpr trolling, but that was not intentional. :) I'm

[PATCH] PR libstdc++/80939 Remove unmeetable constexpr specifiers

2017-06-02 Thread Jonathan Wakely
As the PR points out, we aren't qualifying calls to __ref_cast, and have 'constexpr' on function templates that can never be usable in constant expressions. This fixes it, and also simplifies __variant::__erased_dtor by using std::_Destroy, although that requires including quite a lot more code,