aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/ChangeLog.gomp
blob: 2ccb8ccf24904e976c781578128bc93cac375309 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
2015-10-13  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (c_finish_omp_clauses): Disallow modifiers on simd/for
	constructs.

2015-10-09  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (handle_omp_array_sections_1): Diagnose negative
	length even for pointer based array sections.

	* c-parser.c: Adjust OpenMP version numbers from 4.1 to 4.5 in
	all comments.

2015-09-25  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_depend_sink): Put - sign
	into OMP_CLAUSE_DEPEND_SINK_NEGATIVE instead of negating the number.
	(c_parser_omp_for_loop): Adjust for ordered clause counting
	source loops before collapsing instead of after it.  Require
	ordered clause parameter to be >= collapse parameter.

2015-09-02  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (handle_omp_array_sections): Set
	OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION even for
	GOMP_MAP_DELETE kinds.

2015-08-31  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (handle_omp_array_sections_1): Add IS_OMP argument, pass
	it down recursively.  Handle struct element based array sections.
	(handle_omp_array_sections): Adjust caller.  Handle struct element
	based array sections.
	(c_finish_omp_clauses): Handle struct element based array sections.
	Use generic_head instead of map_head for GOMP_MAP_FIRSTPRIVATE_POINTER
	duplicate testing.

2015-07-31  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_variable_list): Parse struct
	elements in map/to/from clauses.
	* c-typeck.c (handle_omp_array_sections): Handle
	GOMP_MAP_RELEASE for zero-length array sections.
	(c_finish_omp_clauses): Handle struct elements in
	map/to/from OpenMP clauses.

2015-07-29  Jakub Jelinek  <jakub@redhat.com>

	* c-tree.h (c_finish_omp_clauses): Add is_omp argument.
	* c-parser.c (c_parser_oacc_all_clauses, c_parser_omp_all_clauses,
	c_parser_oacc_cache, omp_split_clauses, c_parser_cilk_for): Adjust
	c_finish_omp_clauses callers.
	(c_parser_omp_target_data, c_parser_omp_target_enter_data,
	c_parser_omp_target_exit_data): Disallow GOMP_MAP_POINTER, allow
	GOMP_MAP_FIRSTPRIVATE_POINTER but don't set map_seen for it.
	(c_parser_omp_target): Set OMP_TARGET_COMBINED if combined.
	Disallow GOMP_MAP_POINTER, allow GOMP_MAP_FIRSTPRIVATE_POINTER.
	* c-typeck.c (handle_omp_array_sections): Add is_omp argument.
	Set OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if needed.
	Use GOMP_MAP_FIRSTPRIVATE_POINTER instead of GOMP_MAP_POINTER
	if is_omp.
	(c_finish_omp_clauses): Add is_omp argument, pass it down to
	handle_omp_array_sections.  Handle GOMP_MAP_FIRSTPRIVATE_POINTER.
	For is_device_ptr/use_device_ptr clauses allow ARRAY_TYPE.

2015-07-21  Aldy Hernandez  <aldyh@redhat.com>

	* c-typeck.c (c_finish_omp_clauses): Adjust pointer offsets for
	OMP_CLAUSE_DEPEND_SINK.

2015-07-17  Aldy Hernandez  <aldyh@redhat.com>

	* c-parser.c (c_parser_omp_clause_depend_sink): Handle multiple
	undeclared sink variables gracefully.

2015-07-17  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_name): Handle link clause.
	(c_parser_omp_variable_list): Formatting fix.
	(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_LINK.
	For PRAGMA_OMP_CLAUSE_TO, parse it as OMP_CLAUSE_TO_DECLARE
	rather than OMP_CLAUSE_TO if it is a declare target directive clause.
	(OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
	(c_parser_omp_declare_target): Parse directive with clauses forms.
	* c-typeck.c (c_finish_omp_clauses): Handle
	OMP_CLAUSE_{TO_DECLARE,LINK}.

2015-07-16  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_parallel): Allow parsing
	#pragma omp target parallel.
	(c_parser_omp_target): Allow parsing #pragma omp target simd
	and #pragma omp target parallel{, for{, simd}}.

2015-07-16  Aldy Hernandez  <aldyh@redhat.com>

	* c-parser.c (c_parser_omp_for_loop): Pass new argument to
	c_finish_omp_for.

2015-07-15  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_if): Add IS_OMP argument.  Parse
	and diagnose directive-name-modifier.
	(c_parser_oacc_all_clauses, c_parser_omp_all_clauses): Adjust
	callers.

2015-07-14  Aldy Hernandez  <aldyh@redhat.com>

	* c-parser.c (c_parser_omp_clause_depend_sink): New.
	(c_parser_omp_clause_depend): Call it.
	* c-typeck.c (c_finish_omp_clauses): Handle
	OMP_CLAUSE_DEPEND_SINK.

2015-07-14  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_name): Parse use_device_ptr
	and is_device_ptr.
	(c_parser_omp_clause_use_device_ptr,
	c_parser_omp_clause_is_device_ptr): New functions.
	(c_parser_omp_all_clauses): Handle
	PRAGMA_OMP_CLAUSE_{IS,USE}_DEVICE_PTR.
	(OMP_TARGET_DATA_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR.
	(OMP_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR.
	* c-typeck.c (c_finish_omp_clauses): Handle
	OMP_CLAUSE_{USE,IS}_DEVICE_PTR.

2015-07-06  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_name): Handle defaultmap clause.
	(c_parser_omp_clause_defaultmap): New function.
	(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DEFAULTMAP.
	(OMP_TARGET_CLAUSE_MASK): Add private, firstprivate and defaultmap
	clauses.
	* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_DEFAULTMAP.
	Track map, to and from clause decl uids separately from data sharing
	clauses.

2015-07-02  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_for_loop): Parse collapse + ordered - 1
	nested loops if ordered(n) clause is present.

2015-07-01  Jakub Jelinek  <jakub@redhat.com>

	* cp-tree.h (finish_omp_clauses): Add declare_simd argument.
	* parser.c (cp_parser_omp_all_clauses): If mask includes uniform
	clause, pass true to finish_omp_clauses' declare_simd.
	* pt.c (apply_late_template_attributes): Pass true to
	finish_omp_clauses' declare_simd.
	* semantics.c (finish_omp_clauses): Add declare_simd argument,
	don't set need_implicitly_determined if it is true.

2015-06-18  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (OMP_TASKLOOP_CLAUSE_MASK): Add priority clause.

2015-06-12  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_name): Parse hint clause.
	(c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
	c_parser_omp_clause_priority): Fix up pastos in *_loc variable
	names.
	(c_parser_omp_clause_hint): New function.
	(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_HINT.
	(OMP_CRITICAL_CLAUSE_MASK): Define.
	(c_parser_omp_critical): Parse optional hint clause.  Adjust
	c_finish_omp_critical caller.
	* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_HINT.

	* c-parser.c (c_parser_omp_clause_schedule): Parse optional
	simd: modifier in schedule clause.

2015-06-11  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_clause_linear): Handle linear clause
	modifiers.

	* c-parser.c (c_parser_omp_clause_map): Handle release
	map kind.  Adjust to use GOMP_MAP_ALWAYS_* and only on
	clauses where it makes sense.
	(c_parser_omp_target_data): Diagnose invalid map-kind
	for the construct.
	(c_parser_omp_target_enter_data): Adjust for new encoding
	of always,from, always,to and always,tofrom.  Accept
	GOMP_MAP_POINTER.
	(c_parser_omp_target_exit_data): Likewise.
	(c_parser_omp_target): Diagnose invalid map-kind for the
	construct.

2015-06-10  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_omp_variable_list): Allow array sections
	for OMP_CLAUSE_REDUCTION.
	(c_parser_omp_clause_reduction): Compute element type even for
	arrays and array sections.
	(c_parser_omp_declare_reduction): STRIP_NOPS before checking
	for &omp_priv.
	* c-typeck.c (handle_omp_array_sections_1): Fix a comment typo.
	Handle OMP_CLAUSE_REDUCTION array sections.  Report zero size
	array sections on OMP_CLAUSE_DEPEND.
	(handle_omp_array_sections): Use auto_vec for types, drop
	types.release () calls.  Handle OMP_CLAUSE_REDUCTION array sections.
	(c_finish_omp_clauses): Handle OMP_CLAUSE_REDUCTION array sections
	and arrays.

2015-05-26  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (c_parser_pragma): Return result of
	c_parser_omp_ordered instead of always returning false.
	(c_parser_omp_ordered): Return false or true depending
	on if it is a standalone directive or construct with body.
	(OMP_TARGET_UPDATE_CLAUSE_MASK): Allow depend and nowait
	clauses.
	(c_parser_omp_target): Return false for enter data and
	exit data.
	(c_parser_omp_taskloop): Mention composite taskloop simd
	construct.

2015-05-07  Jakub Jelinek  <jakub@redhat.com>

	* c-parser.c (OMP_TASKLOOP_CLAUSE_MASK): Add untied clause.

2015-04-29  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (c_finish_omp_clauses): Allow NULL OMP_CLAUSE_DECL
	for OMP_CLAUSE_DEPEND_SOURCE.  Diagnose simdlen > safelen.  Handle
	OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
	clauses.
	* c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED.
	(c_parser_omp_clause_name): Handle grainsize, nogroup, num_tasks,
	priority, simd and threads clauses.
	(c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
	c_parser_omp_clause_priority): New functions.
	(c_parser_omp_clause_ordered): Handle parsing of optional argument.
	(c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind):
	New functions.
	(c_parser_omp_clause_depend): Handle parsing of depend(source)
	and partially handle depend(sink:vec).
	(c_parser_omp_clause_map): Parse optional always map type modifier.
	Handle parsing of delete map kind.
	(c_parser_omp_all_clauses): Handle
	PRAGMA_OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,PRIORITY,NOGROUP,THREADS,SIMD}.
	(OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
	(OMP_FOR_CLAUSE_MASK): Add linear clause.
	(OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
	(c_parser_omp_ordered): Handle parsing of the clauses, and if depend
	clause is present, parse it as standalone directive.  Remove LOC
	argument, add CONTEXT argument.
	(OMP_TASK_CLAUSE_MASK): Add priority clause.
	(c_parser_omp_target_data): Diagnose if no map clauses are present.
	(OMP_TARGET_ENTER_DATA_CLAUSE_MASK): Define.
	(c_parser_omp_target_enter_data): New function.
	(OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
	(c_parser_omp_target_exit_data): New function.
	(OMP_TARGET_CLAUSE_MASK): Add nowait and depend clauses.
	(c_parser_omp_target): Handle #pragma omp target {enter,exit} data.
	(OMP_TASKLOOP_CLAUSE_MASK): Define.
	(c_parser_omp_taskloop): New function.
	(c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here.
	Handle PRAGMA_OMP_TASKLOOP.

Copyright (C) 2015 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.