blob: 0c71f306dbc73c5911e25075295ef43c536ecc2c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/* PR preprocessor/103026 */
/* { dg-do compile } */
/* { dg-options "-Wbidi-chars=unpaired,ucn -fdiagnostics-show-caret" } */
/* Verify that we escape and underline pertinent bidirectional
control characters when quoting the source. */
int test_unpaired_bidi () {
int isAdmin = 0;
/* } if (isAdmin) begin admins only */
/* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
#if 0
{ dg-begin-multiline-output "" }
/*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
~~~~~~~~ ~~~~~~~~ ^
| | |
| | end of bidirectional context
U+202E (RIGHT-TO-LEFT OVERRIDE) U+2066 (LEFT-TO-RIGHT ISOLATE)
{ dg-end-multiline-output "" }
#endif
__builtin_printf("You are an admin.\n");
/* end admins only { */
/* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
#if 0
{ dg-begin-multiline-output "" }
/* end admins only <U+202E> { <U+2066>*/
~~~~~~~~ ~~~~~~~~ ^
| | |
| | end of bidirectional context
| U+2066 (LEFT-TO-RIGHT ISOLATE)
U+202E (RIGHT-TO-LEFT OVERRIDE)
{ dg-end-multiline-output "" }
#endif
return 0;
}
int LRE__PDF_\u202c;
/* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
#if 0
{ dg-begin-multiline-output "" }
int LRE_<U+202A>_PDF_\u202c;
~~~~~~~~ ^~~~~~
{ dg-end-multiline-output "" }
#endif
const char *s1 = "LRE__PDF_\u202c";
/* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
#if 0
{ dg-begin-multiline-output "" }
const char *s1 = "LRE_<U+202A>_PDF_\u202c";
~~~~~~~~ ^~~~~~
{ dg-end-multiline-output "" }
#endif
|