parser: Remove the unused attribute alignment from struct declaration_specifiers_t.
[cparser] / builtins.h
1 /*
2  * This file is part of cparser.
3  * Copyright (C) 2012 Matthias Braun <matze@braunis.de>
4  */
5 #ifndef BUILTINS_H
6 #define BUILTINS_H
7
8 typedef enum {
9         BUILTIN_NONE,
10         BUILTIN_ALLOCA,
11         BUILTIN_INF,
12         BUILTIN_NAN,
13         BUILTIN_EXPECT,
14         BUILTIN_VA_END,
15         BUILTIN_OBJECT_SIZE,
16         BUILTIN_ROTL,
17         BUILTIN_ROTR,
18         BUILTIN_LIBC,
19         BUILTIN_LIBC_CHECK,
20         BUILTIN_FIRM,
21 } builtin_kind_t;
22
23 /**
24  * Create predefined gnu builtins.
25  */
26 void create_gnu_builtins(void);
27
28 /**
29  * Create predefined MS intrinsics.
30  */
31 void create_microsoft_intrinsics(void);
32
33 /**
34  * Some functions like setjmp,longjmp are known from libc and need special
35  * attributes like noreturn or returns_twice.
36  * (Adding __attribute__(())s in the libc headers would be enough but apparently
37  *  this is not done in most cases since people rely on a list of hardcoded
38  *  names in gcc, so we have to duplicate this here)
39  */
40 void adapt_special_functions(function_t *function);
41
42 #endif