1 2015-07-29 Jakub Jelinek <jakub@redhat.com>
3 * c-tree.h (c_finish_omp_clauses): Add is_omp argument.
4 * c-parser.c (c_parser_oacc_all_clauses, c_parser_omp_all_clauses,
5 c_parser_oacc_cache, omp_split_clauses, c_parser_cilk_for): Adjust
6 c_finish_omp_clauses callers.
7 (c_parser_omp_target_data, c_parser_omp_target_enter_data,
8 c_parser_omp_target_exit_data): Disallow GOMP_MAP_POINTER, allow
9 GOMP_MAP_FIRSTPRIVATE_POINTER but don't set map_seen for it.
10 (c_parser_omp_target): Set OMP_TARGET_COMBINED if combined.
11 Disallow GOMP_MAP_POINTER, allow GOMP_MAP_FIRSTPRIVATE_POINTER.
12 * c-typeck.c (handle_omp_array_sections): Add is_omp argument.
13 Set OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if needed.
14 Use GOMP_MAP_FIRSTPRIVATE_POINTER instead of GOMP_MAP_POINTER
16 (c_finish_omp_clauses): Add is_omp argument, pass it down to
17 handle_omp_array_sections. Handle GOMP_MAP_FIRSTPRIVATE_POINTER.
18 For is_device_ptr/use_device_ptr clauses allow ARRAY_TYPE.
20 2015-07-21 Aldy Hernandez <aldyh@redhat.com>
22 * c-typeck.c (c_finish_omp_clauses): Adjust pointer offsets for
23 OMP_CLAUSE_DEPEND_SINK.
25 2015-07-17 Aldy Hernandez <aldyh@redhat.com>
27 * c-parser.c (c_parser_omp_clause_depend_sink): Handle multiple
28 undeclared sink variables gracefully.
30 2015-07-17 Jakub Jelinek <jakub@redhat.com>
32 * c-parser.c (c_parser_omp_clause_name): Handle link clause.
33 (c_parser_omp_variable_list): Formatting fix.
34 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_LINK.
35 For PRAGMA_OMP_CLAUSE_TO, parse it as OMP_CLAUSE_TO_DECLARE
36 rather than OMP_CLAUSE_TO if it is a declare target directive clause.
37 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
38 (c_parser_omp_declare_target): Parse directive with clauses forms.
39 * c-typeck.c (c_finish_omp_clauses): Handle
40 OMP_CLAUSE_{TO_DECLARE,LINK}.
42 2015-07-16 Jakub Jelinek <jakub@redhat.com>
44 * c-parser.c (c_parser_omp_parallel): Allow parsing
45 #pragma omp target parallel.
46 (c_parser_omp_target): Allow parsing #pragma omp target simd
47 and #pragma omp target parallel{, for{, simd}}.
49 2015-07-16 Aldy Hernandez <aldyh@redhat.com>
51 * c-parser.c (c_parser_omp_for_loop): Pass new argument to
54 2015-07-15 Jakub Jelinek <jakub@redhat.com>
56 * c-parser.c (c_parser_omp_clause_if): Add IS_OMP argument. Parse
57 and diagnose directive-name-modifier.
58 (c_parser_oacc_all_clauses, c_parser_omp_all_clauses): Adjust
61 2015-07-14 Aldy Hernandez <aldyh@redhat.com>
63 * c-parser.c (c_parser_omp_clause_depend_sink): New.
64 (c_parser_omp_clause_depend): Call it.
65 * c-typeck.c (c_finish_omp_clauses): Handle
66 OMP_CLAUSE_DEPEND_SINK.
68 2015-07-14 Jakub Jelinek <jakub@redhat.com>
70 * c-parser.c (c_parser_omp_clause_name): Parse use_device_ptr
72 (c_parser_omp_clause_use_device_ptr,
73 c_parser_omp_clause_is_device_ptr): New functions.
74 (c_parser_omp_all_clauses): Handle
75 PRAGMA_OMP_CLAUSE_{IS,USE}_DEVICE_PTR.
76 (OMP_TARGET_DATA_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR.
77 (OMP_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR.
78 * c-typeck.c (c_finish_omp_clauses): Handle
79 OMP_CLAUSE_{USE,IS}_DEVICE_PTR.
81 2015-07-06 Jakub Jelinek <jakub@redhat.com>
83 * c-parser.c (c_parser_omp_clause_name): Handle defaultmap clause.
84 (c_parser_omp_clause_defaultmap): New function.
85 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DEFAULTMAP.
86 (OMP_TARGET_CLAUSE_MASK): Add private, firstprivate and defaultmap
88 * c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_DEFAULTMAP.
89 Track map, to and from clause decl uids separately from data sharing
92 2015-07-02 Jakub Jelinek <jakub@redhat.com>
94 * c-parser.c (c_parser_omp_for_loop): Parse collapse + ordered - 1
95 nested loops if ordered(n) clause is present.
97 2015-07-01 Jakub Jelinek <jakub@redhat.com>
99 * cp-tree.h (finish_omp_clauses): Add declare_simd argument.
100 * parser.c (cp_parser_omp_all_clauses): If mask includes uniform
101 clause, pass true to finish_omp_clauses' declare_simd.
102 * pt.c (apply_late_template_attributes): Pass true to
103 finish_omp_clauses' declare_simd.
104 * semantics.c (finish_omp_clauses): Add declare_simd argument,
105 don't set need_implicitly_determined if it is true.
107 2015-06-18 Jakub Jelinek <jakub@redhat.com>
109 * c-parser.c (OMP_TASKLOOP_CLAUSE_MASK): Add priority clause.
111 2015-06-12 Jakub Jelinek <jakub@redhat.com>
113 * c-parser.c (c_parser_omp_clause_name): Parse hint clause.
114 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
115 c_parser_omp_clause_priority): Fix up pastos in *_loc variable
117 (c_parser_omp_clause_hint): New function.
118 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_HINT.
119 (OMP_CRITICAL_CLAUSE_MASK): Define.
120 (c_parser_omp_critical): Parse optional hint clause. Adjust
121 c_finish_omp_critical caller.
122 * c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_HINT.
124 * c-parser.c (c_parser_omp_clause_schedule): Parse optional
125 simd: modifier in schedule clause.
127 2015-06-11 Jakub Jelinek <jakub@redhat.com>
129 * c-parser.c (c_parser_omp_clause_linear): Handle linear clause
132 * c-parser.c (c_parser_omp_clause_map): Handle release
133 map kind. Adjust to use GOMP_MAP_ALWAYS_* and only on
134 clauses where it makes sense.
135 (c_parser_omp_target_data): Diagnose invalid map-kind
137 (c_parser_omp_target_enter_data): Adjust for new encoding
138 of always,from, always,to and always,tofrom. Accept
140 (c_parser_omp_target_exit_data): Likewise.
141 (c_parser_omp_target): Diagnose invalid map-kind for the
144 2015-06-10 Jakub Jelinek <jakub@redhat.com>
146 * c-parser.c (c_parser_omp_variable_list): Allow array sections
147 for OMP_CLAUSE_REDUCTION.
148 (c_parser_omp_clause_reduction): Compute element type even for
149 arrays and array sections.
150 (c_parser_omp_declare_reduction): STRIP_NOPS before checking
152 * c-typeck.c (handle_omp_array_sections_1): Fix a comment typo.
153 Handle OMP_CLAUSE_REDUCTION array sections. Report zero size
154 array sections on OMP_CLAUSE_DEPEND.
155 (handle_omp_array_sections): Use auto_vec for types, drop
156 types.release () calls. Handle OMP_CLAUSE_REDUCTION array sections.
157 (c_finish_omp_clauses): Handle OMP_CLAUSE_REDUCTION array sections
160 2015-05-26 Jakub Jelinek <jakub@redhat.com>
162 * c-parser.c (c_parser_pragma): Return result of
163 c_parser_omp_ordered instead of always returning false.
164 (c_parser_omp_ordered): Return false or true depending
165 on if it is a standalone directive or construct with body.
166 (OMP_TARGET_UPDATE_CLAUSE_MASK): Allow depend and nowait
168 (c_parser_omp_target): Return false for enter data and
170 (c_parser_omp_taskloop): Mention composite taskloop simd
173 2015-05-07 Jakub Jelinek <jakub@redhat.com>
175 * c-parser.c (OMP_TASKLOOP_CLAUSE_MASK): Add untied clause.
177 2015-04-29 Jakub Jelinek <jakub@redhat.com>
179 * c-typeck.c (c_finish_omp_clauses): Allow NULL OMP_CLAUSE_DECL
180 for OMP_CLAUSE_DEPEND_SOURCE. Diagnose simdlen > safelen. Handle
181 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
183 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED.
184 (c_parser_omp_clause_name): Handle grainsize, nogroup, num_tasks,
185 priority, simd and threads clauses.
186 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
187 c_parser_omp_clause_priority): New functions.
188 (c_parser_omp_clause_ordered): Handle parsing of optional argument.
189 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind):
191 (c_parser_omp_clause_depend): Handle parsing of depend(source)
192 and partially handle depend(sink:vec).
193 (c_parser_omp_clause_map): Parse optional always map type modifier.
194 Handle parsing of delete map kind.
195 (c_parser_omp_all_clauses): Handle
196 PRAGMA_OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,PRIORITY,NOGROUP,THREADS,SIMD}.
197 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
198 (OMP_FOR_CLAUSE_MASK): Add linear clause.
199 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
200 (c_parser_omp_ordered): Handle parsing of the clauses, and if depend
201 clause is present, parse it as standalone directive. Remove LOC
202 argument, add CONTEXT argument.
203 (OMP_TASK_CLAUSE_MASK): Add priority clause.
204 (c_parser_omp_target_data): Diagnose if no map clauses are present.
205 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK): Define.
206 (c_parser_omp_target_enter_data): New function.
207 (OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
208 (c_parser_omp_target_exit_data): New function.
209 (OMP_TARGET_CLAUSE_MASK): Add nowait and depend clauses.
210 (c_parser_omp_target): Handle #pragma omp target {enter,exit} data.
211 (OMP_TASKLOOP_CLAUSE_MASK): Define.
212 (c_parser_omp_taskloop): New function.
213 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here.
214 Handle PRAGMA_OMP_TASKLOOP.
216 Copyright (C) 2015 Free Software Foundation, Inc.
218 Copying and distribution of this file, with or without modification,
219 are permitted in any medium without royalty provided the copyright
220 notice and this notice are preserved.