1 // P2295R6 - Support for UTF-8 as a portable source file encoding
2 // This test intentionally contains various byte sequences which are not valid UTF-8
3 // { dg-do preprocess }
4 // { dg-options "-finput-charset=UTF-8 -pedantic-errors" }
6 // a߿ࠀ𐀀a { dg-bogus "invalid UTF-8 character" }
7 // a€a { dg-error "invalid UTF-8 character <80>" "" { target c++23 } }
8 // a¿a { dg-error "invalid UTF-8 character <bf>" "" { target c++23 } }
9 // aÀa { dg-error "invalid UTF-8 character <c0>" "" { target c++23 } }
10 // aÁa { dg-error "invalid UTF-8 character <c1>" "" { target c++23 } }
11 // aõa { dg-error "invalid UTF-8 character <f5>" "" { target c++23 } }
12 // aÿa { dg-error "invalid UTF-8 character <ff>" "" { target c++23 } }
13 // aÂa { dg-error "invalid UTF-8 character <c2>" "" { target c++23 } }
14 // aàa { dg-error "invalid UTF-8 character <e0>" "" { target c++23 } }
15 // aà€¿a { dg-error "invalid UTF-8 character <e0><80><bf>" "" { target c++23 } }
16 // aàŸ€a { dg-error "invalid UTF-8 character <e0><9f><80>" "" { target c++23 } }
17 // aà¿a { dg-error "invalid UTF-8 character <e0><bf>" "" { target c++23 } }
18 // aì€a { dg-error "invalid UTF-8 character <ec><80>" "" { target c++23 } }
19 // aa { dg-error "invalid UTF-8 character <ed><a0><80>" "" { target c++23 } }
20 // að€€€a { dg-error "invalid UTF-8 character <f0><80><80><80>" "" { target c++23 } }
21 // a�a { dg-error "invalid UTF-8 character <f0><8f><bf><bf>" "" { target c++23 } }
22 // aa { dg-error "invalid UTF-8 character <f4><90><80><80>" "" { target c++23 } }
23 // aa { dg-error "invalid UTF-8 character <fd><bf><bf><bf>" "" { target c++23 } }
24 // { dg-error "invalid UTF-8 character <bf>" "" { target c++23 } .-1 }
25 /* a߿ࠀ𐀀a { dg-bogus "invalid UTF-8 character" } */
26 /* a€a { dg-error "invalid UTF-8 character <80>" "" { target c++23 } } */
27 /* a¿a { dg-error "invalid UTF-8 character <bf>" "" { target c++23 } } */
28 /* aÀa { dg-error "invalid UTF-8 character <c0>" "" { target c++23 } } */
29 /* aÁa { dg-error "invalid UTF-8 character <c1>" "" { target c++23 } } */
30 /* aõa { dg-error "invalid UTF-8 character <f5>" "" { target c++23 } } */
31 /* aÿa { dg-error "invalid UTF-8 character <ff>" "" { target c++23 } } */
32 /* aÂa { dg-error "invalid UTF-8 character <c2>" "" { target c++23 } } */
33 /* aàa { dg-error "invalid UTF-8 character <e0>" "" { target c++23 } } */
34 /* aà€¿a { dg-error "invalid UTF-8 character <e0><80><bf>" "" { target c++23 } } */
35 /* aàŸ€a { dg-error "invalid UTF-8 character <e0><9f><80>" "" { target c++23 } } */
36 /* aà¿a { dg-error "invalid UTF-8 character <e0><bf>" "" { target c++23 } } */
37 /* aì€a { dg-error "invalid UTF-8 character <ec><80>" "" { target c++23 } } */
38 /* aa { dg-error "invalid UTF-8 character <ed><a0><80>" "" { target c++23 } } */
39 /* að€€€a { dg-error "invalid UTF-8 character <f0><80><80><80>" "" { target c++23 } } */
40 /* a�a { dg-error "invalid UTF-8 character <f0><8f><bf><bf>" "" { target c++23 } } */
41 /* aa { dg-error "invalid UTF-8 character <f4><90><80><80>" "" { target c++23 } } */
42 /* aa { dg-error "invalid UTF-8 character <fd><bf><bf><bf>" "" { target c++23 } } */
43 /* { dg-error "invalid UTF-8 character <bf>" "" { target c++23 } .-1 } */