annotate gcc/brig/brig-builtins.h @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* brig-builtins.h -- brig builtin definitions
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2 Copyright (C) 2016-2020 Free Software Foundation, Inc.
111
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 Contributed by Pekka Jaaskelainen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
5 for General Processor Tech.
kono
parents:
diff changeset
6 This file is part of GCC.
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 GCC is free software; you can redistribute it and/or modify it under
kono
parents:
diff changeset
9 the terms of the GNU General Public License as published by the Free
kono
parents:
diff changeset
10 Software Foundation; either version 3, or (at your option) any later
kono
parents:
diff changeset
11 version.
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
kono
parents:
diff changeset
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
kono
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
kono
parents:
diff changeset
16 for more details.
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
kono
parents:
diff changeset
19 along with GCC; see the file COPYING3. If not see
kono
parents:
diff changeset
20 <http://www.gnu.org/licenses/>. */
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 enum built_in_attribute
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 #define DEF_ATTR_NULL_TREE(ENUM) ENUM,
kono
parents:
diff changeset
25 #define DEF_ATTR_INT(ENUM, VALUE) ENUM,
kono
parents:
diff changeset
26 #define DEF_ATTR_STRING(ENUM, VALUE) ENUM,
kono
parents:
diff changeset
27 #define DEF_ATTR_IDENT(ENUM, STRING) ENUM,
kono
parents:
diff changeset
28 #define DEF_ATTR_TREE_LIST(ENUM, PURPOSE, VALUE, CHAIN) ENUM,
kono
parents:
diff changeset
29 #include "builtin-attrs.def"
kono
parents:
diff changeset
30 #undef DEF_ATTR_NULL_TREE
kono
parents:
diff changeset
31 #undef DEF_ATTR_INT
kono
parents:
diff changeset
32 #undef DEF_ATTR_STRING
kono
parents:
diff changeset
33 #undef DEF_ATTR_IDENT
kono
parents:
diff changeset
34 #undef DEF_ATTR_TREE_LIST
kono
parents:
diff changeset
35 ATTR_LAST
kono
parents:
diff changeset
36 };
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 /* Builtin types. */
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 enum brig_builtin_type
kono
parents:
diff changeset
41 {
kono
parents:
diff changeset
42 #define DEF_PRIMITIVE_TYPE(NAME, VALUE) NAME,
kono
parents:
diff changeset
43 #define DEF_FUNCTION_TYPE_0(NAME, RETURN) NAME,
kono
parents:
diff changeset
44 #define DEF_FUNCTION_TYPE_1(NAME, RETURN, ARG1) NAME,
kono
parents:
diff changeset
45 #define DEF_FUNCTION_TYPE_2(NAME, RETURN, ARG1, ARG2) NAME,
kono
parents:
diff changeset
46 #define DEF_FUNCTION_TYPE_3(NAME, RETURN, ARG1, ARG2, ARG3) NAME,
kono
parents:
diff changeset
47 #define DEF_FUNCTION_TYPE_4(NAME, RETURN, ARG1, ARG2, ARG3, ARG4) NAME,
kono
parents:
diff changeset
48 #define DEF_FUNCTION_TYPE_5(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5) NAME,
kono
parents:
diff changeset
49 #define DEF_FUNCTION_TYPE_6(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
50 ARG6) NAME,
kono
parents:
diff changeset
51 #define DEF_FUNCTION_TYPE_7(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
52 ARG6, ARG7) NAME,
kono
parents:
diff changeset
53 #define DEF_FUNCTION_TYPE_8(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
54 ARG6, ARG7, ARG8) NAME,
kono
parents:
diff changeset
55 #define DEF_FUNCTION_TYPE_9(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
56 ARG6, ARG7, ARG8, ARG9) NAME,
kono
parents:
diff changeset
57 #define DEF_FUNCTION_TYPE_10(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
58 ARG6, ARG7, ARG8, ARG9, ARG10) NAME,
kono
parents:
diff changeset
59 #define DEF_FUNCTION_TYPE_11(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
60 ARG6, ARG7, ARG8, ARG9, ARG10, ARG11) NAME,
kono
parents:
diff changeset
61 #define DEF_FUNCTION_TYPE_VAR_0(NAME, RETURN) NAME,
kono
parents:
diff changeset
62 #define DEF_FUNCTION_TYPE_VAR_1(NAME, RETURN, ARG1) NAME,
kono
parents:
diff changeset
63 #define DEF_FUNCTION_TYPE_VAR_2(NAME, RETURN, ARG1, ARG2) NAME,
kono
parents:
diff changeset
64 #define DEF_FUNCTION_TYPE_VAR_3(NAME, RETURN, ARG1, ARG2, ARG3) NAME,
kono
parents:
diff changeset
65 #define DEF_FUNCTION_TYPE_VAR_4(NAME, RETURN, ARG1, ARG2, ARG3, ARG4) NAME,
kono
parents:
diff changeset
66 #define DEF_FUNCTION_TYPE_VAR_5(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG6) \
kono
parents:
diff changeset
67 NAME,
kono
parents:
diff changeset
68 #define DEF_FUNCTION_TYPE_VAR_6(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
69 ARG6) NAME,
kono
parents:
diff changeset
70 #define DEF_FUNCTION_TYPE_VAR_7(NAME, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, \
kono
parents:
diff changeset
71 ARG6, ARG7) NAME,
kono
parents:
diff changeset
72 #define DEF_POINTER_TYPE(NAME, TYPE) NAME,
kono
parents:
diff changeset
73 #include "builtin-types.def"
kono
parents:
diff changeset
74 #undef DEF_PRIMITIVE_TYPE
kono
parents:
diff changeset
75 #undef DEF_FUNCTION_TYPE_0
kono
parents:
diff changeset
76 #undef DEF_FUNCTION_TYPE_1
kono
parents:
diff changeset
77 #undef DEF_FUNCTION_TYPE_2
kono
parents:
diff changeset
78 #undef DEF_FUNCTION_TYPE_3
kono
parents:
diff changeset
79 #undef DEF_FUNCTION_TYPE_4
kono
parents:
diff changeset
80 #undef DEF_FUNCTION_TYPE_5
kono
parents:
diff changeset
81 #undef DEF_FUNCTION_TYPE_6
kono
parents:
diff changeset
82 #undef DEF_FUNCTION_TYPE_7
kono
parents:
diff changeset
83 #undef DEF_FUNCTION_TYPE_8
kono
parents:
diff changeset
84 #undef DEF_FUNCTION_TYPE_9
kono
parents:
diff changeset
85 #undef DEF_FUNCTION_TYPE_10
kono
parents:
diff changeset
86 #undef DEF_FUNCTION_TYPE_11
kono
parents:
diff changeset
87 #undef DEF_FUNCTION_TYPE_VAR_0
kono
parents:
diff changeset
88 #undef DEF_FUNCTION_TYPE_VAR_1
kono
parents:
diff changeset
89 #undef DEF_FUNCTION_TYPE_VAR_2
kono
parents:
diff changeset
90 #undef DEF_FUNCTION_TYPE_VAR_3
kono
parents:
diff changeset
91 #undef DEF_FUNCTION_TYPE_VAR_4
kono
parents:
diff changeset
92 #undef DEF_FUNCTION_TYPE_VAR_5
kono
parents:
diff changeset
93 #undef DEF_FUNCTION_TYPE_VAR_6
kono
parents:
diff changeset
94 #undef DEF_FUNCTION_TYPE_VAR_7
kono
parents:
diff changeset
95 #undef DEF_POINTER_TYPE
kono
parents:
diff changeset
96 BT_LAST
kono
parents:
diff changeset
97 };
kono
parents:
diff changeset
98
kono
parents:
diff changeset
99 typedef enum brig_builtin_type builtin_type;