added a bunch of gcc builtins
[smatch.git] / ident-list.h
blobecdce6d0975c113c03a11c9e5c314499a673c8e6
2 #define IDENT(n) __IDENT(n## _ident, #n, 0)
3 #define IDENT_RESERVED(n) __IDENT(n## _ident, #n, 1)
5 /* Basic C reserved words.. */
6 IDENT_RESERVED(sizeof);
7 IDENT_RESERVED(if);
8 IDENT_RESERVED(else);
9 IDENT_RESERVED(return);
10 IDENT_RESERVED(switch);
11 IDENT_RESERVED(case);
12 IDENT_RESERVED(default);
13 IDENT_RESERVED(break);
14 IDENT_RESERVED(continue);
15 IDENT_RESERVED(for);
16 IDENT_RESERVED(while);
17 IDENT_RESERVED(do);
18 IDENT_RESERVED(goto);
20 /* C typenames. They get marked as reserved when initialized */
21 IDENT(struct);
22 IDENT(union);
23 IDENT(enum);
24 IDENT(__attribute__);
25 IDENT(__attribute);
26 IDENT(volatile);
27 IDENT(__volatile__);
28 IDENT(__volatile);
30 /* Extended gcc identifiers */
31 IDENT(asm);
32 IDENT(alignof);
33 IDENT_RESERVED(__asm__);
34 IDENT_RESERVED(__asm);
35 IDENT_RESERVED(__alignof);
36 IDENT_RESERVED(__alignof__);
37 IDENT_RESERVED(__sizeof_ptr__);
38 IDENT_RESERVED(__builtin_types_compatible_p);
40 /* Attribute names */
41 IDENT(defined); IDENT(packed); IDENT(__packed__);
42 IDENT(aligned); IDENT(__aligned__); IDENT(nocast);
43 IDENT(noderef); IDENT(safe); IDENT(force);
44 IDENT(address_space); IDENT(context); IDENT(mode);
45 IDENT(__mode__); IDENT(__QI__); IDENT(QI);
46 IDENT(__HI__); IDENT(HI); IDENT(__SI__);
47 IDENT(SI); IDENT(__DI__); IDENT(DI);
48 IDENT(__word__); IDENT(word); IDENT(format);
49 IDENT(__format__); IDENT(section); IDENT(__section__);
50 IDENT(unused); IDENT(__unused__); IDENT(const);
51 IDENT(__used__);
52 IDENT(warn_unused_result);
53 IDENT(noinline);
54 IDENT(deprecated);
55 IDENT(__const); IDENT(__const__); IDENT(noreturn);
56 IDENT(__noreturn__); IDENT(regparm); IDENT(weak); IDENT(__weak__);
57 IDENT(__no_instrument_function__); IDENT(no_instrument_function);
58 IDENT(__sentinel__); IDENT(sentinel);
59 IDENT(alias); IDENT(__alias__); IDENT(pure); IDENT(always_inline);
60 IDENT(syscall_linkage); IDENT(visibility); IDENT(__visibility__);
61 IDENT(bitwise); IDENT(__bitwise__);
62 IDENT(model); IDENT(__model__);
63 IDENT(__format_arg__);
64 IDENT(nothrow); IDENT(__nothrow); IDENT(__nothrow__);
65 IDENT(__transparent_union__);
66 IDENT(__pure__);
67 IDENT(__malloc__);
68 IDENT(nonnull); IDENT(__nonnull); IDENT(__nonnull__);
69 IDENT(__deprecated__);
70 IDENT(__warn_unused_result__);
72 /* Preprocessor idents */
73 __IDENT(pragma_ident, "__pragma__", 0);
74 __IDENT(__VA_ARGS___ident, "__VA_ARGS__", 0);
75 __IDENT(__LINE___ident, "__LINE__", 0);
76 __IDENT(__FILE___ident, "__FILE__", 0);
77 __IDENT(__func___ident, "__func__", 0);
78 __IDENT(__FUNCTION___ident, "__FUNCTION__", 0);
79 __IDENT(__PRETTY_FUNCTION___ident, "__PRETTY_FUNCTION__", 0);
81 /* Sparse commands */
82 IDENT_RESERVED(__context__);
83 IDENT_RESERVED(__range__);
85 /* Magic function names we recognize */
86 IDENT(memset); IDENT(memcpy);
87 IDENT(copy_to_user); IDENT(copy_from_user);
88 IDENT(main);
90 #undef __IDENT
91 #undef IDENT
92 #undef IDENT_RESERVED