Update HACKING with find_shebang() and ditor_set_indentation_guides()
[geany-mirror.git] / tests / ctags / c-trigraphs.c
blobf860190ffb33e29e044331d93e0db0c134e4153d
2 /* simple trigraphs */
3 ??=define A 1
4 ??=define B 2
5 ??=define STRINGIFY_INTERN(x) ??=x
6 ??=define STRINGIFY(x) STRINGIFY_INTERN(x)
8 /* doesn't expand to anything that makes sense, but as "???" is not a valid
9 * trigraph it should not prevent "??/" to match */
10 ??=define D 4 ???/
11 #define bug1
12 ??=define E ?????/
13 #define bug2
15 /* \ isn't interpreted for trigraphs */
16 ??=define F ???\??/
17 extern int bug3 = ??-0;
19 ??=define M3_INIT(a, b, c) ??< a, b, c ??>
20 typedef int matrix3??(3??);
22 struct str ??<
23 char *buf;
24 unsigned int len, size;
25 ??>;
27 int main(void)
28 ??<
29 const char *hello = STRINGIFY(hello);
30 matrix3 m = M3_INIT(1, 2, 3);
32 return m??(2??);
33 ??>
35 /* FIXME: how to test "??'" ("^"), "??!" ("|") and "??-" ("~")?
36 * I can't think of a construct CTags cares about using those */
38 ??=if 0
39 #define bug4
40 ??=endif
43 /* test the same with untaken preprocessor paths (as they are then not read by
44 * the C parser but get.c) */
45 #if 0
47 ??=define if0d_A 1
48 ??=define if0d_B 2
49 ??=define if0d_C 4 ???/
50 #define bug5
51 ??=define I ?????/
52 #define bug6
53 ??=define I ??????????/
54 #define bug7
56 #endif