Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-28 Thread Tim Shen via gcc-patches
On Tue, May 23, 2017 at 3:24 AM, Jonathan Wakely wrote: > On 22/05/17 16:14 -0400, Tim Song wrote: > Ah I see. > >> The original patch does that (assuming core issue 1227's resolution), >> but the __and_ version doesn't; __and_ only short circuits the >> immediate parameter, not things used in

Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-23 Thread Jonathan Wakely
On 22/05/17 16:14 -0400, Tim Song wrote: On Mon, May 22, 2017 at 9:21 AM, Jonathan Wakely wrote: On 19/05/17 22:40 -0700, Tim Shen via libstdc++ wrote: diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 0e04a820d69..b9824a5182c 100644

Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-22 Thread Tim Song
On Mon, May 22, 2017 at 4:14 PM, Tim Song wrote: > assuming core issue 1227's resolution Actually, 1227 doesn't touch default template arguments :( OTOH, the paragraph dealing with default template arguments seems to be full of issues - it says "invalid type" rather than

Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-22 Thread Tim Song
On Mon, May 22, 2017 at 9:21 AM, Jonathan Wakely wrote: > On 19/05/17 22:40 -0700, Tim Shen via libstdc++ wrote: >> >> diff --git a/libstdc++-v3/include/std/variant >> b/libstdc++-v3/include/std/variant >> index 0e04a820d69..b9824a5182c 100644 >> ---

Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-22 Thread Tim Shen via gcc-patches
On Mon, May 22, 2017 at 11:05 AM, Tim Shen wrote: > On Mon, May 22, 2017 at 6:21 AM, Jonathan Wakely wrote: > I suggest to cc a front-end person (Jason?) to take a look, as I > suggested in the bug, and the example: https://godbolt.org/g/AxUv16. See more

Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-22 Thread Tim Shen via gcc-patches
On Mon, May 22, 2017 at 6:21 AM, Jonathan Wakely wrote: > On 19/05/17 22:40 -0700, Tim Shen via libstdc++ wrote: >> >> diff --git a/libstdc++-v3/include/std/variant >> b/libstdc++-v3/include/std/variant >> index 0e04a820d69..b9824a5182c 100644 >> ---

Re: [Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-22 Thread Jonathan Wakely
On 19/05/17 22:40 -0700, Tim Shen via libstdc++ wrote: diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 0e04a820d69..b9824a5182c 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -936,9 +936,9 @@

[Patch] SFINAE on is_same first in variant's _Tp&& constructor

2017-05-19 Thread Tim Shen via gcc-patches
This fixes PR libstdc++/80737. I actually can't come up with a minimal test case, because I suspect that there is a front-end bug in GCC. See discussions in the bug. Tested on x86_64-linux-gnu. Thanks! -- Regards, Tim Shen commit 6f362991f025069328c4901d95b657d498aad250 Author: Tim Shen