1 // PR preprocessor/57620
3 // { dg-options "-std=gnu99 -Wtrigraphs" { target c } }
4 // { dg-options "-std=gnu++11 -Wtrigraphs" { target c++ } }
6 const void *s0
= R
"abc\
8 // { dg-error "invalid character" "invalid" { target *-*-* } 6 }
9 // { dg-error "stray" "stray" { target *-*-* } 6 }
10 const void *s1
= R
"abcdefghijklmn??/(a)abcdefghijklmn???";
11 // { dg-error "raw string delimiter longer" "longer" { target *-*-* } 10 }
12 // { dg-error "stray" "stray" { target *-*-* } 10 }
14 const void *s2
= R
"abcdefghijklmno??/(a)abcdefghijklmno???";
15 // { dg-error "raw string delimiter longer" "longer" { target *-*-* } 14 }
16 // { dg-error "stray" "stray" { target *-*-* } 14 }
17 const void *s3
= R
"abcdefghijklmnop??=(a)abcdefghijklmnop??=?"; // { dg-warning "trigraph ..= ignored" }
18 // { dg-error "raw string delimiter longer" "longer" { target *-*-* } 17 }
19 // { dg-error "stray" "stray" { target *-*-* } 17 }
20 const void *s4
= R
"abc\
22 // { dg-error "invalid character" "invalid" { target *-*-* } 20 }
23 // { dg-error "stray" "stray" { target *-*-* } 20 }
26 // { dg-error "invalid character" "invalid" { target *-*-* } 24 }
27 // { dg-error "stray" "stray" { target *-*-* } 24 }
30 // { dg-error "invalid character" "invalid" { target *-*-* } 28 }
31 // { dg-error "stray" "stray" { target *-*-* } 28 }