File: Wbidi-chars-ranges.c

package info (click to toggle)
gcc-arm-none-eabi 15%3A14.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,099,328 kB
  • sloc: cpp: 3,627,108; ansic: 2,571,498; ada: 834,230; f90: 235,082; makefile: 79,231; asm: 74,984; xml: 51,692; exp: 39,736; sh: 33,298; objc: 15,629; python: 15,069; fortran: 14,429; pascal: 7,003; awk: 5,070; perl: 3,106; ml: 285; lisp: 253; lex: 204; haskell: 135
file content (54 lines) | stat: -rw-r--r-- 1,973 bytes parent folder | download | duplicates (2)
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