c++: robustify testcase [PR109752]
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / udlit-char-template-sfinae.C
blobb523858e9c0934675d60ab2869e6c9035d1a7dff
1 // { dg-do run { target c++14 } }
2 // { dg-options -w }
4 #include <cassert>
6 template<bool, typename _Tp = void>struct enable_if {};
7 template<typename _Tp> struct enable_if<true, _Tp> { typedef _Tp type; };
10 template<typename CharT, CharT... String>
11 typename enable_if<sizeof...(String) == 6, int>::type operator"" _script () {
12   return 5;
15 template<typename CharT, CharT... String>
16 typename enable_if<sizeof...(String) == 3, int>::type operator"" _script () {
17   return 3;
20 template<typename CharT, CharT... String>
21 typename enable_if<sizeof...(String) != 3 && sizeof...(String) != 6, int>::type operator"" _script () {
22   return 1;
25 int main ()
27   assert ("hello!"_script == 5);
28   assert (u8"hi!"_script == 3);
29   assert ("hey!"_script == 1);