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" }
7 I(߿ࠀ𐀀) // { dg-bogus "invalid UTF-8 character" }
8 // { dg-error "is not valid in an identifier" "" { target *-*-* } .-1 }
9 I(€) // { dg-error "invalid UTF-8 character '<80>'" "" { target c++23 } }
10 I(¿) // { dg-error "invalid UTF-8 character '<bf>'" "" { target c++23 } }
11 I(À) // { dg-error "invalid UTF-8 character '<c0>'" "" { target c++23 } }
12 I(Á) // { dg-error "invalid UTF-8 character '<c1>'" "" { target c++23 } }
13 I(õ) // { dg-error "invalid UTF-8 character '<f5>'" "" { target c++23 } }
14 I(ÿ) // { dg-error "invalid UTF-8 character '<ff>'" "" { target c++23 } }
15 I(Â) // { dg-error "invalid UTF-8 character '<c2>'" "" { target c++23 } }
16 I(à) // { dg-error "invalid UTF-8 character '<e0>'" "" { target c++23 } }
17 I(à€¿) // { dg-error "invalid UTF-8 character '<e0><80><bf>'" "" { target c++23 } }
18 I(àŸ€) // { dg-error "invalid UTF-8 character '<e0><9f><80>'" "" { target c++23 } }
19 I(à¿) // { dg-error "invalid UTF-8 character '<e0><bf>'" "" { target c++23 } }
20 I(ì€) // { dg-error "invalid UTF-8 character '<ec><80>'" "" { target c++23 } }
21 I() // { dg-error "invalid UTF-8 character '<ed><a0><80>'" "" { target c++23 } }
22 I(ð€€€) // { dg-error "invalid UTF-8 character '<f0><80><80><80>'" "" { target c++23 } }
23 I(�) // { dg-error "invalid UTF-8 character '<f0><8f><bf><bf>'" "" { target c++23 } }
24 I() // { dg-error "is not valid in an identifier" }
25 I() // { dg-error "is not valid in an identifier" }