1 /* PR preprocessor/103026 */
2 /* { dg-do compile } */
3 /* { dg-options "-Wbidi-chars=unpaired,ucn -fdiagnostics-show-caret" } */
4 /* Verify that we escape and underline pertinent bidirectional
5 control characters when quoting the source. */
7 int test_unpaired_bidi () {
9 /* } if (isAdmin) begin admins only */
10 /* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
12 { dg
-begin
-multiline
-output
"" }
13 /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
16 | | end of bidirectional context
17 U
+202E (RIGHT
-TO
-LEFT OVERRIDE
) U
+2066 (LEFT
-TO
-RIGHT ISOLATE
)
18 { dg
-end
-multiline
-output
"" }
21 __builtin_printf("You are an admin.\n");
22 /* end admins only { */
23 /* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
25 { dg
-begin
-multiline
-output
"" }
26 /* end admins only <U+202E> { <U+2066>*/
29 | | end of bidirectional context
30 | U
+2066 (LEFT
-TO
-RIGHT ISOLATE
)
31 U
+202E (RIGHT
-TO
-LEFT OVERRIDE
)
32 { dg
-end
-multiline
-output
"" }
39 /* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
41 { dg
-begin
-multiline
-output
"" }
42 int LRE_
<U
+202A
>_PDF_
\u202c;
44 { dg
-end
-multiline
-output
"" }
47 const char *s1
= "LRE__PDF_\u202c";
48 /* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
50 { dg
-begin
-multiline
-output
"" }
51 const char *s1
= "LRE_<U+202A>_PDF_\u202c";
53 { dg
-end
-multiline
-output
"" }