Mercurial > hg > CbC > CbC_gcc
comparison gcc/c-family/c-pragma.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* Pragma related interfaces. | 1 /* Pragma related interfaces. |
2 Copyright (C) 1995-2018 Free Software Foundation, Inc. | 2 Copyright (C) 1995-2020 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GCC. | 4 This file is part of GCC. |
5 | 5 |
6 GCC is free software; you can redistribute it and/or modify it under | 6 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 7 the terms of the GNU General Public License as published by the Free |
36 PRAGMA_OACC_HOST_DATA, | 36 PRAGMA_OACC_HOST_DATA, |
37 PRAGMA_OACC_KERNELS, | 37 PRAGMA_OACC_KERNELS, |
38 PRAGMA_OACC_LOOP, | 38 PRAGMA_OACC_LOOP, |
39 PRAGMA_OACC_PARALLEL, | 39 PRAGMA_OACC_PARALLEL, |
40 PRAGMA_OACC_ROUTINE, | 40 PRAGMA_OACC_ROUTINE, |
41 PRAGMA_OACC_SERIAL, | |
41 PRAGMA_OACC_UPDATE, | 42 PRAGMA_OACC_UPDATE, |
42 PRAGMA_OACC_WAIT, | 43 PRAGMA_OACC_WAIT, |
43 | 44 |
44 PRAGMA_OMP_ATOMIC, | 45 PRAGMA_OMP_ATOMIC, |
45 PRAGMA_OMP_BARRIER, | 46 PRAGMA_OMP_BARRIER, |
46 PRAGMA_OMP_CANCEL, | 47 PRAGMA_OMP_CANCEL, |
47 PRAGMA_OMP_CANCELLATION_POINT, | 48 PRAGMA_OMP_CANCELLATION_POINT, |
48 PRAGMA_OMP_CRITICAL, | 49 PRAGMA_OMP_CRITICAL, |
49 PRAGMA_OMP_DECLARE, | 50 PRAGMA_OMP_DECLARE, |
51 PRAGMA_OMP_DEPOBJ, | |
50 PRAGMA_OMP_DISTRIBUTE, | 52 PRAGMA_OMP_DISTRIBUTE, |
51 PRAGMA_OMP_END_DECLARE_TARGET, | 53 PRAGMA_OMP_END_DECLARE_TARGET, |
52 PRAGMA_OMP_FLUSH, | 54 PRAGMA_OMP_FLUSH, |
53 PRAGMA_OMP_FOR, | 55 PRAGMA_OMP_FOR, |
56 PRAGMA_OMP_LOOP, | |
54 PRAGMA_OMP_MASTER, | 57 PRAGMA_OMP_MASTER, |
55 PRAGMA_OMP_ORDERED, | 58 PRAGMA_OMP_ORDERED, |
56 PRAGMA_OMP_PARALLEL, | 59 PRAGMA_OMP_PARALLEL, |
60 PRAGMA_OMP_REQUIRES, | |
61 PRAGMA_OMP_SCAN, | |
57 PRAGMA_OMP_SECTION, | 62 PRAGMA_OMP_SECTION, |
58 PRAGMA_OMP_SECTIONS, | 63 PRAGMA_OMP_SECTIONS, |
59 PRAGMA_OMP_SIMD, | 64 PRAGMA_OMP_SIMD, |
60 PRAGMA_OMP_SINGLE, | 65 PRAGMA_OMP_SINGLE, |
61 PRAGMA_OMP_TARGET, | 66 PRAGMA_OMP_TARGET, |
73 | 78 |
74 PRAGMA_FIRST_EXTERNAL | 79 PRAGMA_FIRST_EXTERNAL |
75 }; | 80 }; |
76 | 81 |
77 | 82 |
78 /* All clauses defined by OpenACC 2.0, and OpenMP 2.5, 3.0, 3.1, 4.0 and 4.5. | 83 /* All clauses defined by OpenACC 2.0, and OpenMP 2.5, 3.0, 3.1, 4.0, 4.5 |
79 Used internally by both C and C++ parsers. */ | 84 and 5.0. Used internally by both C and C++ parsers. */ |
80 enum pragma_omp_clause { | 85 enum pragma_omp_clause { |
81 PRAGMA_OMP_CLAUSE_NONE = 0, | 86 PRAGMA_OMP_CLAUSE_NONE = 0, |
82 | 87 |
83 PRAGMA_OMP_CLAUSE_ALIGNED, | 88 PRAGMA_OMP_CLAUSE_ALIGNED, |
89 PRAGMA_OMP_CLAUSE_BIND, | |
84 PRAGMA_OMP_CLAUSE_COLLAPSE, | 90 PRAGMA_OMP_CLAUSE_COLLAPSE, |
85 PRAGMA_OMP_CLAUSE_COPYIN, | 91 PRAGMA_OMP_CLAUSE_COPYIN, |
86 PRAGMA_OMP_CLAUSE_COPYPRIVATE, | 92 PRAGMA_OMP_CLAUSE_COPYPRIVATE, |
87 PRAGMA_OMP_CLAUSE_DEFAULT, | 93 PRAGMA_OMP_CLAUSE_DEFAULT, |
88 PRAGMA_OMP_CLAUSE_DEFAULTMAP, | 94 PRAGMA_OMP_CLAUSE_DEFAULTMAP, |
89 PRAGMA_OMP_CLAUSE_DEPEND, | 95 PRAGMA_OMP_CLAUSE_DEPEND, |
90 PRAGMA_OMP_CLAUSE_DEVICE, | 96 PRAGMA_OMP_CLAUSE_DEVICE, |
97 PRAGMA_OMP_CLAUSE_DEVICE_TYPE, | |
91 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, | 98 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, |
92 PRAGMA_OMP_CLAUSE_FINAL, | 99 PRAGMA_OMP_CLAUSE_FINAL, |
93 PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, | 100 PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, |
94 PRAGMA_OMP_CLAUSE_FOR, | 101 PRAGMA_OMP_CLAUSE_FOR, |
95 PRAGMA_OMP_CLAUSE_FROM, | 102 PRAGMA_OMP_CLAUSE_FROM, |
96 PRAGMA_OMP_CLAUSE_GRAINSIZE, | 103 PRAGMA_OMP_CLAUSE_GRAINSIZE, |
97 PRAGMA_OMP_CLAUSE_HINT, | 104 PRAGMA_OMP_CLAUSE_HINT, |
98 PRAGMA_OMP_CLAUSE_IF, | 105 PRAGMA_OMP_CLAUSE_IF, |
106 PRAGMA_OMP_CLAUSE_IN_REDUCTION, | |
99 PRAGMA_OMP_CLAUSE_INBRANCH, | 107 PRAGMA_OMP_CLAUSE_INBRANCH, |
100 PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR, | 108 PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR, |
101 PRAGMA_OMP_CLAUSE_LASTPRIVATE, | 109 PRAGMA_OMP_CLAUSE_LASTPRIVATE, |
102 PRAGMA_OMP_CLAUSE_LINEAR, | 110 PRAGMA_OMP_CLAUSE_LINEAR, |
103 PRAGMA_OMP_CLAUSE_LINK, | 111 PRAGMA_OMP_CLAUSE_LINK, |
104 PRAGMA_OMP_CLAUSE_MAP, | 112 PRAGMA_OMP_CLAUSE_MAP, |
105 PRAGMA_OMP_CLAUSE_MERGEABLE, | 113 PRAGMA_OMP_CLAUSE_MERGEABLE, |
106 PRAGMA_OMP_CLAUSE_NOGROUP, | 114 PRAGMA_OMP_CLAUSE_NOGROUP, |
115 PRAGMA_OMP_CLAUSE_NONTEMPORAL, | |
107 PRAGMA_OMP_CLAUSE_NOTINBRANCH, | 116 PRAGMA_OMP_CLAUSE_NOTINBRANCH, |
108 PRAGMA_OMP_CLAUSE_NOWAIT, | 117 PRAGMA_OMP_CLAUSE_NOWAIT, |
109 PRAGMA_OMP_CLAUSE_NUM_TASKS, | 118 PRAGMA_OMP_CLAUSE_NUM_TASKS, |
110 PRAGMA_OMP_CLAUSE_NUM_TEAMS, | 119 PRAGMA_OMP_CLAUSE_NUM_TEAMS, |
111 PRAGMA_OMP_CLAUSE_NUM_THREADS, | 120 PRAGMA_OMP_CLAUSE_NUM_THREADS, |
121 PRAGMA_OMP_CLAUSE_ORDER, | |
112 PRAGMA_OMP_CLAUSE_ORDERED, | 122 PRAGMA_OMP_CLAUSE_ORDERED, |
113 PRAGMA_OMP_CLAUSE_PARALLEL, | 123 PRAGMA_OMP_CLAUSE_PARALLEL, |
114 PRAGMA_OMP_CLAUSE_PRIORITY, | 124 PRAGMA_OMP_CLAUSE_PRIORITY, |
115 PRAGMA_OMP_CLAUSE_PRIVATE, | 125 PRAGMA_OMP_CLAUSE_PRIVATE, |
116 PRAGMA_OMP_CLAUSE_PROC_BIND, | 126 PRAGMA_OMP_CLAUSE_PROC_BIND, |
119 PRAGMA_OMP_CLAUSE_SCHEDULE, | 129 PRAGMA_OMP_CLAUSE_SCHEDULE, |
120 PRAGMA_OMP_CLAUSE_SECTIONS, | 130 PRAGMA_OMP_CLAUSE_SECTIONS, |
121 PRAGMA_OMP_CLAUSE_SHARED, | 131 PRAGMA_OMP_CLAUSE_SHARED, |
122 PRAGMA_OMP_CLAUSE_SIMD, | 132 PRAGMA_OMP_CLAUSE_SIMD, |
123 PRAGMA_OMP_CLAUSE_SIMDLEN, | 133 PRAGMA_OMP_CLAUSE_SIMDLEN, |
134 PRAGMA_OMP_CLAUSE_TASK_REDUCTION, | |
124 PRAGMA_OMP_CLAUSE_TASKGROUP, | 135 PRAGMA_OMP_CLAUSE_TASKGROUP, |
125 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, | 136 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, |
126 PRAGMA_OMP_CLAUSE_THREADS, | 137 PRAGMA_OMP_CLAUSE_THREADS, |
127 PRAGMA_OMP_CLAUSE_TO, | 138 PRAGMA_OMP_CLAUSE_TO, |
128 PRAGMA_OMP_CLAUSE_UNIFORM, | 139 PRAGMA_OMP_CLAUSE_UNIFORM, |
129 PRAGMA_OMP_CLAUSE_UNTIED, | 140 PRAGMA_OMP_CLAUSE_UNTIED, |
130 PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR, | 141 PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR, |
142 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR, | |
131 | 143 |
132 /* Clauses for OpenACC. */ | 144 /* Clauses for OpenACC. */ |
133 PRAGMA_OACC_CLAUSE_ASYNC, | 145 PRAGMA_OACC_CLAUSE_ASYNC, |
146 PRAGMA_OACC_CLAUSE_ATTACH, | |
134 PRAGMA_OACC_CLAUSE_AUTO, | 147 PRAGMA_OACC_CLAUSE_AUTO, |
135 PRAGMA_OACC_CLAUSE_COPY, | 148 PRAGMA_OACC_CLAUSE_COPY, |
136 PRAGMA_OACC_CLAUSE_COPYOUT, | 149 PRAGMA_OACC_CLAUSE_COPYOUT, |
137 PRAGMA_OACC_CLAUSE_CREATE, | 150 PRAGMA_OACC_CLAUSE_CREATE, |
138 PRAGMA_OACC_CLAUSE_DELETE, | 151 PRAGMA_OACC_CLAUSE_DELETE, |
152 PRAGMA_OACC_CLAUSE_DETACH, | |
139 PRAGMA_OACC_CLAUSE_DEVICEPTR, | 153 PRAGMA_OACC_CLAUSE_DEVICEPTR, |
140 PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT, | 154 PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT, |
141 PRAGMA_OACC_CLAUSE_FINALIZE, | 155 PRAGMA_OACC_CLAUSE_FINALIZE, |
142 PRAGMA_OACC_CLAUSE_GANG, | 156 PRAGMA_OACC_CLAUSE_GANG, |
143 PRAGMA_OACC_CLAUSE_HOST, | 157 PRAGMA_OACC_CLAUSE_HOST, |
144 PRAGMA_OACC_CLAUSE_INDEPENDENT, | 158 PRAGMA_OACC_CLAUSE_INDEPENDENT, |
159 PRAGMA_OACC_CLAUSE_NO_CREATE, | |
145 PRAGMA_OACC_CLAUSE_NUM_GANGS, | 160 PRAGMA_OACC_CLAUSE_NUM_GANGS, |
146 PRAGMA_OACC_CLAUSE_NUM_WORKERS, | 161 PRAGMA_OACC_CLAUSE_NUM_WORKERS, |
147 PRAGMA_OACC_CLAUSE_PRESENT, | 162 PRAGMA_OACC_CLAUSE_PRESENT, |
148 PRAGMA_OACC_CLAUSE_SELF, | 163 PRAGMA_OACC_CLAUSE_SELF, |
149 PRAGMA_OACC_CLAUSE_SEQ, | 164 PRAGMA_OACC_CLAUSE_SEQ, |
150 PRAGMA_OACC_CLAUSE_TILE, | 165 PRAGMA_OACC_CLAUSE_TILE, |
151 PRAGMA_OACC_CLAUSE_USE_DEVICE, | |
152 PRAGMA_OACC_CLAUSE_VECTOR, | 166 PRAGMA_OACC_CLAUSE_VECTOR, |
153 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, | 167 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, |
154 PRAGMA_OACC_CLAUSE_WAIT, | 168 PRAGMA_OACC_CLAUSE_WAIT, |
155 PRAGMA_OACC_CLAUSE_WORKER, | 169 PRAGMA_OACC_CLAUSE_WORKER, |
156 PRAGMA_OACC_CLAUSE_IF_PRESENT, | 170 PRAGMA_OACC_CLAUSE_IF_PRESENT, |
160 PRAGMA_OACC_CLAUSE_DEFAULT = PRAGMA_OMP_CLAUSE_DEFAULT, | 174 PRAGMA_OACC_CLAUSE_DEFAULT = PRAGMA_OMP_CLAUSE_DEFAULT, |
161 PRAGMA_OACC_CLAUSE_FIRSTPRIVATE = PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, | 175 PRAGMA_OACC_CLAUSE_FIRSTPRIVATE = PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, |
162 PRAGMA_OACC_CLAUSE_IF = PRAGMA_OMP_CLAUSE_IF, | 176 PRAGMA_OACC_CLAUSE_IF = PRAGMA_OMP_CLAUSE_IF, |
163 PRAGMA_OACC_CLAUSE_PRIVATE = PRAGMA_OMP_CLAUSE_PRIVATE, | 177 PRAGMA_OACC_CLAUSE_PRIVATE = PRAGMA_OMP_CLAUSE_PRIVATE, |
164 PRAGMA_OACC_CLAUSE_REDUCTION = PRAGMA_OMP_CLAUSE_REDUCTION, | 178 PRAGMA_OACC_CLAUSE_REDUCTION = PRAGMA_OMP_CLAUSE_REDUCTION, |
165 PRAGMA_OACC_CLAUSE_LINK = PRAGMA_OMP_CLAUSE_LINK | 179 PRAGMA_OACC_CLAUSE_LINK = PRAGMA_OMP_CLAUSE_LINK, |
180 PRAGMA_OACC_CLAUSE_USE_DEVICE = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR | |
166 }; | 181 }; |
167 | 182 |
168 extern struct cpp_reader* parse_in; | 183 extern struct cpp_reader* parse_in; |
169 | 184 |
170 /* It's safe to always leave visibility pragma enabled as if | 185 /* It's safe to always leave visibility pragma enabled as if |