diff --git a/gcc/testsuite/g++.dg/cpp26/unevalstr1.C b/gcc/testsuite/g++.dg/cpp26/unevalstr1.C index 5317d696de8ea424dc8b807063a2831afa9875c0..478c5ee330da5d191e107bb1ac4f444ad54592b4 100644 --- a/gcc/testsuite/g++.dg/cpp26/unevalstr1.C +++ b/gcc/testsuite/g++.dg/cpp26/unevalstr1.C @@ -83,21 +83,57 @@ extern "\o{0103}" { int f14 (); } // { dg-error "numeric escape sequence in unev [[nodiscard ("\x{20}")]] int h19 (); // { dg-error "numeric escape sequence in unevaluated string" } [[nodiscard ("\h")]] int h20 (); // { dg-error "unknown escape sequence" } -float operator ""_my0 (const char *); -float operator "" ""_my1 (const char *); -float operator L""_my2 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator u""_my3 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator U""_my4 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator u8""_my5 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator L"" ""_my6 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator u"" ""_my7 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator U"" ""_my8 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator u8"" ""_my9 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator "" L""_my10 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator "" u""_my11 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator "" U""_my12 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator "" u8""_my13 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator "\0"_my14 (const char *); // { dg-error "expected empty string after 'operator' keyword" } -float operator "\x00"_my15 (const char *); // { dg-error "expected empty string after 'operator' keyword" } -float operator "\h"_my16 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "" _my0 (const char *); +float operator "" "" _my1 (const char *); +float operator L"" _my2 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u"" _my3 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U"" _my4 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u8"" _my5 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator L"" "" _my6 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u"" "" _my7 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U"" "" _my8 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u8"" "" _my9 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" L"" _my10 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" u"" _my11 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" U"" _my12 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" u8"" _my13 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "\0" _my14 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "\x00" _my15 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "\h" _my16 (const char *); // { dg-error "expected empty string after 'operator' keyword" } + // { dg-error "unknown escape sequence" "" { target *-*-* } .-1 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target *-*-* } .-18 } + +float operator ""_my20 (const char *); +float operator "" ""_my21 (const char *); +float operator L""_my22 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u""_my23 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U""_my24 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u8""_my25 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator L"" ""_my26 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u"" ""_my27 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U"" ""_my28 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u8"" ""_my29 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" L""_my30 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" u""_my31 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" U""_my32 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" u8""_my33 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "\0"_my34 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "\x00"_my35 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "\h"_my36 (const char *); // { dg-error "expected empty string after 'operator' keyword" } // { dg-error "unknown escape sequence" "" { target *-*-* } .-1 } diff --git a/gcc/testsuite/g++.dg/cpp26/unevalstr2.C b/gcc/testsuite/g++.dg/cpp26/unevalstr2.C index f719f25d6df8a8ecce5e9022d9b7477501877d07..f6b0025f71dc799569b44101f1889c2fa0dbf0c2 100644 --- a/gcc/testsuite/g++.dg/cpp26/unevalstr2.C +++ b/gcc/testsuite/g++.dg/cpp26/unevalstr2.C @@ -92,9 +92,9 @@ extern "\o{0103}" { int f14 (); } // { dg-warning "delimited escape sequences ar float operator "" _my0 (const char *); float operator "" "" _my1 (const char *); -float operator L"" _my2 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator u"" _my3 (const char *); // { dg-error "invalid encoding prefix in literal operator" } -float operator U"" _my4 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator L"" _my2 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u"" _my3 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U"" _my4 (const char *); // { dg-error "invalid encoding prefix in literal operator" } float operator u8"" _my5 (const char *); // { dg-error "invalid encoding prefix in literal operator" } float operator L"" "" _my6 (const char *); // { dg-error "invalid encoding prefix in literal operator" } float operator u"" "" _my7 (const char *); // { dg-error "invalid encoding prefix in literal operator" } @@ -108,3 +108,39 @@ float operator "\0" _my14 (const char *); // { dg-error "expected empty string a float operator "\x00" _my15 (const char *); // { dg-error "expected empty string after 'operator' keyword" } float operator "\h" _my16 (const char *); // { dg-error "expected empty string after 'operator' keyword" } // { dg-warning "unknown escape sequence" "" { target *-*-* } .-1 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } +// { dg-warning "space between quotes and suffix is deprecated" "" { target c++23 } .-18 } + +float operator ""_my20 (const char *); +float operator "" ""_my21 (const char *); +float operator L""_my22 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u""_my23 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U""_my24 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u8""_my25 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator L"" ""_my26 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u"" ""_my27 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator U"" ""_my28 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator u8"" ""_my29 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" L""_my30 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" u""_my31 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" U""_my32 (const char *); // { dg-error "invalid encoding prefix in literal operator" } +float operator "" u8""_my33 (const char *); // { dg-error "invalid encoding prefix in literal operator" "" { target c++20 } } +float operator "\0"_my34 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "\x00"_my35 (const char *); // { dg-error "expected empty string after 'operator' keyword" } +float operator "\h"_my36 (const char *); // { dg-error "expected empty string after 'operator' keyword" } + // { dg-warning "unknown escape sequence" "" { target *-*-* } .-1 }