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 <[email protected]>:
> 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;
}