diff mbox

PR64959: SFINAE in UDLs

Message ID CAGqc0-pDdVRL_ONBQLZQ5=Si+RM8XnJkG+e2Kv+yupdx6kEKzw@mail.gmail.com
State New
Headers show

Commit Message

Andrea Azzarone Feb. 13, 2015, 10:21 p.m. UTC
We can use the same trick used in the other tests. Patch attached.
Sorry about that!

2015-02-13 20:45 GMT+01:00 Jakub Jelinek <jakub@redhat.com>:
> On Wed, Feb 11, 2015 at 12:26:33AM +0100, Andrea Azzarone wrote:
>>     * gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C:
>
> This fails on i686-linux:
>
> FAIL: g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C  -std=c++14 (test for excess errors)
> Excess errors: /home/jakub/src/gcc/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C:10:51: error: 'int operator""_script(const char*, long unsigned int)' has invalid argument list
>
> Perhaps you meant to #include <cstddef> too and use
> size_t instead of unsigned long?  Or just __SIZE_TYPE__ instead
> of unsigned long?
>
>         Jakub

Comments

Alex Velenko Feb. 18, 2015, 6:29 p.m. UTC | #1
On 13/02/15 22:21, Andrea Azzarone wrote:
> We can use the same trick used in the other tests. Patch attached.
> Sorry about that!
>
> 2015-02-13 20:45 GMT+01:00 Jakub Jelinek <jakub@redhat.com>:
>> On Wed, Feb 11, 2015 at 12:26:33AM +0100, Andrea Azzarone wrote:
>>>      * gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C:
>>
>> This fails on i686-linux:
>>
>> FAIL: g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C  -std=c++14 (test for excess errors)
>> Excess errors: /home/jakub/src/gcc/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C:10:51: error: 'int operator""_script(const char*, long unsigned int)' has invalid argument list
>>
>> Perhaps you meant to #include <cstddef> too and use
>> size_t instead of unsigned long?  Or just __SIZE_TYPE__ instead
>> of unsigned long?
>>
>>          Jakub
>
>
>


Hi,
this patch also fixes issues for arm-none-eabi.
Could someone add this patch?
Kind regards,
Alex.
Jakub Jelinek Feb. 18, 2015, 6:30 p.m. UTC | #2
On Wed, Feb 18, 2015 at 06:29:34PM +0000, Alex Velenko wrote:
> this patch also fixes issues for arm-none-eabi.
> Could someone add this patch?

ENOPATCH

	Jakub
Alex Velenko Feb. 19, 2015, 1:35 p.m. UTC | #3
On 18/02/15 18:30, Jakub Jelinek wrote:
> On Wed, Feb 18, 2015 at 06:29:34PM +0000, Alex Velenko wrote:
>> this patch also fixes issues for arm-none-eabi.
>> Could someone add this patch?
>
> ENOPATCH
>
> 	Jakub
>
Hi Jakub,
I meant Andrea Azzarone's patch in the previous e-mail. It has not been 
added yet.
Kind regards,
Alex
Jakub Jelinek Feb. 19, 2015, 1:46 p.m. UTC | #4
On Fri, Feb 13, 2015 at 11:21:26PM +0100, Andrea Azzarone wrote:
> We can use the same trick used in the other tests. Patch attached.
> Sorry about that!

Thanks.
I wrote a ChangeLog entry for this and committed.

	Jakub
diff mbox

Patch

Index: gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
===================================================================
--- gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C	(revision 220698)
+++ gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C	(working copy)
@@ -2,12 +2,14 @@ 
 
 #include <cassert>
 
+typedef decltype(sizeof(0)) size_type;
+
 template<typename CharT, CharT... String>
 int operator"" _script () {
   return 1;
 }
 
-int operator"" _script (const char*, unsigned long) {
+int operator"" _script (const char*, size_type) {
   return 2;
 }