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 <ja...@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 -- Andrea Azzarone http://launchpad.net/~andyrock http://wiki.ubuntu.com/AndreaAzzarone
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; }