gcc/
[official-gcc.git] / gcc / c / ChangeLog.gomp
blobcc27260088bd7e6c5e7bd94ad5b2d17356bc9195
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
15         if is_omp.
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
52         c_finish_omp_for.
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
59         callers.
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
71         and is_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
87         clauses.
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
90         clauses.
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
116         names.
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
130         modifiers.
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
136         for the construct.
137         (c_parser_omp_target_enter_data): Adjust for new encoding
138         of always,from, always,to and always,tofrom.  Accept
139         GOMP_MAP_POINTER.
140         (c_parser_omp_target_exit_data): Likewise.
141         (c_parser_omp_target): Diagnose invalid map-kind for the
142         construct.
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
151         for &omp_priv.
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
158         and arrays.
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
167         clauses.
168         (c_parser_omp_target): Return false for enter data and
169         exit data.
170         (c_parser_omp_taskloop): Mention composite taskloop simd
171         construct.
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}
182         clauses.
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):
190         New functions.
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.