]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
re PR middle-end/21273 (gensupport.c:collect_insn_data doesn't consider the constrain...
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
d84ffc0a
IV
12015-12-14 Ilya Verbin <ilya.verbin@intel.com>
2
3 * libgomp.h (gomp_device_state): New enum.
4 (struct gomp_device_descr): Replace is_initialized with state.
5 (gomp_fini_device): Remove declaration.
6 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
7 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
8 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
9 (acc_set_device_type): Use state instead of is_initialized.
10 (acc_set_device_num): Likewise.
11 * target.c (resolve_device): Use state instead of is_initialized.
12 Do not initialize finalized device.
13 (gomp_map_vars): Do nothing if device is finalized.
14 (gomp_unmap_vars): Likewise.
15 (gomp_update): Likewise.
16 (GOMP_offload_register_ver): Use state instead of is_initialized.
17 (GOMP_offload_unregister_ver): Likewise.
18 (gomp_init_device): Likewise.
19 (gomp_unload_device): Likewise.
20 (gomp_fini_device): Remove.
21 (gomp_get_target_fn_addr): Do nothing if device is finalized.
22 (GOMP_target): Go to host fallback if device is finalized.
23 (GOMP_target_ext): Likewise.
24 (gomp_exit_data): Do nothing if device is finalized.
25 (gomp_target_task_fn): Go to host fallback if device is finalized.
26 (gomp_target_fini): New static function.
27 (gomp_target_init): Use state instead of is_initialized.
28 Call gomp_target_fini at exit.
29
76680678
TV
302015-12-09 Tom de Vries <tom@codesourcery.com>
31
32 PR tree-optimization/68716
33 * testsuite/libgomp.c/omp-nested-2.c: New test.
34
ff7a55bf
TS
352015-12-02 Thomas Schwinge <thomas@codesourcery.com>
36
37 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
38 target openacc_nvidia_accel_selected.
39 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
40 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
41 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
42 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
43
37d5ad46
JB
442015-12-01 Julian Brown <julian@codesourcery.com>
45 James Norris <James_Norris@mentor.com>
46
47 * oacc-parallel.c (GOACC_host_data): New function.
48 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
49 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
50 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
51 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
52 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
53 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
54 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
55
db941d7e
CP
562015-11-30 James Norris <jnorris@codesourcery.com>
57 Cesar Philippidis <cesar@codesourcery.com>
58
59 libgomp/
60 * libgomp.oacc-fortran/routine-5.f90: New test.
61 * libgomp.oacc-fortran/routine-7.f90: New test.
62 * libgomp.oacc-fortran/routine-9.f90: New test.
63
e0ca27c5
TV
642015-11-30 Tom de Vries <tom@codesourcery.com>
65
66 PR tree-optimization/46032
67 * testsuite/libgomp.c/pr46032.c: New test.
68
aec17bfe
JJ
692015-11-27 Jakub Jelinek <jakub@redhat.com>
70
8e4e4719
JJ
71 PR libgomp/68579
72 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
73 (gomp_create_target_task): Call it before freeing
74 GOMP_TARGET_TASK_DATA tasks.
75
aec17bfe
JJ
76 PR c/63326
77 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
78 in between case label and OpenMP standalone directives.
79 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
80
6cfe90e6
DE
812015-11-26 David Edelsohn <dje.gcc@gmail.com>
82
83 * configure: Regenerate.
84
0e65fd7d
JJ
852015-11-26 Jakub Jelinek <jakub@redhat.com>
86
87 * testsuite/libgomp.c/target-35.c: New test.
88
dc7a8b4b
JN
892015-11-22 James Norris <jnorris@codesourcery.com>
90 Cesar Philippidis <cesar@codesourcery.com>
91
92 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
93 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
94 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
95 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
96 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
97
48a78aee
JJ
982015-11-20 Jakub Jelinek <jakub@redhat.com>
99
100 PR middle-end/68221
101 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
102 * testsuite/libgomp.c/reduction-12.c: Likewise.
103 * testsuite/libgomp.c++/reduction-11.C: Likewise.
104 * testsuite/libgomp.c++/reduction-12.C: Likewise.
105
2d256816
NS
1062015-11-19 Nathan Sidwell <nathan@codesourcery.com>
107
108 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
109 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
110 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
111 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
112 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
113 and fix.
114 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
115 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
116
33f47f42
NS
1172015-11-18 Nathan Sidwell <nathan@codesourcery.com>
118
119 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
120 worker & gang cases.
121 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
122
3d7bfee0
CP
1232015-11-17 Cesar Philippidis <cesar@codesourcery.com>
124
125 * config/nvptx/priority_queue.c: New file.
126
00b9bd52
JJ
1272015-11-14 Jakub Jelinek <jakub@redhat.com>
128
129 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
130 sections.
131
e4606348
JJ
1322015-11-14 Jakub Jelinek <jakub@redhat.com>
133 Aldy Hernandez <aldyh@redhat.com>
134 Ilya Verbin <ilya.verbin@intel.com>
135
136 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
137 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
138 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
139 iterators or IV by chunk size.
140 * parallel.c (gomp_resolve_num_threads): Don't assume that
141 if thr->ts.team is non-NULL, then pool must be non-NULL.
142 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
143 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
144 GOMP_PLUGIN_target_task_completion.
145 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
146 * Makefile.in: Regenerate.
147 * libgomp.h: Shuffle prototypes and forward definitions around so
148 priority queues can be defined.
149 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
150 (enum gomp_target_task_state): New enum.
151 (struct gomp_target_task): Add state, tgt, task and team fields.
152 (gomp_create_target_task): Change return type to bool, add
153 state argument.
154 (gomp_target_task_fn): Change return type to bool.
155 (struct gomp_device_descr): Add async_run_func.
156 (struct gomp_task): Remove children, next_child, prev_child,
157 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
158 Add pnode field.
159 (struct gomp_taskgroup): Remove children.
160 Add taskgroup_queue.
161 (struct gomp_team): Change task_queue type to a priority queue.
162 (splay_compare): Define inline.
163 (priority_queue_offset): New.
164 (priority_node_to_task): New.
165 (task_to_priority_node): New.
166 * oacc-mem.c: Do not include splay-tree.h.
167 * priority_queue.c: New file.
168 * priority_queue.h: New file.
169 * splay-tree.c: Do not include splay-tree.h.
170 (splay_tree_foreach_internal): New.
171 (splay_tree_foreach): New.
172 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
173 (splay_tree_callback): Define typedef.
174 * target.c (splay_compare): Move to libgomp.h.
175 (GOMP_target): Don't adjust *thr in any way around running offloaded
176 task.
177 (GOMP_target_ext): Likewise. Handle target nowait.
178 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
179 return value from gomp_create_target_task, if false, fallthrough
180 as if no dependencies exist.
181 (gomp_target_task_fn): Change return type to bool, return true
182 if the task should have another part scheduled later. Handle
183 target nowait.
184 (gomp_load_plugin_for_device): Initialize async_run.
185 * task.c (gomp_init_task): Initialize children_queue.
186 (gomp_clear_parent_in_list): New.
187 (gomp_clear_parent_in_tree): New.
188 (gomp_clear_parent): Handle priorities.
189 (GOMP_task): Likewise.
190 (priority_queue_move_task_first,
191 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
192 New functions.
193 (gomp_create_target_task): Use priority queues. Change return type
194 to bool, add state argument, return false if for async
195 {{enter,exit} data,update} constructs no dependencies need to be
196 waited for, handle target nowait. Set task->fn to NULL instead of
197 gomp_target_task_fn.
198 (verify_children_queue): Remove.
199 (priority_list_upgrade_task): New.
200 (priority_queue_upgrade_task): New.
201 (verify_task_queue): Remove.
202 (priority_list_downgrade_task): New.
203 (priority_queue_downgrade_task): New.
204 (gomp_task_run_pre): Use priority queues.
205 Abstract code out to priority_queue_downgrade_task.
206 (gomp_task_run_post_handle_dependers): Use priority queues.
207 (gomp_task_run_post_remove_parent): Likewise.
208 (gomp_task_run_post_remove_taskgroup): Likewise.
209 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
210 tasks specially.
211 (GOMP_taskwait): Likewise.
212 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
213 priority-queue_upgrade_task.
214 (GOMP_taskgroup_start): Use priority queues.
215 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
216 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
217 barrier.
218 * taskloop.c (GOMP_taskloop): Handle priorities.
219 * team.c (gomp_new_team): Call priority_queue_init.
220 (free_team): Call priority_queue_free.
221 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
222 team created for target nowait in implicit parallel region.
223 (gomp_team_start): For nested check, test thr->ts.level instead of
224 thr->ts.team != NULL.
225 * testsuite/libgomp.c/doacross-3.c: New test.
226 * testsuite/libgomp.c/ordered-5.c: New test.
227 * testsuite/libgomp.c/priority.c: New test.
228 * testsuite/libgomp.c/target-31.c: New test.
229 * testsuite/libgomp.c/target-32.c: New test.
230 * testsuite/libgomp.c/target-33.c: New test.
231 * testsuite/libgomp.c/target-34.c: New test.
232
1d1ab74f
NS
2332015-11-13 Nathan Sidwell <nathan@codesourcery.com>
234
c5a64cfe
NS
235 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
236
1d1ab74f
NS
237 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
238 loop is sequential.
239
dd3c1b14
NS
2402015-11-13 Nathan Sidwell <nathan@codesourcery.com>
241
242 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
243 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
244
6e232ba4
JN
2452015-11-12 James Norris <jnorris@codesourcery.com>
246 Joseph Myers <joseph@codesourcery.com>
247
248 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
249 * oacc-parallel.c (GOACC_declare): New function.
250 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
251 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
252 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
253 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
254 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
255
fffeedeb
NS
2562015-11-12 Nathan Sidwell <nathan@codesourcery.com>
257
258 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
259
182190f2
NS
2602015-11-1 Nathan Sidwell <nathan@codesourcery.com>
261
262 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
263 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
264
36fa0f5f
NS
2652015-11-09 Nathan Sidwell <nathan@codesourcery.com>
266
d350c40c
NS
267 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
268 inadvertent commit.
269
2702015-11-09 Nathan Sidwell <nathan@codesourcery.com>
271
36fa0f5f
NS
272 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
273 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
274 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
275 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
276 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
277
66a5f0b4
TS
2782015-11-06 Thomas Schwinge <thomas@codesourcery.com>
279
280 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
281 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
282
e01d41e5
JJ
2832015-11-05 Jakub Jelinek <jakub@redhat.com>
284 Ilya Verbin <ilya.verbin@intel.com>
285
286 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
287 GOMP_loop_nonmonotonic_dynamic_start,
288 GOMP_loop_nonmonotonic_guided_next,
289 GOMP_loop_nonmonotonic_guided_start,
290 GOMP_loop_ull_nonmonotonic_dynamic_next,
291 GOMP_loop_ull_nonmonotonic_dynamic_start,
292 GOMP_loop_ull_nonmonotonic_guided_next,
293 GOMP_loop_ull_nonmonotonic_guided_start,
294 GOMP_parallel_loop_nonmonotonic_dynamic,
295 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
296 (GOMP_target_41): Renamed to ...
297 (GOMP_target_ext): ... this. Add num_teams and thread_limit
298 arguments.
299 (GOMP_target_data_41): Renamed to ...
300 (GOMP_target_data_ext): ... this.
301 (GOMP_target_update_41): Renamed to ...
302 (GOMP_target_update_ext): ... this.
303 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
304 GOMP_target_data_ext and GOMP_target_update_ext instead of
305 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
306 Export GOMP_loop_nonmonotonic_dynamic_next,
307 GOMP_loop_nonmonotonic_dynamic_start,
308 GOMP_loop_nonmonotonic_guided_next,
309 GOMP_loop_nonmonotonic_guided_start,
310 GOMP_loop_ull_nonmonotonic_dynamic_next,
311 GOMP_loop_ull_nonmonotonic_dynamic_start,
312 GOMP_loop_ull_nonmonotonic_guided_next,
313 GOMP_loop_ull_nonmonotonic_guided_start,
314 GOMP_parallel_loop_nonmonotonic_dynamic and
315 GOMP_parallel_loop_nonmonotonic_guided.
316 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
317 GOMP_parallel_loop_nonmonotonic_guided,
318 GOMP_loop_nonmonotonic_dynamic_start,
319 GOMP_loop_nonmonotonic_guided_start,
320 GOMP_loop_nonmonotonic_dynamic_next,
321 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
322 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
323 GOMP_loop_ull_nonmonotonic_guided_start,
324 GOMP_loop_ull_nonmonotonic_dynamic_next,
325 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
326 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
327 functions.
328 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
329 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
330 Use gomp_map_val function.
331 (gomp_target_fallback_firstprivate): New static function.
332 (GOMP_target_41): Renamed to ...
333 (GOMP_target_ext): ... this. Add num_teams and thread_limit
334 arguments. Move firstprivate fallback handling into a new
335 function.
336 (GOMP_target_data_41): Renamed to ...
337 (GOMP_target_data_ext): ... this.
338 (GOMP_target_update_41): Renamed to ...
339 (GOMP_target_update_ext): ... this.
340 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
341 gomp_map_0len_lookup instead of gomp_map_lookup.
342 (omp_target_is_present): Use gomp_map_0len_lookup instead of
343 gomp_map_lookup.
344 * testsuite/libgomp.c/target-28.c: Likewise.
345 * testsuite/libgomp.c/monotonic-1.c: New test.
346 * testsuite/libgomp.c/monotonic-2.c: New test.
347 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
348 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
349 * testsuite/libgomp.c/pr66199-5.c: New test.
350 * testsuite/libgomp.c/pr66199-6.c: New test.
351 * testsuite/libgomp.c/pr66199-7.c: New test.
352 * testsuite/libgomp.c/pr66199-8.c: New test.
353 * testsuite/libgomp.c/pr66199-9.c: New test.
354 * testsuite/libgomp.c/reduction-11.c: New test.
355 * testsuite/libgomp.c/reduction-12.c: New test.
356 * testsuite/libgomp.c/reduction-13.c: New test.
357 * testsuite/libgomp.c/reduction-14.c: New test.
358 * testsuite/libgomp.c/reduction-15.c: New test.
359 * testsuite/libgomp.c/target-12.c (main): Adjust for
360 omp_target_is_present change for one-past-last element.
361 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
362 the same var is both mapped and privatized.
363 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
364 handling of zero-length array sections.
365 * testsuite/libgomp.c/target-28.c: New test.
366 * testsuite/libgomp.c/target-29.c: New test.
367 * testsuite/libgomp.c/target-30.c: New test.
368 * testsuite/libgomp.c/target-teams-1.c: New test.
369 * testsuite/libgomp.c++/member-6.C: New test.
370 * testsuite/libgomp.c++/member-7.C: New test.
371 * testsuite/libgomp.c++/monotonic-1.C: New test.
372 * testsuite/libgomp.c++/monotonic-2.C: New test.
373 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
374 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
375 * testsuite/libgomp.c++/pr66199-3.C: New test.
376 * testsuite/libgomp.c++/pr66199-4.C: New test.
377 * testsuite/libgomp.c++/pr66199-5.C: New test.
378 * testsuite/libgomp.c++/pr66199-6.C: New test.
379 * testsuite/libgomp.c++/pr66199-7.C: New test.
380 * testsuite/libgomp.c++/pr66199-8.C: New test.
381 * testsuite/libgomp.c++/pr66199-9.C: New test.
382 * testsuite/libgomp.c++/reduction-11.C: New test.
383 * testsuite/libgomp.c++/reduction-12.C: New test.
384 * testsuite/libgomp.c++/target-13.C: New test.
385 * testsuite/libgomp.c++/target-14.C: New test.
386 * testsuite/libgomp.c++/target-15.C: New test.
387 * testsuite/libgomp.c++/target-16.C: New test.
388 * testsuite/libgomp.c++/target-17.C: New test.
389 * testsuite/libgomp.c++/target-18.C: New test.
390 * testsuite/libgomp.c++/target-19.C: New test.
391
ccc8282b
NS
3922015-11-04 Nathan Sidwell <nathan@codesourcery.com>
393
394 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
395 and reduction copy.
396 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
397 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
398 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
399 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
400 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
401 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
402 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
403 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
404 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
405 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
406 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
408 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
410
5d6823a2
NS
4112015-11-04 Nathan Sidwell <nathan@codesourcery.com>
412
413 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
414 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
415 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
416 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
417 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
418 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
419 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
420 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
421
5c06742f
NS
4222015-11-03 Nathan Sidwell <nathan@codesourcery.com>
423
424 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
425 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
426 (GOMP_OFFLOAD_openacc_parallel): Likewise.
427 * oacc-host.c (host_openacc_exec): Likewise.
428 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
429
4bf9e5a8
TS
4302015-11-03 Julian Brown <julian@codesourcery.com>
431 Thomas Schwinge <thomas@codesourcery.com>
432
433 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
434 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
435 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
436 Likewise.
437 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
438 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
439
4402015-11-03 James Norris <jnorris@codesourcery.com>
441
442 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
443 file.
444 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
445 Likewise.
446 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
447 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
448 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
449 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
450 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
451
a0e701d8
NS
4522015-10-29 Nathan Sidwell <nathan@codesourcery.com>
453
454 * openacc.h (enum acc_device_t): Reformat. Ensure layout
455 compatibility.
456 (enum acc_async_t): Reformat.
457 (acc_on_device): Declare compatible with builtin and provide C++
458 wrapper.
459 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
460
41e977ac
TS
4612015-10-29 Thomas Schwinge <thomas@codesourcery.com>
462 Cesar Philippidis <cesar@codesourcery.com>
463
464 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
465 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
466 ... this. Add a description of the test at the top of the file.
467 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
468 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
469 ... this. Add a description of the test at the top of the file.
470
e3091406
NS
4712015-10-28 Nathan Sidwell <nathan@codesourcery.com>
472
473 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
474 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
475 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
476 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
477 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
478 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
479
a1c1908b
NS
4802015-10-27 Nathan Sidwell <nathan@codesourcery.com>
481
482 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
483 dimensions.
484
b3962a4a
TS
4852015-10-27 Thomas Schwinge <thomas@codesourcery.com>
486
487 PR testsuite/68063
488 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
489
88bae6f4
TS
4902015-10-27 James Norris <jnorris@codesourcery.com>
491
492 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
493 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
494
8baa7864
TS
4952015-10-26 Thomas Schwinge <thomas@codesourcery.com>
496
bdeb752c
TS
497 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
498 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
499
ecd4fd43
TS
500 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
501 acc_device_nvidia usage.
502 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
503 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
504 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
505
aa8b7d30
TS
506 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
507 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
508
7c8f138d
TS
509 PR libgomp/66518
510 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
511
8baa7864
TS
512 PR libgomp/65437
513 PR libgomp/66518
514 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
515 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
516
88ebcde5
TV
5172015-10-23 Tom de Vries <tom@codesourcery.com>
518
519 PR testsuite/68063
520 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
521
9ef83c04
NS
5222015-10-20 Nathan Sidwell <nathan@codesourcery.com>
523
524 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
525 vector_length.
526 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
527
3837c6d6
IV
5282015-10-14 Ilya Verbin <ilya.verbin@intel.com>
529 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
530
531 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
532 to 0 when mapnum is 0.
533
ac8a1965
SH
5342015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
535
536 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
537 Cast to int from int32_t.
538
d9a6bd32
JJ
5392015-10-13 Jakub Jelinek <jakub@redhat.com>
540 Aldy Hernandez <aldyh@redhat.com>
541 Ilya Verbin <ilya.verbin@intel.com>
542
543 * config/linux/affinity.c (omp_get_place_num_procs,
544 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
545 * config/linux/doacross.h: New file.
546 * config/posix/affinity.c (omp_get_place_num_procs,
547 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
548 * config/posix/doacross.h: New file.
549 * env.c: Include gomp-constants.h.
550 (struct gomp_task_icv): Rename run_sched_modifier to
551 run_sched_chunk_size.
552 (gomp_max_task_priority_var): New variable.
553 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
554 (handle_omp_display_env): Change _OPENMP value from 201307 to
555 201511. Print OMP_MAX_TASK_PRIORITY.
556 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
557 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
558 chunk_size and run_sched_modifier to run_sched_chunk_size.
559 (omp_get_max_task_priority, omp_get_initial_device,
560 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
561 omp_get_partition_place_nums): New functions.
562 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
563 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
564 to chunk_size.
565 (omp_get_num_places_, omp_get_place_num_procs_,
566 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
567 omp_get_place_proc_ids_8_, omp_get_place_num_,
568 omp_get_partition_num_places_, omp_get_partition_place_nums_,
569 omp_get_partition_place_nums_8_, omp_get_initial_device_,
570 omp_get_max_task_priority_): New functions.
571 * libgomp_g.h (GOMP_loop_doacross_static_start,
572 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
573 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
574 GOMP_loop_ull_doacross_dynamic_start,
575 GOMP_loop_ull_doacross_guided_start,
576 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
577 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
578 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
579 GOMP_target_data_41, GOMP_target_update_41,
580 GOMP_target_enter_exit_data): New prototypes.
581 (GOMP_task): Add prototype argument.
582 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
583 (struct gomp_doacross_work_share): New type.
584 (struct gomp_work_share): Add doacross field.
585 (struct gomp_task_icv): Rename run_sched_modifier to
586 run_sched_chunk_size.
587 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
588 GOMP_TASK_UNDEFERRED. Add comments.
589 (struct gomp_task_depend_entry): Add comments.
590 (struct gomp_task): Likewise.
591 (struct gomp_taskgroup): Likewise.
592 (struct gomp_target_task): New type.
593 (struct gomp_team): Add comment.
594 (gomp_get_place_proc_ids_8, gomp_doacross_init,
595 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
596 gomp_create_target_task, gomp_target_task_fn): New prototypes.
597 (struct target_var_desc): New type.
598 (struct target_mem_desc): Adjust comment. Use struct
599 target_var_desc instead of splay_tree_key for list.
600 (REFCOUNT_INFINITY): Define.
601 (struct splay_tree_key_s): Remove copy_from field.
602 (struct gomp_device_descr): Add dev2dev_func field.
603 (enum gomp_map_vars_kind): New enum.
604 (gomp_map_vars): Add one argument.
605 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
606 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
607 omp_get_place_num_procs, omp_get_place_num_procs_,
608 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
609 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
610 omp_get_place_num_, omp_get_partition_num_places,
611 omp_get_partition_num_places_, omp_get_partition_place_nums,
612 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
613 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
614 omp_target_free, omp_target_is_present, omp_target_memcpy,
615 omp_target_memcpy_rect, omp_target_associate_ptr and
616 omp_target_disassociate_ptr.
617 (GOMP_4.0.2): Renamed to ...
618 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
619 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
620 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
621 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
622 GOMP_loop_doacross_static_start, GOMP_doacross_post,
623 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
624 GOMP_loop_ull_doacross_guided_start,
625 GOMP_loop_ull_doacross_runtime_start,
626 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
627 GOMP_doacross_ull_wait.
628 * libgomp.texi: Document omp_get_max_task_priority.
629 Rename modifier argument to chunk_size for omp_set_schedule and
630 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
631 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
632 to run_sched_chunk_size renaming.
633 (GOMP_loop_ordered_runtime_start): Likewise.
634 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
635 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
636 GOMP_parallel_loop_runtime_start): New functions.
637 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
638 to run_sched_chunk_size renaming.
639 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
640 GOMP_loop_doacross_guided_start): New functions or aliases.
641 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
642 run_sched_modifier to run_sched_chunk_size renaming.
643 (GOMP_loop_ull_ordered_runtime_start): Likewise.
644 (gomp_loop_ull_doacross_static_start,
645 gomp_loop_ull_doacross_dynamic_start,
646 gomp_loop_ull_doacross_guided_start,
647 GOMP_loop_ull_doacross_runtime_start): New functions.
648 (GOMP_loop_ull_doacross_static_start,
649 GOMP_loop_ull_doacross_dynamic_start,
650 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
651 * oacc-mem.c (acc_map_data, present_create_copy,
652 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
653 to gomp_map_vars.
654 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
655 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
656 instead of false to gomp_map_vars.
657 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
658 * omp.h.in (omp_lock_hint_t): New type.
659 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
660 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
661 omp_get_place_num, omp_get_partition_num_places,
662 omp_get_partition_place_nums, omp_get_initial_device,
663 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
664 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
665 omp_target_associate_ptr, omp_target_disassociate_ptr): New
666 prototypes.
667 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
668 (omp_lock_hint_none, omp_lock_hint_uncontended,
669 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
670 omp_lock_hint_speculative): New parameters.
671 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
672 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
673 omp_get_place_num, omp_get_partition_num_places,
674 omp_get_partition_place_nums, omp_get_initial_device,
675 omp_get_max_task_priority): New interfaces.
676 (omp_set_schedule, omp_get_schedule): Rename modifier argument
677 to chunk_size.
678 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
679 (omp_lock_hint_none, omp_lock_hint_uncontended,
680 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
681 omp_lock_hint_speculative): New parameters.
682 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
683 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
684 omp_get_place_num, omp_get_partition_num_places,
685 omp_get_partition_place_nums, omp_get_initial_device,
686 omp_get_max_task_priority): New functions and subroutines.
687 * ordered.c: Include stdarg.h and string.h.
688 (MAX_COLLAPSED_BITS): Define.
689 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
690 gomp_doacross_ull_init, GOMP_doacross_ull_post,
691 GOMP_doacross_ull_wait): New functions.
692 * target.c: Include errno.h.
693 (resolve_device): If device is not initialized, call
694 gomp_init_device on it.
695 (gomp_map_lookup): New function.
696 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
697 Don't bump refcount if REFCOUNT_INFINITY. Handle
698 GOMP_MAP_ALWAYS_TO_P.
699 (get_kind): Rename is_openacc argument to short_mapkind.
700 (gomp_map_pointer): Use gomp_map_lookup.
701 (gomp_map_fields_existing): New function.
702 (gomp_map_vars): Rename is_openacc argument to short_mapkind
703 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
704 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
705 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
706 Adjust for tgt->list changed type and copy_from living in there.
707 (gomp_copy_from_async): Adjust for tgt->list changed type and
708 copy_from living in there.
709 (gomp_unmap_vars): Likewise.
710 (gomp_update): Likewise. Rename is_openacc argument to
711 short_mapkind. Don't fail if object is not mapped.
712 (gomp_load_image_to_device): Initialize refcount to
713 REFCOUNT_INFINITY.
714 (gomp_target_fallback): New function.
715 (gomp_get_target_fn_addr): Likewise.
716 (GOMP_target): Adjust gomp_map_vars caller, use
717 gomp_get_target_fn_addr and gomp_target_fallback.
718 (GOMP_target_41): New function.
719 (gomp_target_data_fallback): New function.
720 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
721 (GOMP_target_data_41): New function.
722 (GOMP_target_update): Adjust gomp_update caller.
723 (GOMP_target_update_41): New function.
724 (gomp_exit_data, GOMP_target_enter_exit_data,
725 gomp_target_task_fn, omp_target_alloc, omp_target_free,
726 omp_target_is_present, omp_target_memcpy,
727 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
728 omp_target_associate_ptr, omp_target_disassociate_ptr,
729 gomp_load_plugin_for_device): New functions.
730 * task.c: Include gomp-constants.h. Include taskloop.c
731 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
732 (gomp_task_handle_depend): New function.
733 (GOMP_task): Use it. Add priority argument. Use
734 gomp-constant.h constants instead of hardcoded numbers.
735 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
736 (gomp_create_target_task): New function.
737 (verify_children_queue, verify_taskgroup_queue,
738 verify_task_queue): New functions.
739 (gomp_task_run_pre): Call verify_*_queue functions.
740 If an upcoming tied task is about to leave the sibling or
741 taskgroup queues in an invalid state, adjust appropriately.
742 Remove taskgroup argument. Add comments.
743 (gomp_task_run_post_handle_dependers): Add comments.
744 (gomp_task_run_post_remove_parent): Likewise.
745 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
746 (GOMP_taskwait): Likewise. Add comments.
747 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
748 problem such that the first non parent_depends_on task does not
749 end up at the end of the children queue.
750 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
751 GOMP_TASK_UNDEFERRED.
752 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
753 * taskloop.c: New file.
754 * testsuite/lib/libgomp.exp
755 (check_effective_target_offload_device_nonshared_as): New proc.
756 * testsuite/libgomp.c/affinity-2.c: New test.
757 * testsuite/libgomp.c/doacross-1.c: New test.
758 * testsuite/libgomp.c/doacross-2.c: New test.
759 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
760 Add map clause to target.
761 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
762 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
763 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
764 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
765 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
766 Likewise.
767 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
768 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
769 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
770 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
771 not defined. Use those where needed.
772 * testsuite/libgomp.c/for-4.c: New test.
773 * testsuite/libgomp.c/for-5.c: New test.
774 * testsuite/libgomp.c/for-6.c: New test.
775 * testsuite/libgomp.c/linear-1.c: New test.
776 * testsuite/libgomp.c/ordered-4.c: New test.
777 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
778 only allowed on the loop iterator.
779 * testsuite/libgomp.c/pr66199-3.c: New test.
780 * testsuite/libgomp.c/pr66199-4.c: New test.
781 * testsuite/libgomp.c/reduction-7.c: New test.
782 * testsuite/libgomp.c/reduction-8.c: New test.
783 * testsuite/libgomp.c/reduction-9.c: New test.
784 * testsuite/libgomp.c/reduction-10.c: New test.
785 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
786 map(tofrom:s).
787 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
788 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
789 * testsuite/libgomp.c/target-11.c: New test.
790 * testsuite/libgomp.c/target-12.c: New test.
791 * testsuite/libgomp.c/target-13.c: New test.
792 * testsuite/libgomp.c/target-14.c: New test.
793 * testsuite/libgomp.c/target-15.c: New test.
794 * testsuite/libgomp.c/target-16.c: New test.
795 * testsuite/libgomp.c/target-17.c: New test.
796 * testsuite/libgomp.c/target-18.c: New test.
797 * testsuite/libgomp.c/target-19.c: New test.
798 * testsuite/libgomp.c/target-20.c: New test.
799 * testsuite/libgomp.c/target-21.c: New test.
800 * testsuite/libgomp.c/target-22.c: New test.
801 * testsuite/libgomp.c/target-23.c: New test.
802 * testsuite/libgomp.c/target-24.c: New test.
803 * testsuite/libgomp.c/target-25.c: New test.
804 * testsuite/libgomp.c/target-26.c: New test.
805 * testsuite/libgomp.c/target-27.c: New test.
806 * testsuite/libgomp.c/taskloop-1.c: New test.
807 * testsuite/libgomp.c/taskloop-2.c: New test.
808 * testsuite/libgomp.c/taskloop-3.c: New test.
809 * testsuite/libgomp.c/taskloop-4.c: New test.
810 * testsuite/libgomp.c++/ctor-13.C: New test.
811 * testsuite/libgomp.c++/doacross-1.C: New test.
812 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
813 Replace offload_device with offload_device_nonshared_as.
814 * testsuite/libgomp.c++/for-12.C: New test.
815 * testsuite/libgomp.c++/for-13.C: New test.
816 * testsuite/libgomp.c++/for-14.C: New test.
817 * testsuite/libgomp.c++/linear-1.C: New test.
818 * testsuite/libgomp.c++/member-1.C: New test.
819 * testsuite/libgomp.c++/member-2.C: New test.
820 * testsuite/libgomp.c++/member-3.C: New test.
821 * testsuite/libgomp.c++/member-4.C: New test.
822 * testsuite/libgomp.c++/member-5.C: New test.
823 * testsuite/libgomp.c++/ordered-1.C: New test.
824 * testsuite/libgomp.c++/reduction-5.C: New test.
825 * testsuite/libgomp.c++/reduction-6.C: New test.
826 * testsuite/libgomp.c++/reduction-7.C: New test.
827 * testsuite/libgomp.c++/reduction-8.C: New test.
828 * testsuite/libgomp.c++/reduction-9.C: New test.
829 * testsuite/libgomp.c++/reduction-10.C: New test.
830 * testsuite/libgomp.c++/reference-1.C: New test.
831 * testsuite/libgomp.c++/simd14.C: New test.
832 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
833 * testsuite/libgomp.c++/target-5.C: New test.
834 * testsuite/libgomp.c++/target-6.C: New test.
835 * testsuite/libgomp.c++/target-7.C: New test.
836 * testsuite/libgomp.c++/target-8.C: New test.
837 * testsuite/libgomp.c++/target-9.C: New test.
838 * testsuite/libgomp.c++/target-10.C: New test.
839 * testsuite/libgomp.c++/target-11.C: New test.
840 * testsuite/libgomp.c++/target-12.C: New test.
841 * testsuite/libgomp.c++/taskloop-1.C: New test.
842 * testsuite/libgomp.c++/taskloop-2.C: New test.
843 * testsuite/libgomp.c++/taskloop-3.C: New test.
844 * testsuite/libgomp.c++/taskloop-4.C: New test.
845 * testsuite/libgomp.c++/taskloop-5.C: New test.
846 * testsuite/libgomp.c++/taskloop-6.C: New test.
847 * testsuite/libgomp.c++/taskloop-7.C: New test.
848 * testsuite/libgomp.c++/taskloop-8.C: New test.
849 * testsuite/libgomp.c++/taskloop-9.C: New test.
850 * testsuite/libgomp.fortran/affinity1.f90: New test.
851 * testsuite/libgomp.fortran/affinity2.f90: New test.
852
1f600fea
TV
8532015-10-13 Tom de Vries <tom@codesourcery.com>
854
855 PR tree-optimization/67476
856 * testsuite/libgomp.c/autopar-3.c: New test.
857 * testsuite/libgomp.c/autopar-4.c: New test.
858 * testsuite/libgomp.c/autopar-5.c: New test.
859 * testsuite/libgomp.c/autopar-6.c: New test.
860 * testsuite/libgomp.c/autopar-7.c: New test.
861 * testsuite/libgomp.c/autopar-8.c: New test.
862
058a654b
JN
8632015-10-12 James Norris <jnorris@codesourcery.com>
864
865 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
866 initializer.
867
9e531d37
DM
8682015-10-09 David Malcolm <dmalcolm@redhat.com>
869
870 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
871 using load_gcc_lib.
872
113020dc
TS
8732015-10-02 Thomas Schwinge <thomas@codesourcery.com>
874
875 * oacc-ptx.h: Remove file, moving its content into...
876 * config/nvptx/fortran.c: ... here...
877 * config/nvptx/oacc-init.c: ..., here...
878 * config/nvptx/oacc-parallel.c: ..., and here.
879 * config/nvptx/openacc.f90: New file.
880 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
881 (link_ptx): Don't link in predefined bits of PTX code.
882
cc3cd79b
NS
8832015-09-30 Nathan Sidwell <nathan@codesourcery.com>
884 Bernd Schmidt <bernds@codesourcery.com>
885
886 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
887 (struct targ_ptx_obj): New.
888 (nvptx_tdata): Move earlier, change data format.
889 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
890 objects.
891 (GOMP_OFFLOAD_load_image): Adjust.
892
4e2a5450
TS
8932015-09-30 Thomas Schwinge <thomas@codesourcery.com>
894
895 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
896 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
900 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
901 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
902 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
904 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
905 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
906 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
907 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
908 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
909 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
910 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
911 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
912 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
913 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
914 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
915 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
916 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
917 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
918 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
919 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
920 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
921 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
922 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
923 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
924 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
925 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
926 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
927 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
928 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
929 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
930 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
931 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
932 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
933 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
934 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
935 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
936 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
937 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
938 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
939 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
940 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
941 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
942 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
943 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
945 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
947 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
948 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
949 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
950 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
951 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
952 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
953 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
954 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
955 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
956 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
957 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
958
164453bb
NS
9592015-09-29 Nathan Sidwell <nathan@codesourcery.com>
960
961 * oacc-init.c (acc_on_device): Force optimization level.
962
a12a0437
NS
9632015-09-29 Nathan Sidwell <nathan@codesourcery.com>
964
965 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
966 (cuda_errlist): Delete.
967 (cuda_error): Reimplement.
968
3e32ee19
NS
9692015-09-28 Nathan Sidwell <nathan@codesourcery.com>
970
971 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
972 array.
973 * libgomp.map (GOACC_parallel_keyed): New.
974 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
975 all callers.
976 (GOACC_parallel_keyed): New interface. Lose geometry arguments
977 and take keyed varargs list. Adjust call to exec_func.
978 (GOACC_parallel): Force host fallback.
979 * libgomp_g.h (GOACC_parallel): Remove.
980 (GOACC_parallel_keyed): Declare.
981 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
982 (stuct targ_gn_descriptor): Replace name field with launch field.
983 (nvptx_exec): Lose separate geometry args, take array. Process
984 dynamic dimensions and adjust.
985 (struct nvptx_tdata): Replace fn_names field with fn_descs.
986 (GOMP_OFFLOAD_load_image): Adjust for change in function table
987 data.
988 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
989 passing.
990 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
991 passing.
992
6bb4c3e2
CLT
9932015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
994
995 PR libgomp/67141
996 * oacc-int.h (goacc_host_init): Add declaration.
997 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
998 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
999
74032f47
AK
10002015-09-08 Aditya Kumar <hiraditya@msn.com>
1001 Sebastian Pop <s.pop@samsung.com>
1002
1003 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
1004 match o/p.
1005 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
1006 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
1007 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
1008 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
1009 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1010
97875f4a
JJ
10112015-09-03 Jakub Jelinek <jakub@redhat.com>
1012
1013 * configure.tgt: Add missing ;; in between nvptx and rtems
1014 snippets.
1015
06441dd5
SH
10162015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1017
1018 * config/posix/pool.h (gomp_adjust_thread_attr): New.
1019 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
1020 (gomp_thread_pool_reservoir): Add priority member.
1021 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
1022 priority.
1023 (parse_thread_pools): Likewise.
1024 * team.c (gomp_team_start): Call configuration provided
1025 gomp_adjust_thread_attr(). Destroy thread attributes if
1026 necessary.
1027 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
1028
66c59f92
SH
10292015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1030
1031 * config/posix/pool.h: New.
1032 * config/rtems/pool.h: Likewise.
1033 * config/rtems/proc.c: Likewise.
1034 * libgomp.h (gomp_thread_destructor): Declare.
1035 * team.c: Include configuration provided "pool.h".
1036 (gomp_get_thread_pool): Define in configuration.
1037 (gomp_team_end): Call configuration defined
1038 gomp_release_thread_pool().
1039
13c41b2e
SH
10402015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1041
1042 * config/rtems/bar.c: New.
1043 * config/rtems/bar.h: Likewise.
1044 * config/rtems/mutex.c: Likewise.
1045 * config/rtems/mutex.h: Likewise.
1046 * config/rtems/sem.c: Likewise.
1047 * config/rtems/sem.h: Likewise.
1048 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
1049 <sys/lock.h> header file.
1050 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
1051 supported by Newlib.
1052 * configure: Regenerate.
1053
7892ec67
SH
10542015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1055
1056 * team.c (gomp_new_thread_pool): Delete and move content to ...
1057 (gomp_get_thread_pool): ... new function. Allocate and
1058 initialize thread pool on demand.
1059 (get_last_team): Use gomp_get_thread_pool().
1060 (gomp_team_start): Delete thread pool initialization.
1061
1b96e9a4
TV
10622015-09-03 Tom de Vries <tom@codesourcery.com>
1063
1064 PR tree-optimization/65637
1065 * testsuite/libgomp.c/autopar-2.c: New test.
1066
3ff2d74e
TV
10672015-08-29 Tom de Vries <tom@codesourcery.com>
1068
1069 PR tree-optimization/46193
1070 * testsuite/libgomp.c/pr46193.c: New test.
1071
2a21ff19
NS
10722015-08-24 Nathan Sidwell <nathan@codesourcery.com>
1073
1074 libgomp/
1075 * libgomp.map: Add 4.0.2 version.
1076 * target.c (offload_image_descr): Add version field.
1077 (gomp_load_image_to_device): Add version argument. Adjust plugin
1078 call. Improve load mismatch diagnostic.
1079 (gomp_unload_image_from_device): Add version argument. Adjust plugin
1080 call.
1081 (GOMP_offload_regster): Make stub function, move bulk to ...
1082 (GOMP_offload_register_ver): ... here. Process version argument.
1083 (GOMP_offload_unregister): Make stub function, move bulk to ...
1084 (GOMP_offload_unregister_ver): ... here. Process version argument.
1085 (gomp_init_device): Process version field.
1086 (gomp_unload_device): Process version field.
1087 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
1088 macros. Check plugin version.
1089 * libgomp.h (gomp_device_descr): Add version function field. Adjust
1090 loader and unloader types.
1091 * oacc-host.c: Include gomp-constants.h.
1092 (host_version): New.
1093 (host_load_image, host_unload_image): Adjust.
1094 (host_dispatch): Add host_version.
1095 * plugin/plugin-nvptx.c: Include gomp-constants.h.
1096 (GOMP_OFFLOAD_version): New.
1097 (GOMP_OFFLOAD_load_image): Add version arg and check it.
1098 (GOMP_OFFLOAD_unload_image): Likewise.
1099 * plugin/plugin-host.c: Include gomp-constants.h.
1100 (GOMP_OFFLOAD_version): New.
1101 (GOMP_OFFLOAD_load_image): Add version arg.
1102 (GOMP_OFFLOAD_unload_image): Likewise.
1103
1358a747
TV
11042015-08-24 Tom de Vries <tom@codesourcery.com>
1105
1106 PR tree-optimization/65468
1107 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
1108
6be5c241
TV
11092015-08-24 Tom de Vries <tom@codesourcery.com>
1110
1111 PR tree-optimization/65468
1112 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
1113
bfe7ac89
JV
11142015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
1115
1116 PR libgomp/66761
1117 PR libgomp/67303
1118 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
1119 (gomp_iter_guided_next): Idem.
1120 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
1121 (gomp_iter_ull_guided_next): Idem.
1122 * config/linux/wait.h (do_spin): Idem.
1123
b97e78b7
TS
11242015-08-10 Thomas Schwinge <thomas@codesourcery.com>
1125
1126 * libgomp-plugin.h (enum offload_target_type): Remove
1127 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
1128 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
1129 * openacc.h (enum acc_device_t): Likewise.
1130 * openacc_lib.h: Likewise.
1131 * oacc-init.c (name_of_acc_device_t): Don't handle it.
1132 (acc_on_device): Just use __builtin_acc_on_device.
1133 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
1134 of acc_on_device builtin.
1135 * plugin/plugin-host.h: Remove file.
1136 * plugin/plugin-host.c: Likewise, but salvage some content into...
1137 * oacc-host.c: ... this file.
1138 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
1139 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
1140 * Makefile.in: Regenerate.
1141 * configure: Likewise.
1142 * testsuite/lib/libgomp.exp
1143 (check_effective_target_openacc_host_nonshm_selected): Remove.
1144 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
1145 ACC_DEVICE_TYPE=host_nonshm.
1146 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1147 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1148 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
1149 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1150 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1151 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1152
44a7d18d
TS
11532015-08-10 Thomas Schwinge <thomas@codesourcery.com>
1154 Jakub Jelinek <jakub@redhat.com>
1155
1156 * config/nvptx/affinity.c: New file.
1157 * config/nvptx/alloc.c: Likewise.
1158 * config/nvptx/bar.c: Likewise.
1159 * config/nvptx/barrier.c: Likewise.
1160 * config/nvptx/critical.c: Likewise.
1161 * config/nvptx/env.c: Likewise.
1162 * config/nvptx/error.c: Likewise.
1163 * config/nvptx/fortran.c: Likewise.
1164 * config/nvptx/iter.c: Likewise.
1165 * config/nvptx/iter_ull.c: Likewise.
1166 * config/nvptx/libgomp-plugin.c: Likewise.
1167 * config/nvptx/lock.c: Likewise.
1168 * config/nvptx/loop.c: Likewise.
1169 * config/nvptx/loop_ull.c: Likewise.
1170 * config/nvptx/mutex.c: Likewise.
1171 * config/nvptx/oacc-async.c: Likewise.
1172 * config/nvptx/oacc-cuda.c: Likewise.
1173 * config/nvptx/oacc-host.c: Likewise.
1174 * config/nvptx/oacc-init.c: Likewise.
1175 * config/nvptx/oacc-mem.c: Likewise.
1176 * config/nvptx/oacc-parallel.c: Likewise.
1177 * config/nvptx/oacc-plugin.c: Likewise.
1178 * config/nvptx/omp-lock.h: Likewise.
1179 * config/nvptx/ordered.c: Likewise.
1180 * config/nvptx/parallel.c: Likewise.
1181 * config/nvptx/proc.c: Likewise.
1182 * config/nvptx/ptrlock.c: Likewise.
1183 * config/nvptx/sections.c: Likewise.
1184 * config/nvptx/sem.c: Likewise.
1185 * config/nvptx/single.c: Likewise.
1186 * config/nvptx/splay-tree.c: Likewise.
1187 * config/nvptx/target.c: Likewise.
1188 * config/nvptx/task.c: Likewise.
1189 * config/nvptx/team.c: Likewise.
1190 * config/nvptx/time.c: Likewise.
1191 * config/nvptx/work.c: Likewise.
1192 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
1193 * configure: Regenerate.
1194 * configure.tgt (config_path): Set to "nvptx" for target
1195 nvptx*-*-*.
1196
96a2d174
TS
11972015-08-10 Thomas Schwinge <thomas@codesourcery.com>
1198
1199 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
1200
9ebddeb0
NS
12012015-08-03 Nathan Sidwell <nathan@codesourcery.com>
1202
1203 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
1204 (cuda_errlist): Constify.
1205 (errmsg): Move into ...
1206 (cuda_error): ... here. Make smaller.
1207 (_XSTR, _STR): Delete.
1208 (cuda_synames): Delete.
1209 (verify_device_library): Delete.
1210 (nvptx_init): Don't call it.
1211
12efb1d7
TV
12122015-07-28 Tom de Vries <tom@codesourcery.com>
1213
1214 * testsuite/libgomp.c/uns-outer-4.c: New test.
1215
710ee218
CP
12162015-07-24 Cesar Philippidis <cesar@codesourcery.com>
1217
1218 * testsuite/libgomp.c/pr66714.c: New test.
1219
27c4ac7d
MB
12202015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
1221
1222 PR libgomp/66950
1223 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
1224 (fib_ref): New function.
1225 (fib): Correct corner cases in the recursion.
1226 (main): Replace the non-simd loop with fib_ref call.
1227 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
1228 subroutine.
1229 (fibonacci): Lower the parameter N to 30. Correct accordingly check
1230 for the last array element value. Replace the non-simd loop with
1231 fib_ref call. Remove redundant b_ref array. Remove the comparison
1232 of the last array element with according Fibonacci sequence element.
1233 (fib): Correct corner cases in the recursion.
1234
22be2349
NS
12352015-07-21 Nathan Sidwell <nathan@codesourcery.com>
1236
1237 * target.c (gomp_offload_image_to_device): Rename to ...
1238 (gomp_load_image_to_device): ... here.
1239 (GOMP_offload_register): Adjust call.
1240 (gomp_init_device): Likewise.
1241 (gomp_unload_image_from_device): New. Broken out of ...
1242 (GOMP_offload_unregister): ... here. Call it.
1243 (gomp_unload_device): New.
1244 * libgomp.h (gomp_unload_device): Declare.
1245 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
1246 mem maps.
1247
f3e9a059
NS
12482015-07-20 Nathan Sidwell <nathan@codesourcery.com>
1249
a091118d
NS
1250 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
1251 wait=-specific if.
1252 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
1253 !=0 condition.
1254 (goacc_waits): Move !num_waits handling to ...
1255 (GOACC_wait): ... here, the only caller that might have zero waits.
1256
f3e9a059
NS
1257 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
1258 (struct ptx_image_data): Move earlier, add fns field.
1259 (struct ptx_device): Add images and image_lock fields.
1260 (ptx_images, ptx_image_lock): Delete.
1261 (nvptx_open_device): Initialize images and image_lock fields.
1262 (nvptx_close_device): Destroy image_lock.
1263 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
1264 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
1265 fields.
1266
afb2d80b
NS
12672015-07-17 Nathan Sidwell <nathan@codesourcery.com>
1268
896c28a7
NS
1269 * target.c (GOMP_offload_register): Use int for device type arg.
1270 (GOMP_offload_unregister): Likewise.
1271
ebe4a560
NS
1272 * target.c (struct_offload_image_descr): Constify host_table.
1273 (gomp_offload_image_to_device): Likewise.
1274 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
1275
afb2d80b
NS
1276 * libgomp.h (gomp_device_descr): Constify target data arguments.
1277 * target.c (struct offload_image_descr): Constify target_data.
1278 (gomp_offload_image_to_device): Likewise.
1279 (GOMP_offload_register): Likewise.
1280 (GOMP_offload_unrefister): Likewise.
1281 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
1282 GOMP_OFFLOAD_unload_image): Constify target data.
1283 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
1284 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
1285
a4cb876d
NS
12862015-07-16 Nathan Sidwell <nathan@codesourcery.com>
1287
1288 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
1289 Workaround driver library const error.
1290 (struct nvptx_tdata, nvptx_tdata_t): New.
1291 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
1292 type.
1293
28ef6a27
MB
12942015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
1295
1296 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
1297 of EPS parameter from integer to real.
1298 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
1299 type of EPS parameter from integer to real.
1300
6dba0113
SH
13012015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
1302
1303 * team.c (get_last_team): New.
1304 (gomp_new_team): Recycle last non-nested team if possible.
1305 (gomp_team_end): Move team work share list free lock destruction
1306 to ...
1307 (free_team): ... here.
1308
4c1cb4da
MB
13092015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
1310
1311 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
1312 and ref from int to double. Replaced their comparison with
1313 an inequality of their difference and EPS.
1314 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
1315 comparison of pri and a reference number with an inequality of their
1316 difference and EPS.
1317 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
1318 the comparison of sum and sum_ref with an inequality of their
1319 difference and EPS.
1320 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
1321 the comparison of pri and a reference number with an inequality of
1322 their difference and EPS.
1323
343587dc
MB
13242015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
1325
1326 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
1327 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
1328 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
1329 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
1330 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
1331 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
1332 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
1333 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
1334 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
1335 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
1336 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
1337 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
1338 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
1339 variables.
1340 (vec_mult): Likewise. Add #pragma omp taskwait.
1341 (main): Adjust caller.
1342 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
1343 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
1344 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
1345 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
1346 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
1347 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
1348 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
1349 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
1350 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
1351 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
1352 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
1353 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
1354 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
1355 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
1356 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
1357 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
1358 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
1359 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
1360 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
1361 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
1362 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
1363 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
1364 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
1365 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
1366 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
1367 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
1368 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
1369 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
1370 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
1371 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
1372 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
1373 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
1374 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
1375 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
1376 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
1377 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
1378 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
1379 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
1380 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
1381 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
1382 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
1383 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
1384 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
1385 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
1386 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
1387 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
1388 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
1389 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
1390 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
1391 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
1392 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
1393 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
1394 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
1395 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
1396 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
1397 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
1398 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
1399 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
1400 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
1401 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
1402 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
1403 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
1404 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
1405 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
1406 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
1407 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
1408 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
1409 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
1410 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
1411 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
1412 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
1413 (vec_mult): Add !$omp taskwait.
1414 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
1415 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
1416 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
1417 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
1418 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
1419 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
1420 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
1421 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
1422 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
1423 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
1424 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
1425 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
1426 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
1427 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
1428 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
1429 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
1430 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
1431 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
1432 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
1433 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
1434 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
1435 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
1436 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
1437 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
1438 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
1439 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
1440 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
1441 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
1442 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
1443 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
1444 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
1445 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
1446 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
1447 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
1448 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
1449 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
1450 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
1451 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
1452 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
1453 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
1454 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
1455 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
1456 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
1457 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
1458 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
1459 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
1460 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
1461 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
1462 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
1463 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
1464 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
1465 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
1466 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
1467 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
1468 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
1469 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
1470 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
1471 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
1472 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
1473 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
1474 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
1475 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
1476 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
1477 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
1478 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
1479 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
1480 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
1481
9f620bf1
TV
14822015-07-10 Tom de Vries <tom@codesourcery.com>
1483
1484 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
1485 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
1486
a92defda
TS
14872015-07-08 Thomas Schwinge <thomas@codesourcery.com>
1488
1489 PR libgomp/65099
1490 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
1491 in a 64-bit configuration.
1492 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
1493 offloading testing if no such device is available.
1494 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1495 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1496
cadb53a5
TV
14972015-07-08 Tom de Vries <tom@codesourcery.com>
1498
1499 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
1500 second call to f.
1501 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1502
712cb0bb
TV
15032015-07-07 Tom de Vries <tom@codesourcery.com>
1504
1505 PR tree-optimization/66642
1506 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
1507 iteration count case.
1508 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
1509 function, factor out of ...
1510 (main): ... here. Test low iteration count case.
1511
e5210c77
SH
15122015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
1513
1514 * libgomp.h (gomp_thread_pool): Comment last_team field.
1515
f70360e7
UB
15162015-07-02 Uros Bizjak <ubizjak@gmail.com>
1517
1518 * testsuite/libgomp.c++/pr66702-1.C: Require
1519 vect_simd_clones effective target.
1520 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
1521
b451c271
TV
15222015-06-30 Tom de Vries <tom@codesourcery.com>
1523
1524 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
1525 already set. Use DEFAULT_CFLAGS in dg-runtest.
1526 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
1527 "-O2".
1528
f8e89d9f
TV
15292015-06-30 Tom de Vries <tom@codesourcery.com>
1530
1531 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
1532 already set. Use DEFAULT_CFLAGS in dg-runtest.
1533 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
1534 * testsuite/libgomp.c++/pr64824.C: Same.
1535 * testsuite/libgomp.c++/pr64868.C: Same.
1536 * testsuite/libgomp.c++/pr66199-1.C: Same.
1537 * testsuite/libgomp.c++/pr66199-2.C: Same.
1538 * testsuite/libgomp.c++/target-2.C: Same.
1539 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
1540 -std=<standard> option.
1541 * testsuite/libgomp.c++/udr-11.C: Same.
1542 * testsuite/libgomp.c++/udr-12.C: Same.
1543 * testsuite/libgomp.c++/udr-13.C: Same.
1544 * testsuite/libgomp.c++/udr-14.C: Same.
1545 * testsuite/libgomp.c++/udr-15.C: Same.
1546 * testsuite/libgomp.c++/udr-16.C: Same.
1547 * testsuite/libgomp.c++/udr-17.C: Same.
1548 * testsuite/libgomp.c++/udr-18.C: Same.
1549 * testsuite/libgomp.c++/udr-19.C: Same.
1550 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
1551 * testsuite/libgomp.c++/simd-1.C: Same.
1552 * testsuite/libgomp.c++/simd-2.C: Same.
1553 * testsuite/libgomp.c++/simd-3.C: Same.
1554 * testsuite/libgomp.c++/simd-4.C: Same.
1555 * testsuite/libgomp.c++/simd-5.C: Same.
1556 * testsuite/libgomp.c++/simd-6.C: Same.
1557 * testsuite/libgomp.c++/simd-7.C: Same.
1558 * testsuite/libgomp.c++/simd-8.C: Same.
1559 * testsuite/libgomp.c++/simd-9.C: Same.
1560 * testsuite/libgomp.c++/simd10.C: Same.
1561 * testsuite/libgomp.c++/simd11.C: Same.
1562 * testsuite/libgomp.c++/simd12.C: Same.
1563 * testsuite/libgomp.c++/simd13.C: Same.
1564
3446fe48
JJ
15652015-06-30 Jakub Jelinek <jakub@redhat.com>
1566
1567 PR middle-end/66702
1568 * testsuite/libgomp.c++/pr66702-1.C: New test.
1569 * testsuite/libgomp.c++/pr66702-2.C: New test.
1570
8a36714a
TV
15712015-06-30 Tom de Vries <tom@codesourcery.com>
1572
1573 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
1574 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
1575 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
1576 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
1577
4f75d608
TV
15782015-06-30 Tom de Vries <tom@codesourcery.com>
1579
1580 PR tree-optimization/66652
1581 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
1582 using restrict pointers.
1583 (main): Add arguments to calls to f.
1584 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1585
6d9d1eeb
AT
15862015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
1587
1588 * configure.ac: Fix check for header <sys/sysctl.h>.
1589 * configure: Regenerate.
1590 * config.h.in: Likewise.
1591
1222f22b
TV
15922015-06-23 Tom de Vries <tom@codesourcery.com>
1593
1594 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
1595 abort.
1596 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
1597
d7efbbf6
TS
15982015-06-19 Thomas Schwinge <thomas@codesourcery.com>
1599
bfcd036f
TS
1600 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
1601 acc_device_nvidia.
1602
d7efbbf6
TS
1603 PR libgomp/66518
1604 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
1605 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1606
d7bfc710
TV
16072015-06-15 Tom de Vries <tom@codesourcery.com>
1608
1609 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
1610 dg-additional-options for any remaining options.
1611 * testsuite/libgomp.c/atomic-2.c: Same.
1612 * testsuite/libgomp.c/atomic-4.c: Same.
1613 * testsuite/libgomp.c/atomic-5.c: Same.
1614 * testsuite/libgomp.c/atomic-6.c: Same.
1615 * testsuite/libgomp.c/autopar-1.c: Same.
1616 * testsuite/libgomp.c/copyin-1.c: Same.
1617 * testsuite/libgomp.c/copyin-2.c: Same.
1618 * testsuite/libgomp.c/copyin-3.c: Same.
1619 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
1620 * testsuite/libgomp.c/nestedfn-5.c: Same.
1621 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
1622 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
1623 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
1624 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1625 * testsuite/libgomp.c/pr32362-1.c: Same.
1626 * testsuite/libgomp.c/pr32362-2.c: Same.
1627 * testsuite/libgomp.c/pr32362-3.c: Same.
1628 * testsuite/libgomp.c/pr39591-1.c: Same.
1629 * testsuite/libgomp.c/pr39591-2.c: Same.
1630 * testsuite/libgomp.c/pr39591-3.c: Same.
1631 * testsuite/libgomp.c/pr58392.c: Same.
1632 * testsuite/libgomp.c/pr58756.c: Same.
1633 * testsuite/libgomp.c/simd-1.c: Same.
1634 * testsuite/libgomp.c/simd-10.c: Same.
1635 * testsuite/libgomp.c/simd-11.c: Same.
1636 * testsuite/libgomp.c/simd-12.c: Same.
1637 * testsuite/libgomp.c/simd-13.c: Same.
1638 * testsuite/libgomp.c/simd-14.c: Same.
1639 * testsuite/libgomp.c/simd-15.c: Same.
1640 * testsuite/libgomp.c/simd-2.c: Same.
1641 * testsuite/libgomp.c/simd-3.c: Same.
1642 * testsuite/libgomp.c/simd-4.c: Same.
1643 * testsuite/libgomp.c/simd-5.c: Same.
1644 * testsuite/libgomp.c/simd-6.c: Same.
1645 * testsuite/libgomp.c/simd-7.c: Same.
1646 * testsuite/libgomp.c/simd-8.c: Same.
1647 * testsuite/libgomp.c/simd-9.c: Same.
1648
fb5b5352
TV
16492015-06-15 Tom de Vries <tom@codesourcery.com>
1650
1651 * testsuite/libgomp.c/pr35625.c: Fix typo.
1652
ca431bef
TV
16532015-06-15 Tom de Vries <tom@codesourcery.com>
1654
1655 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
1656 in dg-options.
1657 * testsuite/libgomp.c/atomic-3.c: Same.
1658 * testsuite/libgomp.c/debug-1.c: Same.
1659 * testsuite/libgomp.c/nqueens-1.c: Same.
1660 * testsuite/libgomp.c/pr26171.c: Same.
1661 * testsuite/libgomp.c/pr48591.c: Same.
1662 * testsuite/libgomp.c/pr64824.c: Same.
1663 * testsuite/libgomp.c/pr64868.c: Same.
1664 * testsuite/libgomp.c/pr66133.c: Same.
1665 * testsuite/libgomp.c/pr66199-1.c: Same.
1666 * testsuite/libgomp.c/pr66199-2.c: Same.
1667 * testsuite/libgomp.c/target-8.c: Same.
1668
0d8a9e20
TV
16692015-06-15 Tom de Vries <tom@codesourcery.com>
1670
1671 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
1672 -std={gnu99,c99}.
1673 * testsuite/libgomp.c/for-1.c: Same.
1674 * testsuite/libgomp.c/for-2.c: Same.
1675 * testsuite/libgomp.c/for-3.c: Same.
1676 * testsuite/libgomp.c/pr35625.c: Same.
1677 * testsuite/libgomp.c/pr39154.c: Same.
1678 * testsuite/libgomp.c/simd-16.c: Same.
1679 * testsuite/libgomp.c/simd-17.c: Same.
1680
a6860be9
TV
16812015-06-13 Tom de Vries <tom@codesourcery.com>
1682
1683 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
1684
ab3306d2
TV
16852015-06-13 Tom de Vries <tom@codesourcery.com>
1686
1687 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
1688 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1689 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
1690 (N): Define.
1691 (main): Use N instead of hardcoded constants.
1692
7c82d827
TV
16932015-06-05 Tom de Vries <tom@codesourcery.com>
1694
1695 merge from gomp4 branch:
1696 2015-05-28 Tom de Vries <tom@codesourcery.com>
1697
1698 PR tree-optimization/65443
1699 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
1700 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
1701 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
1702
c469078d
BRF
17032015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1704
1705 * testsuite/libgomp.graphite/bounds.c: Adjust for
1706 cleanup-tree-dump removal.
1707 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
1708 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1709 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1710 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
1711 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1712 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1713 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1714 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1715 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1716 * testsuite/libgomp.graphite/pr41118.c: Likewise.
1717
bb3caa35
UB
17182015-05-28 Uros Bizjak <ubizjak@gmail.com>
1719
1720 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
1721 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
1722 (futex_wake) [!__x86_64__]: Ditto.
1723
9fb5fd44
JB
17242015-05-28 Julian Brown <julian@codesourcery.com>
1725
1726 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
1727 function comment. Only call gomp_fatal if new argument is true.
1728 (acc_dev_num_out_of_range): New function.
1729 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
1730 acc_dev_num_out_of_range as appropriate.
1731 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
1732 (acc_get_device_num, acc_set_device_num): Update calls to
1733 resolve_device.
9fb5fd44
JB
1734 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
1735 output.
1736
32eaed93
JB
17372015-05-28 Julian Brown <julian@codesourcery.com>
1738
1739 PR libgomp/65742
32eaed93
JB
1740 * oacc-init.c (plugin/plugin-host.h): Include.
1741 (acc_on_device): Check whether we're in an offloaded region for
1742 host_nonshm
1743 plugin. Don't use __builtin_acc_on_device.
1744 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
1745 nonshm_exec flag in thread-local data.
1746 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
1747 data for host_nonshm plugin.
1748 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
1749 for host_nonshm plugin.
1750 * plugin/plugin-host.h: New.
1751
ea023bcf
UB
17522015-05-27 Uros Bizjak <ubizjak@gmail.com>
1753
8ed501f1
UB
1754 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
1755
17562015-05-27 Uros Bizjak <ubizjak@gmail.com>
1757
1758 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
1759 Declare as int.
1760 (FUTEX_PRIVATE_FLAG): Remove L suffix.
1761 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
1762 Declare as int.
1763
17642015-05-27 Uros Bizjak <ubizjak@gmail.com>
1765
bb3caa35 1766 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 1767
1716efeb
CLT
17682015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
1769
1770 * target.c (gomp_map_pointer): New function abstracting out
1771 GOMP_MAP_POINTER handling.
1772 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
1773 gomp_map_pointer().
1774
41b37d5e
JJ
17752015-05-19 Jakub Jelinek <jakub@redhat.com>
1776
1777 PR middle-end/66199
1778 * testsuite/libgomp.c/pr66199-1.c: New test.
1779 * testsuite/libgomp.c/pr66199-2.c: New test.
1780 * testsuite/libgomp.c++/pr66199-1.C: New test.
1781 * testsuite/libgomp.c++/pr66199-2.C: New test.
1782 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
1783 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
1784
c8319826
JB
17852015-05-19 Julian Brown <julian@codesourcery.com>
1786
1787 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
1788 on cuInit failure.
1789
b37dddbc
JJ
17902015-05-13 Jakub Jelinek <jakub@redhat.com>
1791
1792 PR middle-end/66133
1793 * testsuite/libgomp.c/pr66133.c: New test.
1794
55fba601
MH
17952015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
1796
1797 * Makefile.in: Regenerated with automake-1.11.6.
1798 * aclocal.m4: Likewise.
1799 * config.h.in: Likewise.
1800 * configure: Likewise.
1801 * testsuite/Makefile.in: Likewise.
1802
1be0899d
JM
18032015-05-08 Jason Merrill <jason@redhat.com>
1804
1805 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
1806 _Complex.
1807
1808 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
1809
d2463960
JB
18102015-05-06 Julian Brown <julian@codesourcery.com>
1811
1812 * oacc-init.c (acc_device_lock): Add explanatory comment.
1813 (resolve_device): Add comment about locking requirement.
1814 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
1815 gomp_init_device and gomp_fini_device calls.
1816 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
1817 (acc_get_device_num, acc_set_device_num): Add locking around
1818 resolve_device and gomp_init_device calls.
1819
e38fdba4
JB
18202015-05-06 Julian Brown <julian@codesourcery.com>
1821
1822 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
1823 goacc_thread_lock on error paths.
1824 * oacc-mem.c (lookup_host): Remove locking from function. Note
1825 locking requirement for caller in function comment.
1826 (lookup_dev): Likewise.
1827 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
1828 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
1829 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1830 Add locking.
1831
ae8ffbbb
TS
18322015-05-05 Thomas Schwinge <thomas@codesourcery.com>
1833
1834 PR testsuite/65205
1835 PR libgomp/65993
1836 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
1837 don't expect "0x" prefix for "%p" format specifier, don't expect
1838 "(nil)" for NULL pointer.
1839 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1840 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1841 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1842 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1843 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1844 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1845 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1846 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1847 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1848 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1849 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1850 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1851 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1852 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1853 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1854 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1855 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1856 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1857 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1858 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1859 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1860 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1861 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1862 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1863 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1864 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1865 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1866 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1867 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
1868 accurately specify what we're looking for.
1869 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1870 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1871 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1872 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1873 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1874
1309f1d2
JN
18752015-04-30 James Norris <jnorris@codesourcery.com>
1876
1877 PR testsuite/65205
1878 * testsuite/lib/libgomp.exp
1879 (check_effective_target_openacc_host_selected)
1880 (check_effective_target_openacc_host_nonshm_selected): New
1881 procedures.
1882 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
1883 dg-shouldfail.
1884 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1885 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1886 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1887 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1888 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1889 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1890 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1891 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1892 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1893 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1894 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1895 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1896 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1897 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1898 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1899 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1900 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1901 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1902 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1903 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1904 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1905 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1906 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1907 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1908 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1909 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1910 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1911 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1912 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1913 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1914 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1915 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1916 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1917 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1918 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1919 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1920 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1921 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1922 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1923 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1924 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1925 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1926 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1927
d93bdab5
JB
19282015-04-08 Julian Brown <julian@codesourcery.com>
1929
1930 * libgomp.h (target_mem_desc: Remove mem_map field.
1931 (acc_dispatch_t): Remove open_device_func, close_device_func,
1932 get_device_num_func, set_device_num_func, target_data members.
1933 Change create_thread_data_func argument to device number instead of
1934 generic pointer.
1935 * oacc-async.c (assert.h): Include.
1936 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
1937 (acc_wait_all, acc_wait_all_async): Use current host thread's
1938 active device, not base_dev.
1939 * oacc-cuda.c (acc_get_current_cuda_device)
1940 (acc_get_current_cuda_context, acc_get_cuda_stream)
1941 (acc_set_cuda_stream): Likewise.
1942 * oacc-host.c (host_dispatch): Don't set open_device_func,
1943 close_device_func, get_device_num_func or set_device_num_func.
1944 * oacc-init.c (base_dev, init_key): Remove.
1945 (cached_base_dev): New.
1946 (name_of_acc_device_t): New.
1947 (acc_init_1): Initialise default-numbered device, not zeroth.
1948 (acc_shutdown_1): Close all devices of a given type.
1949 (goacc_destroy_thread): Don't use base_dev.
1950 (lazy_open, lazy_init, lazy_init_and_open): Remove.
1951 (goacc_attach_host_thread_to_device): New.
1952 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
1953 (acc_get_num_devices): Don't use base_dev.
1954 (acc_set_device_type): Reimplement.
1955 (acc_get_device_type): Don't use base_dev.
1956 (acc_get_device_num): Tweak logic.
1957 (acc_set_device_num): Likewise.
1958 (acc_on_device): Use acc_get_device_type.
1959 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
1960 (goacc_lazy_initialize): Reimplement with acc_init and
1961 goacc_attach_host_thread_to_device.
1962 * oacc-int.h (goacc_thread): Add base_dev field.
1963 (base_dev): Remove extern declaration.
1964 (goacc_attach_host_thread_to_device): Add prototype.
1965 * oacc-mem.c (acc_malloc): Use current thread's device instead of
1966 base_dev.
1967 (acc_free): Likewise.
1968 (acc_memcpy_to_device): Likewise.
1969 (acc_memcpy_from_device): Likewise.
1970 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
1971 goacc_lazy_initialize (throughout).
1972 (GOACC_parallel): Use tgt_offset to locate target functions.
1973 * target.c (gomp_map_vars): Don't set tgt->mem_map.
1974 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
1975 (gomp_load_plugin_for_device): Remove open_device, close_device,
1976 get_device_num, set_device_num openacc hook initialisation. Don't set
1977 openacc.target_data.
1978 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
1979 (GOMP_OFFLOAD_openacc_close_device)
1980 (GOMP_OFFLOAD_openacc_get_device_num)
1981 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
1982 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
1983 to int.
1984 * plugin/plugin-nvptx.c (ptx_inited): Remove.
1985 (instantiated_devices, ptx_dev_lock): New.
1986 (struct ptx_image_data): New.
1987 (ptx_devices, ptx_images, ptx_image_lock): New.
1988 (fini_streams_for_device): Reorder cuStreamDestroy call.
1989 (nvptx_get_num_devices): Remove forward declaration.
1990 (nvptx_init): Change return type to bool.
1991 (nvptx_fini): Remove.
1992 (nvptx_attach_host_thread_to_device): New.
1993 (nvptx_open_device): Return struct ptx_device* instead of void*.
1994 (nvptx_close_device): Change argument type to struct ptx_device*,
1995 return type to void.
1996 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
1997 (kernel_target_data, kernel_host_table): Remove static globals.
1998 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
1999 (GOMP_OFFLOAD_init_device): Reimplement.
2000 (GOMP_OFFLOAD_fini_device): Likewise.
2001 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
2002 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
2003 (GOMP_OFFLOAD_host2dev): Use ORD argument.
2004 (GOMP_OFFLOAD_openacc_open_device)
2005 (GOMP_OFFLOAD_openacc_close_device)
2006 (GOMP_OFFLOAD_openacc_set_device_num)
2007 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
2008 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
2009 (device number).
2010
2011 testsuite/
2012 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
2013
a51df54e
IV
20142015-04-06 Ilya Verbin <ilya.verbin@intel.com>
2015
2016 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
2017 * libgomp.h (struct gomp_memory_mapping): Remove.
2018 (struct target_mem_desc): Change type of mem_map from
2019 gomp_memory_mapping * to splay_tree_s *.
2020 (struct gomp_device_descr): Remove register_image_func, get_table_func.
2021 Add load_image_func, unload_image_func.
2022 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
2023 Remove offload_regions_registered.
2024 (gomp_init_tables): Remove.
2025 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2026 to splay_tree_s *.
2027 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
2028 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
2029 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
2030 offload_regions_registered.
2031 Initialize load_image_func, unload_image_func, mem_map.root.
2032 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
2033 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
2034 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
2035 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
2036 gomp_memory_mapping *. Use dev's lock and splay_tree.
2037 (lookup_dev): Use dev's lock.
2038 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
2039 (acc_is_present): Likewise.
2040 (acc_map_data): Likewise.
2041 (acc_unmap_data): Likewise. Use dev's lock.
2042 (present_create_copy): Likewise.
2043 (delete_copyout): Pass dev to lookup_host instead of mem_map.
2044 (update_dev_host): Likewise.
2045 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
2046 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
2047 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
2048 (GOMP_OFFLOAD_get_table): Remove
2049 (GOMP_OFFLOAD_load_image): New function.
2050 (GOMP_OFFLOAD_unload_image): New function.
2051 * target.c (register_lock): New mutex for offload image registration.
2052 (num_devices): Do not guard with PLUGIN_SUPPORT.
2053 (gomp_realloc_unlock): New static function.
2054 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
2055 before gomp_fatal.
2056 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
2057 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
2058 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
2059 mem_map's.
2060 (gomp_unmap_vars): Likewise.
2061 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
2062 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
2063 (gomp_offload_image_to_device): New static function.
2064 (GOMP_offload_register): Add mutex lock.
2065 Call gomp_offload_image_to_device for all initialized devices.
2066 Replace gomp_realloc with gomp_realloc_unlock.
2067 (GOMP_offload_unregister): New function.
2068 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
2069 get_table_func from the plugin with calls to init_device_func and
2070 gomp_offload_image_to_device.
2071 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2072 to splay_tree_s *.
2073 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
2074 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
2075 (GOMP_target_data): Do not call gomp_init_tables.
2076 (GOMP_target_update): Likewise. Remove argument from gomp_update.
2077 (gomp_load_plugin_for_device): Replace register_image and get_table
2078 with load_image and unload_image in DLSYM ().
2079 (gomp_register_images_for_device): Remove function.
2080 (gomp_target_init): Do not initialize current_device.mem_map.*,
2081 current_device.offload_regions_registered.
2082 Remove call to gomp_register_images_for_device.
2083 Do not free offload_images and num_offload_images.
2084
6c384511
JJ
20852015-03-30 Jakub Jelinek <jakub@redhat.com>
2086
2087 PR fortran/65597
2088 * testsuite/libgomp.fortran/pr65597.f90: New test.
2089
3e8165a5
TV
20902015-03-27 Tom de Vries <tom@codesourcery.com>
2091
2092 PR testsuite/65594
2093 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
2094 (init, check): New function.
2095 (foo): Change return type to void.
2096 (main): Call init and check.
2097
4d688c9a
TV
20982015-03-27 Tom de Vries <tom@codesourcery.com>
2099
2100 PR testsuite/65594
2101 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
2102 (foo): Use M for non-inner loops to scale down test-case.
2103
01c0b3b0
KT
21042015-03-25 Kai Tietz <ktietz@redhat.com>
2105
2106 PR libgomp/64972
2107 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
2108 (GOACC_data_start): Likewise.
2109 * target.c (gomp_map_vars): Likewise.
2110
844d9a76
JDA
21112015-03-21 John David Anglin <danglin@gcc.gnu.org>
2112
2113 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
2114 hppa*-*-hpux*.
2115
9b65e171
JJ
21162015-03-19 Jakub Jelinek <jakub@redhat.com>
2117
2118 * testsuite/libgomp.c/target-10.c: New test.
2119 * testsuite/libgomp.c++/target-4.C: New test.
2120
db397e2e
IV
21212015-03-13 Ilya Verbin <ilya.verbin@intel.com>
2122
2123 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
2124 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
2125
cd93945d
SH
21262015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
2127
2128 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
2129 * configure.ac (*-*-rtems*): Assume Pthread is supported.
2130 (pthread.h): Check for this header file.
2131 * configure: Regenerate.
2132
05deba9f
TV
21332015-02-25 Tom de Vries <tom@codesourcery.com>
2134
2135 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
2136 (check_reduction_op, check_reduction_macro, max, min):
2137 Declare.
2138 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
2139 function.
2140 (main): Use new functions.
2141
196904d8
IT
21422015-02-18 Ilya Tocar <ilya.tocar@intel.com>
2143
2144 * target.c (gomp_load_plugin_for_device): Use const char * instead of
2145 char * for variables holding dlerror return values.
2146 (DLSYM_OPT): Ditto.
2147
a2818955
TS
21482015-02-17 Thomas Schwinge <thomas@codesourcery.com>
2149
2150 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
2151
26f93312
TS
21522015-02-17 Thomas Schwinge <thomas@codesourcery.com>
2153 Cesar Philippidis <cesar@codesourcery.com>
2154
2155 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
2156 GOACC_ctaid, and GOACC_nctaid routines.
2157
fa01ffcc
JJ
21582015-02-11 Jakub Jelinek <jakub@redhat.com>
2159
2160 PR c/64824
2161 * testsuite/libgomp.c/atomic-18.c: New test.
2162 * testsuite/libgomp.c++/atomic-16.C: New test.
2163
4886ec8e
JJ
21642015-02-04 Jakub Jelinek <jakub@redhat.com>
2165
2166 PR c/64824
2167 PR c/64868
2168 * testsuite/libgomp.c/pr64824.c: New test.
2169 * testsuite/libgomp.c/pr64868.c: New test.
2170 * testsuite/libgomp.c++/pr64824.C: New test.
2171 * testsuite/libgomp.c++/pr64868.C: New test.
2172
02d3e45e
DE
21732015-02-01 David Edelsohn <dje.gcc@gmail.com>
2174
2175 PR libgomp/64635
2176 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
2177 Link with -lpthread.
2178 * config/aix/plugin-suffix.h: Delete.
2179
b5f7a6ca
JH
21802015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
2181
2182 PR libgomp/64635
2183 * configure.tgt (*-*-aix*): Use config_path "aix posix".
2184 (*-*-darwin*): Use config_path "bsd darwin posix".
2185 (*-*-hpux*): Use config_path "hpux posix".
2186 * target.c: Add include of plugin-suffix.h and use
2187 SONAME_SUFFIX macro.
2188 * config/aix/plugin-suffix.h: New file.
2189 * config/darwin/plugin-suffix.h: New file.
2190 * config/hpux/plugin-suffix.h: New file.
2191 * config/posix/plugin-suffix.h: New file.
2192
b8910447
JJ
21932015-01-23 Jakub Jelinek <jakub@redhat.com>
2194
2195 PR middle-end/64734
2196 * libgomp.c/pr64734.c: New test.
2197
a0c88d06
TV
21982015-01-23 Tom de Vries <tom@codesourcery.com>
2199
2200 PR libgomp/64672
2201 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
2202
1506ae0e
TV
22032015-01-23 Tom de Vries <tom@codesourcery.com>
2204
2205 PR libgomp/64707
2206 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
2207 dg-options.
2208
128b26dc
TS
22092015-01-19 Thomas Schwinge <thomas@codesourcery.com>
2210
bed62c21 2211 PR libgomp/64625
128b26dc
TS
2212 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
2213 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
2214 formal parameter. Update all users.
2215 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
2216 Document unused formal parameter.
2217
6e36114c
TS
22182015-01-16 Thomas Schwinge <thomas@codesourcery.com>
2219
2220 * oacc-parallel.c: Don't include <alloca.h>.
2221 (GOACC_parallel): Use gomp_alloca instead of alloca.
2222
973e9808
GP
22232015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
2224
2225 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
2226
41dbbb37
TS
22272015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2228 James Norris <jnorris@codesourcery.com>
2229 Tom de Vries <tom@codesourcery.com>
2230 Julian Brown <julian@codesourcery.com>
2231 Cesar Philippidis <cesar@codesourcery.com>
2232 Nathan Sidwell <nathan@codesourcery.com>
2233 Tobias Burnus <burnus@net-b.de>
2234
2235 * Makefile.am (search_path): Add $(top_srcdir)/../include.
2236 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
2237 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
2238 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
2239 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
2240 Include $(top_srcdir)/plugin/Makefrag.am.
2241 (nodist_libsubinclude_HEADERS): Add openacc.h.
2242 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
2243 openacc.f90, openacc.mod, openacc_kinds.mod.
2244 (omp_lib.mod): Generalize into...
2245 (%.mod): ... this new rule.
2246 (openacc_kinds.mod, openacc.mod): New rules.
2247 * plugin/configfrag.ac: New file.
2248 * configure.ac: Move plugin/offloading support into it. Include
2249 it. Instantiate testsuite/libgomp-test-support.pt.exp.
2250 * plugin/Makefrag.am: New file.
2251 * testsuite/Makefile.am (OFFLOAD_TARGETS)
2252 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
2253 export.
2254 (libgomp-test-support.exp): New rule.
2255 (all-local): Depend on it.
2256 * Makefile.in: Regenerate.
2257 * testsuite/Makefile.in: Regenerate.
2258 * config.h.in: Likewise.
2259 * configure: Likewise.
2260 * configure.tgt: Harden shell syntax.
2261 * env.c: Include "oacc-int.h".
2262 (parse_acc_device_type): New function.
2263 (gomp_debug_var, goacc_device_type, goacc_device_num): New
2264 variables.
2265 (initialize_env): Initialize those. Call
2266 goacc_runtime_initialize.
2267 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
2268 (gomp_fatal): Call gomp_vfatal.
2269 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
2270 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
2271 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
2272 (splay_tree_node, splay_tree, splay_tree_key)
2273 (struct target_mem_desc, struct splay_tree_key_s)
2274 (struct gomp_memory_mapping, struct acc_dispatch_t)
2275 (struct gomp_device_descr, gomp_acc_insert_pointer)
2276 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
2277 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
2278 (gomp_free_memmap, gomp_fini_device): New declarations.
2279 (gomp_vdebug, gomp_debug): New macros.
2280 Include "splay-tree.h".
2281 * libgomp.map (OACC_2.0): New symbol version. Use for
2282 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
2283 acc_set_device_type_h_, acc_get_device_type,
2284 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
2285 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
2286 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
2287 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
2288 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
2289 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
2290 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
2291 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
2292 acc_copyin_array_h_, acc_present_or_copyin,
2293 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
2294 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
2295 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
2296 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
2297 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
2298 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
2299 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
2300 acc_update_device, acc_update_device_32_h_,
2301 acc_update_device_64_h_, acc_update_device_array_h_,
2302 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
2303 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
2304 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
2305 acc_is_present_64_h_, acc_is_present_array_h_,
2306 acc_memcpy_to_device, acc_memcpy_from_device,
2307 acc_get_current_cuda_device, acc_get_current_cuda_context,
2308 acc_get_cuda_stream, acc_set_cuda_stream.
2309 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
2310 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
2311 GOACC_update, GOACC_wait, GOACC_get_thread_num,
2312 GOACC_get_num_threads.
2313 (GOMP_PLUGIN_1.0): New symbol version. Use for
2314 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
2315 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
2316 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
2317 GOMP_PLUGIN_acc_thread.
2318 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
2319 environment variable.
2320 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
2321 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
2322 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
2323 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
2324 (splay_tree_remove): New declarations.
2325 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
2326 (splay_tree_remove, splay_tree_lookup): Move into...
2327 * splay-tree.c: ... this new file.
2328 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
2329 (splay_tree_node, splay_tree, splay_tree_key)
2330 (struct target_mem_desc, struct splay_tree_key_s)
2331 (struct gomp_device_descr): Don't declare.
2332 (num_devices_openmp): New variable.
2333 (gomp_get_num_devices ): Use it.
2334 (gomp_init_targets_once): New function.
2335 (gomp_get_num_devices ): Use it.
2336 (get_kind, gomp_copy_from_async, gomp_free_memmap)
2337 (gomp_fini_device, gomp_register_image_for_device): New functions.
2338 (gomp_map_vars): Add devaddrs parameter.
2339 (gomp_update): Add mm parameter.
2340 (gomp_init_device): Move most of it into...
2341 (gomp_init_tables): ... this new function.
2342 (gomp_register_images_for_device): Remove function.
2343 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
2344 Make them hidden instead of static.
2345 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
2346 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
2347 (GOMP_target_end_data, GOMP_target_update)
2348 (gomp_load_plugin_for_device, gomp_target_init): Update for
2349 OpenACC changes.
2350 * oacc-async.c: New file.
2351 * oacc-cuda.c: Likewise.
2352 * oacc-host.c: Likewise.
2353 * oacc-init.c: Likewise.
2354 * oacc-int.h: Likewise.
2355 * oacc-mem.c: Likewise.
2356 * oacc-parallel.c: Likewise.
2357 * oacc-plugin.c: Likewise.
2358 * oacc-plugin.h: Likewise.
2359 * oacc-ptx.h: Likewise.
2360 * openacc.f90: Likewise.
2361 * openacc.h: Likewise.
2362 * openacc_lib.h: Likewise.
2363 * plugin/plugin-host.c: Likewise.
2364 * plugin/plugin-nvptx.c: Likewise.
2365 * libgomp-plugin.c: Likewise.
2366 * libgomp-plugin.h: Likewise.
2367 * libgomp_target.h: Remove file after merging content into the
2368 former file. Update all users.
2369 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
2370 (offload_targets_s, offload_targets_s_openacc): New variables.
2371 (check_effective_target_openacc_nvidia_accel_present)
2372 (check_effective_target_openacc_nvidia_accel_selected): New
2373 procedures.
2374 (libgomp_init): Update for OpenACC changes.
2375 * testsuite/libgomp-test-support.exp.in: New file.
2376 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2377 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2378 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2379 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
2380 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
2381 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2382 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
2383 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2384 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
2385 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
2386 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
2387 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
2388 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
2389 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2390 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2391 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
2392 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2393 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2394 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2395 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2396 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
2397 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2398 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2399 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
2400 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2401 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2402 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2403 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2404 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2405 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2406 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2407 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
2408 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
2409 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
2410 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
2411 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2412 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2413 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2414 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
2415 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2416 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2417 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2418 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2419 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2420 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2421 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
2422 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2423 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2424 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2425 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2426 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2427 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2428 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2429 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2430 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2431 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2432 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2433 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2434 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2435 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
2436 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2437 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
2438 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2439 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2440 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2441 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2444 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2445 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2446 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
2447 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2448 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2449 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2450 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
2451 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
2452 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2453 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2454 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
2455 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
2456 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
2457 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
2458 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2459 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2460 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2461 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
2462 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
2463 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2464 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2465 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
2466 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2467 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
2468 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
2469 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2470 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2471 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2472 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2473 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
2474 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2475 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2476 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2477 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
2478 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2479 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2480 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2481 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2482 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2483 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2484 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2485 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2486 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2487 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2488 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2489 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2490 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2491 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2492 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2493 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2494 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2495 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2496 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2497 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2498 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2499 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2500 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
2501 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2502 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2503 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
2504 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
2505 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
2506 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
2507 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
2508 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2509 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
2510 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2511 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2512 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2513 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2514 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2515 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
2516 Likewise.
2517 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
2518 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
2519 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
2520 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
2522 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2523 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2524 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2525 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2526 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2527 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2528 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2529 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2530 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2531 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2532 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2533 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2534 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2535 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2536 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2537 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2538 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2539 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2540 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2541 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2542 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2543 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2544 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2545 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2546 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2547 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2548 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2549 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2550 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2551 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2552 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2553 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2554 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2555 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2556 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2557 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2558 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2559 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2560 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2561 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2562 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2563 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2564 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2565 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2566 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2567 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2568 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2569 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2570 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2571 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2572 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2573 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2574 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2575 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2576 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2577
f1f3453e
TS
25782015-01-10 Thomas Schwinge <thomas@codesourcery.com>
2579 Julian Brown <julian@codesourcery.com>
2580 David Malcolm <dmalcolm@redhat.com>
2581
2582 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
2583 to "GNU Offloading and Multi Processing Runtime Library". Change
2584 all users.
2585 * configure: Regenerate.
2586 * libgomp.texi: Update.
2587
f9a0eca4
TS
25882015-01-08 Thomas Schwinge <thomas@codesourcery.com>
2589
b335ef4e
TS
2590 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
2591 "$tgt_dir/lib32".
2592 * configure: Regenerate.
2593
f9a0eca4
TS
2594 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
2595 "intelmic" in $offload_targets.
2596
b67cd4e3
JJ
25972015-01-05 Jakub Jelinek <jakub@redhat.com>
2598
5624e564
JJ
2599 Update copyright years.
2600
b67cd4e3
JJ
2601 * libgomp.texi: Bump @copying's copyright year.
2602
3b41b583
KT
26032014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2604
2605 * testsuite/lib/libgomp.exp: Load target-utils.exp.
2606 Move load of target-supportes.exp earlier.
2607
2354caec
IV
26082014-12-10 Ilya Verbin <ilya.verbin@intel.com>
2609
2610 * testsuite/libgomp.c/target-9.c: New test.
2611
f50eecba
VR
26122014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
2613
2614 * config.h.in: Regenerate.
2615 * configure: Regenerate.
2616 * configure.ac: Add GCC_CHECK_EMUTLS.
2617 * libgomp.h: Add check for USE_EMUTLS: this case
2618 is equal to HAVE_TLS.
2619 * team.c: Likewise.
2620
68bc9270
UB
26212014-12-03 Uros Bizjak <ubizjak@gmail.com>
2622
2623 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
2624
476ff787
AT
26252014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
2626 Ilya Verbin <ilya.verbin@intel.com>
2627
2628 * testsuite/libgomp.c/target-critical-1.c: New test.
2629
31a30e62
JJ
26302014-11-26 Jakub Jelinek <jakub@redhat.com>
2631
2632 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 2633 to dg-options unless expensive testing is on.
31a30e62
JJ
2634 (TESTITERS): Define to N if not defined.
2635 (main): Use TESTITERS instead of N.
2636 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
2637 dg-additional-options depending on whether expensive testing is on.
2638 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
2639 Decrease N to 100000 and CHUNKSZ to 10000.
2640
3f9e8f13
JJ
26412014-11-24 Jakub Jelinek <jakub@redhat.com>
2642
2643 PR fortran/63938
31a30e62
JJ
2644 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
2645 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 2646
c8451a46
SE
26472014-11-21 Steve Ellcey <sellcey@imgtec.com>
2648
2649 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
2650
a699d672
L
26512014-11-21 H.J. Lu <hongjiu.lu@intel.com>
2652
2653 PR bootstrap/63784
2654 * configure: Regenerated.
2655
4a19f719
UB
26562014-11-19 Uros Bizjak <ubizjak@gmail.com>
2657
2658 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
2659 vect_simd_clones effective target.
2660 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
2661
b1bf6c52
JJ
26622014-11-14 Jakub Jelinek <jakub@redhat.com>
2663
2664 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
2665 of 32 as block_size.
2666 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
2667 instead of 32 as block_size.
2668
d64ae614
AT
26692014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
2670 Ilya Verbin <ilya.verbin@intel.com>
2671
2672 * Makefile.in: Regenerate.
2673 * configure: Regenerate.
2674 * configure.ac: Set up offload_additional_options,
2675 offload_additional_lib_paths and offload_targets.
2676 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
2677 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
2678 * testsuite/Makefile.in: Regenerate.
2679 * testsuite/lib/libgomp.exp (libgomp_init): Append
2680 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
2681 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
2682 build directory to LD_LIBRARY_PATH for intelmic offload targets.
2683
122d7303
AT
26842014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
2685 Ilya Verbin <ilya.verbin@intel.com>
2686 Kirill Yukhin <kirill.yukhin@intel.com>
2687 Ilya Tocar <ilya.tocar@intel.com>
2688
2689 * testsuite/lib/libgomp.exp
2690 (check_effective_target_offload_device): New.
2691 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
2692 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
2693 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
2694 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
2695 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
2696 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
2697 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
2698 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
2699 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
2700 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
2701 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
2702 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
2703 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
2704 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
2705 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
2706 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
2707 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
2708 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
2709 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
2710 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
2711 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
2712 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
2713 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
2714 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
2715 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
2716 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
2717 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
2718 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
2719 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
2720 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
2721 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
2722 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
2723 * testsuite/libgomp.c/target-7.c: Fix test.
2724 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
2725 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
2726 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
2727 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
2728 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
2729 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
2730 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
2731 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
2732 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
2733 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
2734 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
2735 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
2736 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
2737 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
2738 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
2739 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
2740 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
2741 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
2742 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
2743 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
2744 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
2745 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
2746 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
2747 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
2748 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
2749 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
2750 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
2751 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
2752 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
2753 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
2754 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
2755
1df3f842
JJ
27562014-11-13 Jakub Jelinek <jakub@redhat.com>
2757 Ilya Verbin <ilya.verbin@intel.com>
2758 Thomas Schwinge <thomas@codesourcery.com>
2759 Andrey Turetskiy <andrey.turetskiy@intel.com>
2760
2761 * libgomp.map (GOMP_4.0.1): New symbol version.
2762 Add GOMP_offload_register.
2763 * libgomp_target.h: New file.
2764 * splay-tree.h: New file.
2765 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
2766 (gomp_target_init): New forward declaration.
2767 (gomp_is_initialized): New static variable.
2768 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
2769 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
2770 New structures.
2771 (offload_images, num_offload_images, devices, num_devices): New static
2772 variables.
2773 (splay_compare): New static function.
2774 (struct gomp_device_descr): New structure.
2775 (gomp_get_num_devices): Call gomp_target_init.
2776 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
2777 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
2778 (GOMP_offload_register): New function.
2779 (GOMP_target): Arrange for host callback to be performed in a separate
2780 initial thread and contention group, inheriting ICVs from
2781 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
2782 Add device initialization and lookup for target function in splay tree.
2783 (GOMP_target_data): Add device initialization and call gomp_map_vars.
2784 (GOMP_target_end_data): Call gomp_unmap_vars.
2785 (GOMP_target_update): Add device initialization and call gomp_update.
2786 (gomp_load_plugin_for_device, gomp_register_images_for_device)
2787 (gomp_target_init): New static functions.
2788
85c64bbe
BS
27892014-11-13 Bernd Schmidt <bernds@codesourcery.com>
2790 Thomas Schwinge <thomas@codesourcery.com>
2791 Ilya Verbin <ilya.verbin@intel.com>
2792 Andrey Turetskiy <andrey.turetskiy@intel.com>
2793
2794 * config.h.in: Regenerate.
2795 * configure: Regenerate.
2796 * configure.ac: Check for libdl, required for plugin support.
2797 (PLUGIN_SUPPORT): Define if plugins are supported.
2798 (enable_offload_targets): Support Intel MIC targets.
2799 (OFFLOAD_TARGETS): List of target names suitable for offloading.
2800
ebf6d33b
FXC
28012014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2802
2803 PR target/63610
2804 * configure: Regenerate.
2805
8c768629
RO
28062014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2807
2808 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
2809
c1d62412
MP
28102014-10-06 Marek Polacek <polacek@redhat.com>
2811
2812 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
2813 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
2814 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
2815 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2816
44a0c6cb
MP
28172014-10-06 Marek Polacek <polacek@redhat.com>
2818
2819 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
2820 * testsuite/libgomp.c/nqueens-1.c: Likewise.
2821 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2822 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2823 * testsuite/libgomp.c/pr36802-2.c: Likewise.
2824 * testsuite/libgomp.c/pr36802-3.c: Likewise.
2825 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
2826 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2827 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
2828 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
2829 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
2830 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
2831 * testsuite/libgomp.c/omp-single-1.c: Likewise.
2832 * testsuite/libgomp.c/omp-single-2.c: Likewise.
2833 * testsuite/libgomp.c/omp_matvec.c: Likewise.
2834 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
2835 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
2836 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
2837 declarations.
2838
5771c391
JJ
28392014-10-03 Jakub Jelinek <jakub@redhat.com>
2840
2841 PR libgomp/61200
2842 * testsuite/libgomp.c/pr61200.c: New test.
2843
bce16b88
JJ
28442014-09-18 Jakub Jelinek <jakub@redhat.com>
2845
2846 PR c++/63248
2847 * testsuite/libgomp.c++/pr63248.C: New test.
2848
3696163c
JJ
28492014-08-04 Jakub Jelinek <jakub@redhat.com>
2850
2851 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
2852 is not zero, but taskgroup->children is NULL and there are
2853 any task->children, schedule those instead of waiting.
2854 * testsuite/libgomp.c/depend-6.c: New test.
2855 * testsuite/libgomp.c/depend-7.c: New test.
2856 * testsuite/libgomp.c/depend-8.c: New test.
2857 * testsuite/libgomp.c/depend-9.c: New test.
2858 * testsuite/libgomp.c/depend-10.c: New test.
2859
0494285a
JJ
28602014-08-01 Jakub Jelinek <jakub@redhat.com>
2861
2862 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
2863 (struct gomp_taskwait): New type.
2864 (struct gomp_task): Add taskwait and parent_depends_on, remove
2865 in_taskwait and taskwait_sem fields.
2866 (gomp_finish_task): Don't destroy taskwait_sem.
2867 * task.c (gomp_init_task): Don't init in_taskwait, instead init
2868 taskwait and parent_depends_on.
2869 (GOMP_task): For if (0) tasks with depend clause that depend on
2870 earlier tasks don't defer them, instead call
2871 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
2872 Initialize redundant_out field, for redundant out entries just
2873 move them at the end of linked list instead of removing them
2874 completely, and set redundant_out flag instead of redundant.
2875 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
2876 that task.
2877 (gomp_task_run_post_handle_dependers): If parent is in
2878 gomp_task_maybe_wait_for_dependencies and newly runnable task
2879 is not parent_depends_on, queue it in parent->children linked
2880 list after all runnable tasks with parent_depends_on set.
2881 Adjust for addition of taskwait indirection.
2882 (gomp_task_run_post_remove_parent): If parent is in
2883 gomp_task_maybe_wait_for_dependencies and task to be removed
2884 is parent_depends_on, decrement n_depend and if needed awake
2885 parent. Adjust for addition of taskwait indirection.
2886 (GOMP_taskwait): Adjust for addition of taskwait indirection.
2887 (gomp_task_maybe_wait_for_dependencies): New function.
2888 * testsuite/libgomp.c/depend-5.c: New test.
2889
60ab4b44
TB
28902014-07-13 Tobias Burnus <burnus@net-b.de>
2891
2892 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 2893 with TS 18508/Fortran 2015.
60ab4b44 2894
773ec47f
MP
28952014-07-06 Marek Polacek <polacek@redhat.com>
2896
2897 PR c/6940
2898 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
2899
f707da16
JJ
29002014-07-03 Jakub Jelinek <jakub@redhat.com>
2901
2902 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
2903 matches regex $lang_source_re, add $lang_include_flags to options.
2904 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
2905 * testsuite/libgomp.c++/c++.exp: Likewise.
2906 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
2907 and lang_include_flags instead of adding -fintrinsic-modules-path= to
2908 ALWAYS_CFLAGS.
2909 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
2910
07b6c044
TS
29112014-07-03 Thomas Schwinge <thomas@codesourcery.com>
2912
2913 * testsuite/libgomp.fortran/fortran.exp: Explain
2914 gfortran-dg-runtest usage.
2915
da6f124d
JJ
29162014-06-25 Jakub Jelinek <jakub@redhat.com>
2917
2918 * testsuite/libgomp.fortran/simd5.f90: New test.
2919 * testsuite/libgomp.fortran/simd6.f90: New test.
2920 * testsuite/libgomp.fortran/simd7.f90: New test.
2921
b46ebd6c
JJ
29222014-06-24 Jakub Jelinek <jakub@redhat.com>
2923
56ad0e38
JJ
2924 * testsuite/libgomp.c/for-2.c: Define SC to static for
2925 #pragma omp for simd testing.
2926 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
2927 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
2928 SC macro.
2929 * testsuite/libgomp.c/simd-14.c: New test.
2930 * testsuite/libgomp.c/simd-15.c: New test.
2931 * testsuite/libgomp.c/simd-16.c: New test.
2932 * testsuite/libgomp.c/simd-17.c: New test.
2933 * testsuite/libgomp.c++/for-10.C: Define SC to static for
2934 #pragma omp for simd testing.
2935 * testsuite/libgomp.c++/simd10.C: New test.
2936 * testsuite/libgomp.c++/simd11.C: New test.
2937 * testsuite/libgomp.c++/simd12.C: New test.
2938 * testsuite/libgomp.c++/simd13.C: New test.
2939
b46ebd6c
JJ
2940 * testsuite/libgomp.fortran/aligned1.f03: New test.
2941 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
2942 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
2943 tasks with !$omp parallel !$omp single.
2944 * testsuite/libgomp.fortran/target8.f90: New test.
2945 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
2946 not to use trim in the combiner, instead call elemental function.
2947 (fn): New elemental function.
2948 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
2949 Make elemental.
2950 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
2951 omp_in): Likewise.
2952 * testsuite/libgomp.fortran/udr12.f90: New test.
2953 * testsuite/libgomp.fortran/udr13.f90: New test.
2954 * testsuite/libgomp.fortran/udr14.f90: New test.
2955 * testsuite/libgomp.fortran/udr15.f90: New test.
2956
f014c653
JJ
29572014-06-18 Jakub Jelinek <jakub@redhat.com>
2958
2959 * omp_lib.f90.in (openmp_version): Set to 201307.
2960 * omp_lib.h.in (openmp_version): Likewise.
2961 * testsuite/libgomp.c/target-8.c: New test.
2962 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
2963 and inbranch clauses.
2964 * testsuite/libgomp.fortran/depend-3.f90: New test.
2965 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
2966 openmp_version.
2967 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2968 * testsuite/libgomp.fortran/target1.f90: New test.
2969 * testsuite/libgomp.fortran/target2.f90: New test.
2970 * testsuite/libgomp.fortran/target3.f90: New test.
2971 * testsuite/libgomp.fortran/target4.f90: New test.
2972 * testsuite/libgomp.fortran/target5.f90: New test.
2973 * testsuite/libgomp.fortran/target6.f90: New test.
2974 * testsuite/libgomp.fortran/target7.f90: New test.
2975
92d28cbb
JJ
29762014-06-10 Jakub Jelinek <jakub@redhat.com>
2977
2978 PR fortran/60928
2979 * testsuite/libgomp.fortran/allocatable9.f90: New test.
2980 * testsuite/libgomp.fortran/allocatable10.f90: New test.
2981 * testsuite/libgomp.fortran/allocatable11.f90: New test.
2982 * testsuite/libgomp.fortran/allocatable12.f90: New test.
2983 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
2984 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
2985 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
2986 * testsuite/libgomp.fortran/associate1.f90: New test.
2987 * testsuite/libgomp.fortran/associate2.f90: New test.
2988 * testsuite/libgomp.fortran/procptr1.f90: New test.
2989
5f23671d
JJ
29902014-06-06 Jakub Jelinek <jakub@redhat.com>
2991
2992 * testsuite/libgomp.fortran/simd1.f90: New test.
2993 * testsuite/libgomp.fortran/udr1.f90: New test.
2994 * testsuite/libgomp.fortran/udr2.f90: New test.
2995 * testsuite/libgomp.fortran/udr3.f90: New test.
2996 * testsuite/libgomp.fortran/udr4.f90: New test.
2997 * testsuite/libgomp.fortran/udr5.f90: New test.
2998 * testsuite/libgomp.fortran/udr6.f90: New test.
2999 * testsuite/libgomp.fortran/udr7.f90: New test.
3000 * testsuite/libgomp.fortran/udr8.f90: New test.
3001 * testsuite/libgomp.fortran/udr9.f90: New test.
3002 * testsuite/libgomp.fortran/udr10.f90: New test.
3003 * testsuite/libgomp.fortran/udr11.f90: New test.
3004
0389fbb5
UB
30052014-05-27 Uros Bizjak <ubizjak@gmail.com>
3006
3007 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
3008 vect_simd_clones effective target.
3009 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
3010
decaaec8
JJ
30112014-05-21 Jakub Jelinek <jakub@redhat.com>
3012
3013 PR middle-end/61252
3014 * testsuite/libgomp.c++/simd-9.C: New test.
3015
72832460
UB
30162014-05-18 Uros Bizjak <ubizjak@gmail.com>
3017
3018 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
3019 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
3020 texts according to their @menu entry positions.
3021
dd2fc525
JJ
30222014-05-11 Jakub Jelinek <jakub@redhat.com>
3023
3024 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
3025 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
3026 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
3027 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
3028 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
3029 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
3030 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
3031 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
3032 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
3033 * testsuite/libgomp.fortran/depend-1.f90: New test.
3034 * testsuite/libgomp.fortran/depend-2.f90: New test.
3035 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
3036 * testsuite/libgomp.fortran/simd1.f90: New test.
3037 * testsuite/libgomp.fortran/simd2.f90: New test.
3038 * testsuite/libgomp.fortran/simd3.f90: New test.
3039 * testsuite/libgomp.fortran/simd4.f90: New test.
3040 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
3041
95782571
JJ
30422014-05-02 Jakub Jelinek <jakub@redhat.com>
3043
3044 * testsuite/libgomp.c/simd-10.c: New test.
3045 * testsuite/libgomp.c/simd-11.c: New test.
3046 * testsuite/libgomp.c/simd-12.c: New test.
3047 * testsuite/libgomp.c/simd-13.c: New test.
3048
f7468577
JJ
30492014-04-24 Jakub Jelinek <jakub@redhat.com>
3050
42056eac
JJ
3051 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
3052 atomic type clauses in any order and optional comma in between.
3053 * testsuite/libgomp.c++/atomic-15.C: Likewise.
3054 * testsuite/libgomp.c/atomic-17.c: Likewise.
3055
f7468577
JJ
3056 * testsuite/libgomp.c/simd-7.c: New test.
3057 * testsuite/libgomp.c/simd-8.c: New test.
3058 * testsuite/libgomp.c/simd-9.c: New test.
3059 * testsuite/libgomp.c/loop-16.c: New test.
3060
ab18f2f5
RH
30612014-04-02 Richard Henderson <rth@redhat.com>
3062
3063 * config/linux/futex.h (futex_wait): Get error value from errno.
3064 (futex_wake): Likewise.
3065
8bcc90b0
JJ
30662014-03-25 Jakub Jelinek <jakub@redhat.com>
3067
3068 PR c++/60331
3069 * testsuite/libgomp.c++/udr-11.C: New test.
3070 * testsuite/libgomp.c++/udr-12.C: New test.
3071 * testsuite/libgomp.c++/udr-13.C: New test.
3072 * testsuite/libgomp.c++/udr-14.C: New test.
3073 * testsuite/libgomp.c++/udr-15.C: New test.
3074 * testsuite/libgomp.c++/udr-16.C: New test.
3075 * testsuite/libgomp.c++/udr-17.C: New test.
3076 * testsuite/libgomp.c++/udr-18.C: New test.
3077 * testsuite/libgomp.c++/udr-19.C: New test.
3078
18d73c7f
RS
30792014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3080
3081 Update copyright years
3082
f9030485
RS
30832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3084
3085 * hashtab.h: Use the standard form for the copyright notice.
3086
98db73df
TB
30872014-01-02 Tobias Burnus <burnus@net-b.de>
3088
3089 * libgomp.texi: Bump @copying's copyright year.
3090
ae246f7f
AT
30912013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
3092
3093 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
3094 alloca () with __builtin_alloca ().
3095 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
3096 * testsuite/libgomp.c/lock-3.c: Likewise.
3097 * testsuite/libgomp.c/pr48591.c: Likewise.
3098
fa00a5fe
JJ
30992013-12-17 Jakub Jelinek <jakub@redhat.com>
3100
3101 PR testsuite/59534
3102 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
3103 comparisons.
3104
e9792e1d
JJ
31052013-12-16 Jakub Jelinek <jakub@redhat.com>
3106
3107 PR libgomp/58756
3108 * testsuite/libgomp.c/pr58756.c: New test.
3109
cab37c89
JJ
31102013-12-12 Jakub Jelinek <jakub@redhat.com>
3111
3112 PR libgomp/59467
3113 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
3114 !$omp parallel.
3115
de14871c
TS
31162013-11-07 Thomas Schwinge <thomas@codesourcery.com>
3117
1707a5de
TS
3118 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
3119 ALWAYS_CFLAGS.
3120 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
3121 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
3122 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
3123 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
3124 Likewise.
3125
70f05c43
TS
3126 * libgomp_g.h: Include <stddef.h> for size_t.
3127
de14871c
TS
3128 * libgomp.spec.in: Update comment about libgomp's dependencies.
3129 * configure.ac: Likewise.
3130 * configure: Regenerate.
3131
83fd6c5b
TB
31322013-10-16 Tobias Burnus <burnus@net-b.de>
3133
3134 * libgomp.texi: (Runtime Library Routines): Update references for
3135 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
3136 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
3137 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
3138 (Environment Variables): Update references for OpenMP 4.0. Add
3139 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
3140 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
3141 order.
3142
c8673881
JJ
31432013-10-14 Jakub Jelinek <jakub@redhat.com>
3144
3145 * env.c (parse_bind_var): Initialize value to avoid
3146 (false positive) warning.
3147
f89163fd
JJ
31482013-10-12 Jakub Jelinek <jakub@redhat.com>
3149
3150 PR libgomp/58691
3151 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
3152 to check variable.
3153 (gomp_init_num_threads): Move i variable declaration into
3154 #ifdef CPU_ALLOC_SIZE block.
3155 * config/linux/affinity.c (gomp_affinity_init_level): Test
3156 gomp_places_list_len == 0 rather than gomp_places_list == 0
3157 when checking for topology reading error.
3158 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
3159 * env.c (parse_affinity): Add ignore argument, if true, don't populate
3160 gomp_places_list, only parse env var and always return false.
3161 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
3162 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
3163 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
3164 and either of these variables were parsed correctly into a places
3165 list.
3166
1d340638
TS
31672013-10-11 Thomas Schwinge <thomas@codesourcery.com>
3168 Jakub Jelinek <jakub@redhat.com>
3169
3170 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
3171 of 5 loopfn matches.
3172 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3173 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3174 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
3175 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3176 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3177 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3178 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3179 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3180
71a81c21
TS
31812013-10-11 Thomas Schwinge <thomas@codesourcery.com>
3182
bd87f731
TS
3183 * Makefile.am (omp_lib.mod): Streamline rule.
3184 * Makefile.in: Regenerate.
3185
f5745bed
TS
3186 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
3187 exceptions.
3188
b5512c66
TS
3189 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
3190 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3191 * testsuite/libgomp.fortran/lib2.f: Likewise.
3192 * testsuite/libgomp.fortran/lib3.f: Likewise.
3193
451c19c4
TS
3194 * configure.ac: Typo fix.
3195 * configure: Regenerate.
3196
86a6016d
TS
3197 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
3198 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3199
71a81c21
TS
3200 * omp.h.in: Don't touch the user's namespace.
3201
acf0174b
JJ
32022013-10-11 Jakub Jelinek <jakub@redhat.com>
3203 Tobias Burnus <burnus@net-b.de>
3204 Richard Henderson <rth@redhat.com>
3205
3206 * target.c: New file.
3207 * Makefile.am (libgomp_la_SOURCES): Add target.c.
3208 * Makefile.in: Regenerated.
3209 * libgomp_g.h (GOMP_task): Add depend argument.
3210 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
3211 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
3212 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
3213 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
3214 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
3215 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
3216 GOMP_taskgroup_start, GOMP_taskgroup_end,
3217 GOMP_parallel_sections): New prototypes.
3218 * fortran.c (omp_is_initial_device): Add ialias_redirect.
3219 (omp_is_initial_device_): New function.
3220 (ULP, STR1, STR2, ialias_redirect): Removed.
3221 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
3222 omp_set_default_device_8_, omp_get_default_device_,
3223 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
3224 functions.
3225 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
3226 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
3227 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
3228 @@GOMP_4.0.
3229 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
3230 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
3231 omp_set_default_device, omp_set_default_device_,
3232 omp_set_default_device_8_, omp_get_default_device,
3233 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
3234 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
3235 omp_get_team_num_): Export @@OMP_4.0.
3236 * team.c (struct gomp_thread_start_data): Add place field.
3237 (gomp_thread_start): Clear thr->thread_pool and
3238 thr->task before returning. Use gomp_team_barrier_wait_final
3239 instead of gomp_team_barrier_wait. Initialize thr->place.
3240 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
3241 team_cancelled and task_queued_count fields.
3242 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
3243 before calling pthread_exit.
3244 (gomp_free_thread): No longer static. Use
3245 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
3246 (gomp_team_start): Add flags argument. Set
3247 thr->thread_pool->threads_busy to nthreads immediately after creating
3248 new pool. Use gomp_managed_threads_lock instead of
3249 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
3250 (gomp_team_end): Use gomp_managed_threads_lock instead of
3251 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
3252 of gomp_team_barrier_wait. If team->team_cancelled, call
3253 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
3254 rather than thr->ts.work_share.
3255 (initialize_team): Don't call gomp_sem_init here.
3256 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
3257 caller.
3258 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
3259 * env.c (gomp_global_icv): Add default_device_var, target_data and
3260 bind_var initializers.
3261 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
3262 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
3263 gomp_places_list_len): New variables.
3264 (parse_bind_var, parse_one_place, parse_places_var): New functions.
3265 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
3266 sized places.
3267 (gomp_cancel_var): New global variable.
3268 (parse_int): New function.
3269 (handle_omp_display_env): New function.
3270 (initialize_env): Use it. Initialize default_device_var.
3271 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
3272 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
3273 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
3274 been successfully parsed (and call gomp_init_affinity in that case).
3275 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
3276 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
3277 omp_get_team_num, omp_is_initial_device): New functions.
3278 * libgomp.h: Include stdlib.h.
3279 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
3280 Define.
3281 (struct target_mem_desc): Forward declare.
3282 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
3283 and thread_limit_var fields.
3284 (gomp_get_num_devices): New prototype.
3285 (gomp_cancel_var): New extern decl.
3286 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
3287 team_cancelled and task_queued_count fields. Add comments about
3288 task_{,queued_,running_}count.
3289 (gomp_cancel_kind): New enum.
3290 (gomp_work_share_end_cancel): New prototype.
3291 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
3292 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
3293 and depend fields.
3294 (struct gomp_taskgroup): New type.
3295 (struct gomp_task_depend_entry,
3296 struct gomp_dependers_vec): New types.
3297 (gomp_finish_task): Free depend_hash if non-NULL.
3298 (struct gomp_team_state): Add place_partition_off
3299 and place_partition_len fields.
3300 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
3301 gomp_places_list_len): New extern decls.
3302 (struct gomp_thread): Add place field.
3303 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
3304 (gomp_init_thread_affinity): Add place argument.
3305 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
3306 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
3307 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
3308 gomp_affinity_init_level, gomp_affinity_print_place): New
3309 prototypes.
3310 (gomp_team_start): Add flags argument.
3311 (gomp_thread_limit_var, gomp_remaining_threads_count,
3312 gomp_remaining_threads_lock): Remove.
3313 (gomp_managed_threads_lock): New variable.
3314 (struct gomp_thread_pool): Add threads_busy field.
3315 (gomp_free_thread): New prototype.
3316 * task.c: Include hashtab.h.
3317 (hash_entry_type): New typedef.
3318 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
3319 (gomp_init_task): Clear dependers, depend_hash, depend_count,
3320 copy_ctors_done and taskgroup fields.
3321 (GOMP_task): Add depend argument, handle depend clauses. If
3322 gomp_team_barrier_cancelled or if it's taskgroup has been
3323 cancelled, don't queue or start new tasks. Set copy_ctors_done
3324 field if needed. Initialize taskgroup field. If copy_ctors_done
3325 and already cancelled, don't discard the task. If taskgroup is
3326 non-NULL, enqueue the task into taskgroup queue. Increment
3327 num_children field in taskgroup. Increment task_queued_count.
3328 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
3329 gomp_task_run_post_remove_taskgroup): New inline functions.
3330 (gomp_task_run_post_handle_depend_hash,
3331 gomp_task_run_post_handle_dependers,
3332 gomp_task_run_post_handle_depend): New functions.
3333 (GOMP_taskwait): Use them. If more than one new tasks
3334 have been queued, wake other threads if needed.
3335 (gomp_barrier_handle_tasks): Likewise. If
3336 gomp_team_barrier_cancelled, don't start any new tasks, just free
3337 all tasks.
3338 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
3339 * omp_lib.f90.in
3340 (omp_proc_bind_kind, omp_proc_bind_false,
3341 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
3342 omp_proc_bind_spread): New params.
3343 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
3344 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
3345 omp_get_team_num, omp_is_initial_device): New interfaces.
3346 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
3347 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
3348 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
3349 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
3350 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
3351 useless use omp_lib_kinds.
3352 * omp.h.in (omp_proc_bind_t): New typedef.
3353 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
3354 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
3355 omp_get_team_num, omp_is_initial_device): New prototypes.
3356 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
3357 through to gomp_team_start.
3358 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
3359 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
3360 Adjust gomp_parallel_loop_start callers.
3361 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
3362 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
3363 GOMP_loop_end_cancel): New functions.
3364 (GOMP_parallel_end): Add ialias_redirect.
3365 * hashtab.h: New file.
3366 * libgomp.texi (Environment Variables): Minor cleanup,
3367 update section refs to OpenMP 4.0rc2.
3368 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
3369 environment variables.
3370 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
3371 team->work_shares_to_free to thr->ts.work_share before calling
3372 free_work_share.
3373 (gomp_work_share_end_cancel): New function.
3374 * config/linux/proc.c: Include errno.h.
3375 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
3376 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
3377 sizeof (cpu_set_t) to determine number of iterations. Fix up check
3378 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
3379 gomp_cpuset_size is sizeof (cpu_set_t).
3380 (gomp_init_num_threads): Initialize gomp_cpuset_size,
3381 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
3382 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
3383 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
3384 contain any logical CPUs.
3385 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
3386 is NULL. Use gomp_cpusetp instead of &cpuset and pass
3387 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
3388 pthread_getaffinity_np. Check gomp_places_list instead of
3389 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
3390 * config/linux/bar.c (gomp_barrier_wait_end,
3391 gomp_barrier_wait_last): Use BAR_* defines.
3392 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
3393 from state where needed. Set work_share_cancelled to 0 on last
3394 thread.
3395 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
3396 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
3397 functions.
3398 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
3399 Add cpusetsize argument.
3400 (gomp_cpuset_size, gomp_cpusetp): Declare.
3401 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
3402 (affinity_counter): Remove.
3403 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
3404 if CPU_ALLOC_SIZE isn't defined.
3405 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
3406 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
3407 bind current thread to the first place.
3408 (gomp_init_thread_affinity): Rewritten. Add place argument, just
3409 pthread_setaffinity_np to gomp_places_list[place].
3410 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
3411 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
3412 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
3413 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
3414 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
3415 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
3416 (gomp_barrier_t): Add awaited_final field.
3417 (gomp_barrier_init): Initialize awaited_final field.
3418 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
3419 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
3420 prototypes.
3421 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
3422 defines.
3423 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
3424 gomp_team_barrier_cancelled): New inline functions.
3425 (gomp_barrier_last_thread,
3426 gomp_team_barrier_set_task_pending,
3427 gomp_team_barrier_clear_task_pending,
3428 gomp_team_barrier_set_waiting_for_tasks,
3429 gomp_team_barrier_waiting_for_tasks,
3430 gomp_team_barrier_done): Use BAR_* defines.
3431 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
3432 (gomp_barrier_wait_end): Use BAR_* defines.
3433 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
3434 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
3435 Use BAR_* defines.
3436 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
3437 gomp_team_barrier_cancel): New functions.
3438 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
3439 argument.
3440 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
3441 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
3442 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
3443 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
3444 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
3445 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
3446 (gomp_barrier_t): Add cancellable field.
3447 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
3448 gomp_team_barrier_cancel): New prototypes.
3449 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
3450 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
3451 gomp_team_barrier_cancelled): New inline functions.
3452 (gomp_barrier_wait_start, gomp_barrier_last_thread,
3453 gomp_team_barrier_set_task_pending,
3454 gomp_team_barrier_clear_task_pending,
3455 gomp_team_barrier_set_waiting_for_tasks,
3456 gomp_team_barrier_waiting_for_tasks,
3457 gomp_team_barrier_done): Use BAR_* defines.
3458 * barrier.c (GOMP_barrier_cancel): New function.
3459 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
3460 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
3461 omp_proc_bind_spread): New params.
3462 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
3463 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
3464 omp_get_team_num, omp_is_initial_device): New externals.
3465 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
3466 New functions.
3467 (gomp_resolve_num_threads): Adjust for thread_limit now being in
3468 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
3469 infinity. If not nested, just return minimum of max_num_threads
3470 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
3471 to the returned value. Otherwise, don't update atomically
3472 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
3473 (GOMP_parallel_end): Adjust for thread_limit now being in
3474 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
3475 infinity. Adjust threads_busy in the pool rather than
3476 gomp_remaining_threads_count. Remember team->nthreads and call
3477 gomp_team_end before adjusting threads_busy, if not nested
3478 afterwards, just set it to 1 non-atomically. Add ialias.
3479 (GOMP_parallel_start): Adjust gomp_team_start caller.
3480 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
3481 * testsuite/libgomp.c/affinity-1.c: New test.
3482 * testsuite/libgomp.c/atomic-15.c: New test.
3483 * testsuite/libgomp.c/atomic-16.c: New test.
3484 * testsuite/libgomp.c/atomic-17.c: New test.
3485 * testsuite/libgomp.c/cancel-for-1.c: New test.
3486 * testsuite/libgomp.c/cancel-for-2.c: New test.
3487 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
3488 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
3489 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
3490 * testsuite/libgomp.c/cancel-sections-1.c: New test.
3491 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
3492 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
3493 * testsuite/libgomp.c/depend-1.c: New test.
3494 * testsuite/libgomp.c/depend-2.c: New test.
3495 * testsuite/libgomp.c/depend-3.c: New test.
3496 * testsuite/libgomp.c/depend-4.c: New test.
3497 * testsuite/libgomp.c/for-1.c: New test.
3498 * testsuite/libgomp.c/for-1.h: New file.
3499 * testsuite/libgomp.c/for-2.c: New test.
3500 * testsuite/libgomp.c/for-2.h: New file.
3501 * testsuite/libgomp.c/for-3.c: New test.
3502 * testsuite/libgomp.c/pr58392.c: New test.
3503 * testsuite/libgomp.c/simd-1.c: New test.
3504 * testsuite/libgomp.c/simd-2.c: New test.
3505 * testsuite/libgomp.c/simd-3.c: New test.
3506 * testsuite/libgomp.c/simd-4.c: New test.
3507 * testsuite/libgomp.c/simd-5.c: New test.
3508 * testsuite/libgomp.c/simd-6.c: New test.
3509 * testsuite/libgomp.c/target-1.c: New test.
3510 * testsuite/libgomp.c/target-2.c: New test.
3511 * testsuite/libgomp.c/target-3.c: New test.
3512 * testsuite/libgomp.c/target-4.c: New test.
3513 * testsuite/libgomp.c/target-5.c: New test.
3514 * testsuite/libgomp.c/target-6.c: New test.
3515 * testsuite/libgomp.c/target-7.c: New test.
3516 * testsuite/libgomp.c/taskgroup-1.c: New test.
3517 * testsuite/libgomp.c/thread-limit-1.c: New test.
3518 * testsuite/libgomp.c/thread-limit-2.c: New test.
3519 * testsuite/libgomp.c/thread-limit-3.c: New test.
3520 * testsuite/libgomp.c/udr-1.c: New test.
3521 * testsuite/libgomp.c/udr-2.c: New test.
3522 * testsuite/libgomp.c/udr-3.c: New test.
3523 * testsuite/libgomp.c++/affinity-1.C: New test.
3524 * testsuite/libgomp.c++/atomic-10.C: New test.
3525 * testsuite/libgomp.c++/atomic-11.C: New test.
3526 * testsuite/libgomp.c++/atomic-12.C: New test.
3527 * testsuite/libgomp.c++/atomic-13.C: New test.
3528 * testsuite/libgomp.c++/atomic-14.C: New test.
3529 * testsuite/libgomp.c++/atomic-15.C: New test.
3530 * testsuite/libgomp.c++/cancel-for-1.C: New test.
3531 * testsuite/libgomp.c++/cancel-for-2.C: New test.
3532 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
3533 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
3534 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
3535 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
3536 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
3537 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
3538 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
3539 * testsuite/libgomp.c++/cancel-test.h: New file.
3540 * testsuite/libgomp.c++/for-9.C: New test.
3541 * testsuite/libgomp.c++/for-10.C: New test.
3542 * testsuite/libgomp.c++/for-11.C: New test.
3543 * testsuite/libgomp.c++/simd-1.C: New test.
3544 * testsuite/libgomp.c++/simd-2.C: New test.
3545 * testsuite/libgomp.c++/simd-3.C: New test.
3546 * testsuite/libgomp.c++/simd-4.C: New test.
3547 * testsuite/libgomp.c++/simd-5.C: New test.
3548 * testsuite/libgomp.c++/simd-6.C: New test.
3549 * testsuite/libgomp.c++/simd-7.C: New test.
3550 * testsuite/libgomp.c++/simd-8.C: New test.
3551 * testsuite/libgomp.c++/target-1.C: New test.
3552 * testsuite/libgomp.c++/target-2.C: New test.
3553 * testsuite/libgomp.c++/target-2-aux.cc: New file.
3554 * testsuite/libgomp.c++/target-3.C: New test.
3555 * testsuite/libgomp.c++/taskgroup-1.C: New test.
3556 * testsuite/libgomp.c++/udr-1.C: New test.
3557 * testsuite/libgomp.c++/udr-2.C: New test.
3558 * testsuite/libgomp.c++/udr-3.C: New test.
3559 * testsuite/libgomp.c++/udr-4.C: New test.
3560 * testsuite/libgomp.c++/udr-5.C: New test.
3561 * testsuite/libgomp.c++/udr-6.C: New test.
3562 * testsuite/libgomp.c++/udr-7.C: New test.
3563 * testsuite/libgomp.c++/udr-8.C: New test.
3564 * testsuite/libgomp.c++/udr-9.C: New test.
3565
bd599dea
JJ
35662013-09-20 Jakub Jelinek <jakub@redhat.com>
3567
3568 PR testsuite/57605
3569 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
3570 ALWAYS_CFLAGS.
3571
3cbe17f7
AM
35722013-09-20 Alan Modra <amodra@gmail.com>
3573
3574 * configure: Regenerate.
3575
4befd127
JJ
35762013-09-19 Jakub Jelinek <jakub@redhat.com>
3577
3578 * testsuite/libgomp.c/sections-2.c: New test.
3579
946c8f7b
MS
35802013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
3581
3582 * testsuite/libgomp.fortran/strassen.f90:
3583 Add dg-skip-if aarch64_tiny.
3584
1ef3b58e
IS
35852013-06-20 Iain Sandoe <iain@codesourcery.com>
3586 Cesar Philippidis <cesar@codesourcery.com>
3587
3588 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
3589 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
3590 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
3591 * testsuite/libgomp.fortran/fortran.exp: Likewise.
3592 * testsuite/libgomp.graphite/graphite.exp: Likewise.
3593 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
3594 Use dg-runtest rather than gfortran-dg-runtest.
3595
9275f73a
TS
35962013-06-10 Thomas Schwinge <thomas@codesourcery.com>
3597
3598 * testsuite/libgomp.c/icv-2.c: Extend current handling of
3599 Linux-based x86 systems to cover all GNU systems.
3600 * testsuite/libgomp.c/lock-3.c: Likewise.
3601 * testsuite/libgomp.c/pr48591.c: Likewise.
3602
492992e2
TS
36032013-06-06 Thomas Schwinge <thomas@codesourcery.com>
3604
48df3acb
TS
3605 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
3606 GNU/Hurd, as done for Linux-based systems.
3607
492992e2
TS
3608 * config/posix/ptrlock.h: Fix comment.
3609
4fed6b25
TB
36102013-05-27 Tobias Burnus <burnus@net-b.de>
3611
3612 PR fortran/57423
3613 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
3614 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
3615 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
3616 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
3617 omp_destroy_nest_lock): Correct arguments to match the one in
3618 the OpenMP spec.
3619 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
3620 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
3621 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
3622 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
3623
5a0f4dd3
JJ
36242013-05-16 Jakub Jelinek <jakub@redhat.com>
3625
3626 * testsuite/libgomp.c/loop-13.c: New test.
3627 * testsuite/libgomp.c/loop-14.c: New test.
3628 * testsuite/libgomp.c/loop-15.c: New test.
3629 * testsuite/libgomp.c++/loop-13.C: New test.
3630 * testsuite/libgomp.c++/loop-14.C: New test.
3631 * testsuite/libgomp.c++/loop-15.C: New test.
3632
6d840d99
JJ
36332013-02-06 Jakub Jelinek <jakub@redhat.com>
3634
3635 PR middle-end/56217
3636 * testsuite/libgomp.c++/pr56217.C: New test.
3637
bed8d8a6
AM
36382013-02-01 Alan Modra <amodra@gmail.com>
3639
3640 * task.c (GOMP_task, GOMP_taskwait): Comment.
3641
3b35cd04
DV
36422013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
3643 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
3644
3645 PR libgomp/55561
3646 * config/linux/wait.h (do_spin): Use atomic load for addr.
3647 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
3648 for intptr and ptrlock.
3649 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
3650 for ptrlock.
3651
9a647288
AM
36522013-01-22 Alan Modra <amodra@gmail.com>
3653
3654 PR libgomp/51376
3655 PR libgomp/56073
3656 * task.c (GOMP_task): Revert 2011-12-09 change.
3657 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
3658 barrier to read task->children..
3659 (gomp_barrier_handle_tasks): ..and matching atomic store with
3660 release barrier here when setting parent->children to NULL.
3661
f34dea03
JJ
36622013-01-16 Jakub Jelinek <jakub@redhat.com>
3663 Tobias Burnus <burnus@net-b.de>
3664
3665 PR driver/55884
3666 * testsuite/libgomp.fortran/fortran.exp: Use
3667 -fintrinsic-modules-path= instead of
3668 -fintrinsic-modules-path.
3669
8129609c
RS
36702013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
3671
3672 Update copyright years.
3673
aa86bf1e
TB
36742012-12-19 Tobias Burnus <burnus@net-b.de>
3675
3676 * testsuite/libgomp.fortran/fortran.exp: Set
3677 -fintrinsic-modules-path.
3678
2865ea66
TB
36792012-12-19 Tobias Burnus <burnus@net-b.de>
3680
3681 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
3682 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
3683
4c5ba8d0
JJ
36842012-11-21 Jakub Jelinek <jakub@redhat.com>
3685
3686 PR libgomp/55411
3687 * team.c (gomp_free_thread): Decrease gomp_managed_threads
3688 if pool had any threads_used.
3689
e9f958c2
JH
36902012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
3691
3692 * testsuite/libgomp.c++/pr24455.C: Use
3693 -Wl,-undefined,dynamic_lookup on darwin.
3694
a57d75dc
DE
36952012-11-07 David Edelsohn <dje.gcc@gmail.com>
3696
3697 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
3698
c6c08485
DH
36992012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
3700
3701 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
3702
c1f37c00
IB
37032012-10-23 Ian Bolton <ian.bolton@arm.com>
3704 Jim MacArthur <jim.macarthur@arm.com>
3705 Marcus Shawcroft <marcus.shawcroft@arm.com>
3706 Nigel Stephens <nigel.stephens@arm.com>
3707 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3708 Richard Earnshaw <rearnsha@arm.com>
3709 Sofiane Naci <sofiane.naci@arm.com>
3710 Stephen Thomas <stephen.thomas@arm.com>
3711 Tejas Belagod <tejas.belagod@arm.com>
3712 Yufeng Zhang <yufeng.zhang@arm.com>
3713
3714 * configure.tgt: Add AArch64.
3715
7c424acd
JM
37162012-10-04 Jason Merrill <jason@redhat.com>
3717
3718 * testsuite/libgomp.c++/tls-init1.C: New.
3719
6608378b
DE
37202012-09-14 David Edelsohn <dje.gcc@gmail.com>
3721
3722 * configure: Regenerated.
3723
c24dbebb
CLT
37242012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
3725
3726 * config/linux/mips/futex.h (sys_futex0): Change to static
3727 function with noinline, nomips16 attributes under MIPS16. Adjust
3728 asm statement to place 'li v0,SYS_futex' immediately before
3729 syscall insn.
3730
3d3949df
SL
37312012-07-04 Sandra Loosemore <sandra@codesourcery.com>
3732
3733 * libgomp.texi (Library Index): Renamed from "Index" to prevent
3734 conflict with index.html on case-insensitive file systems.
3735
68a12ef3
UB
37362012-07-03 Uros Bizjak <ubizjak@gmail.com>
3737
3738 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
3739 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
3740
33ad93b9 37412012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
3742 Michael Matz <matz@suse.de>
3743 Tobias Grosser <tobias@grosser.es>
3744 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
3745
3746 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
3747 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3748 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3749 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3750
e6fdc918
AS
37512012-06-28 Andreas Schwab <schwab@linux-m68k.org>
3752
3753 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
3754
62e0a1ed
RG
37552012-06-22 Richard Guenther <rguenther@suse.de>
3756
3757 Merge from graphite branch
3758 2012-01-13 Tobias Grosser <tobias@grosser.es>
3759
3760 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3761 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3762
26127932
JJ
37632012-06-07 Jakub Jelinek <jakub@redhat.com>
3764
3765 PR middle-end/53580
3766 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
3767 use GOMP_barrier () call instead.
3768 * testsuite/libgomp.c/pr26943-3.c: Likewise.
3769 * testsuite/libgomp.c/pr26943-4.c: Likewise.
3770 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
3771 call GOMP_barrier instead.
3772 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3773
43fa5db5
JJ
37742012-06-06 Jakub Jelinek <jakub@redhat.com>
3775
3776 PR libgomp/52993
3777 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
3778 argument to memset call.
3779
e6d5f8c9
L
37802012-05-16 H.J. Lu <hongjiu.lu@intel.com>
3781
3782 * configure: Regenerated.
3783
559d990c
MLI
37842012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3785
3786 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
3787
b9c23a61
L
37882012-03-31 H.J. Lu <hongjiu.lu@intel.com>
3789
3790 PR bootstrap/52812
3791 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
3792
c140ddf3
JJ
37932012-03-22 Jakub Jelinek <jakub@redhat.com>
3794
3795 PR middle-end/52547
3796 * testsuite/libgomp.c/pr52547.c: New test.
3797
6a26a74d
BRF
37982012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3799
3800 * testsuite/lib/libgomp.exp: load fortran-modules.exp
3801
b24513a1
RO
38022012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3803
3804 * configure.tgt (mips-sgi-irix6*): Remove.
3805
5c30094f
RO
38062012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3807
3808 * configure.tgt (alpha*-dec-osf*): Remove.
3809
3810 * config/osf/sem.h: Remove.
3811 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
3812
a339c9d6
EB
38132012-02-29 Eric Botcazou <ebotcazou@adacore.com>
3814
3815 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
3816
cc2de92d
RO
38172012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3818
3819 PR libstdc++/52188
3820 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
3821 Remove ENABLE_SYMVERS_SOL2.
3822 * configure: Regenerate.
3823 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
3824 (PREPROCESS): New variable.
3825 (libgomp.ver): New target.
3826 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
3827 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
3828 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
3829 Use libgomp.ver.
3830 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
3831 * Makefile.in: Regenerate.
3832
dd552284
WL
38332012-02-14 Walter Lee <walt@tilera.com>
3834
3835 * configure.tgt: Handle tilegx and tilepro.
3836 * config/linux/tile/futex.h: New file.
3837
31432e21
RG
38382012-02-08 Richard Guenther <rguenther@suse.de>
3839
3840 PR tree-optimization/46886
3841 * testsuite/libgomp.c/pr46886.c: New testcase.
3842
b9264b5f
MK
38432012-01-25 Matthias Klose <doko@ubuntu.com>
3844
3845 * config/linux/arm: Remove empty directory.
3846 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
3847
fbf7be80
AM
38482011-12-09 Alan Modra <amodra@gmail.com>
3849
3850 PR libgomp/51376
3851 * task.c (GOMP_taskwait): Don't access task->children outside of
3852 task_lock mutex region.
3853 (GOMP_task): Likewise.
3854
5de62d00
JJ
38552011-12-06 Jakub Jelinek <jakub@redhat.com>
3856
3857 PR libgomp/51132
3858 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
3859 to file scope.
3860 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3861 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3862 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3863 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3864 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3865
45608a43
AM
38662011-12-02 Alan Modra <amodra@gmail.com>
3867
3868 * config/linux/affinity.c: Use atomic rather than sync builtin.
3869 * config/linux/lock.c: Likewise.
3870 * config/linux/ptrlock.h: Likewise.
3871 * config/linux/ptrlock.c: Likewise.
3872 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
3873 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
3874 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
3875 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
3876 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
3877 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
3878 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
3879 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
3880 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
3881 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
3882
ab6dd406
AM
38832011-11-30 Alan Modra <amodra@gmail.com>
3884
3885 PR libgomp/51298
3886 * config/linux/bar.h: Use atomic rather than sync builtins.
3887 * config/linux/bar.c: Likewise. Add missing acquire
3888 synchronisation on generation field.
3889 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
3890 double unlock.
3891
b40c885f
AM
38922011-11-30 Alan Modra <amodra@gmail.com>
3893
3894 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
3895 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
3896 * config/linux/mutex.h: Use atomic rather than sync builtins.
3897 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
3898 * config/linux/omp-lock.h: Comment fix.
3899 * config/linux/arm/mutex.h: Delete.
3900 * config/linux/powerpc/mutex.h: Delete.
3901 * config/linux/ia64/mutex.h: Delete.
3902 * config/linux/mips/mutex.h: Delete.
3903
3e348fcc
AM
39042011-11-30 Alan Modra <amodra@gmail.com>
3905
3906 PR libgomp/51249
3907 * config/linux/sem.h: Rewrite.
3908 * config/linux/sem.c: Rewrite.
3909
cef86eb2
RH
39102011-11-28 Richard Henderson <rth@redhat.com>
3911
3912 * libgomp.h (enum memmodel): New.
3913
c6084f68
AT
39142011-11-21 Andreas Tobler <andreast@fgznet.ch>
3915
3916 * configure: Regenerate.
3917
06fe026c
MK
39182011-10-10 Matthias Klose <doko@ubuntu.com>
3919
3920 * config/posix95: Remove empty directory.
3921
a6c975bd
JJ
39222011-08-26 Jakub Jelinek <jakub@redhat.com>
3923
3924 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
3925
c26dffff
JJ
39262011-08-19 Jakub Jelinek <jakub@redhat.com>
3927
3928 PR fortran/49792
3929 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
3930 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
3931
ddaad3c8
RO
39322011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3933
3934 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
3935
98d03683
RO
39362011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3937
3938 PR libgomp/49965
3939 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
3940
e0b23d9f
UB
39412011-08-03 Uros Bizjak <ubizjak@gmail.com>
3942
3943 * config/linux/proc.h: New.
3944 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
3945 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
3946 (gomp_init_num_threads): Update call to cpuset_popcount.
3947 (get_num_procs): Ditto.
3948 * config/linux/affinity.c (gomp_init_affinity): Call
3949 gomp_cpuset_popcount.
3950
20906c66
JJ
39512011-08-02 Jakub Jelinek <jakub@redhat.com>
3952
3953 PR fortran/42041
3954 PR fortran/46752
3955 * omp.h.in (omp_in_final): New prototype.
3956 * omp_lib.f90.in (omp_in_final): New interface.
3957 (omp_integer_kind, omp_logical_kind): Remove
3958 and replace all its uses in the module with 4.
3959 (openmp_version): Change to 201107.
3960 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
3961 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
3962 kind for the parameters.
3963 (omp_in_final): New external.
3964 (openmp_version): Change to 201107.
3965 * task.c (omp_in_final): New function.
3966 (gomp_init_task): Initialize final_task.
3967 (GOMP_task): Remove unused attribute from flags. Handle final
3968 tasks.
3969 (GOMP_taskyield): New function.
3970 (omp_in_final): Return true if if (false) or final (true) task
3971 or descendant of final (true).
3972 * fortran.c (omp_in_final_): New function.
3973 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
3974 (GOMP_3.0): Export GOMP_taskyield.
3975 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
3976 variables.
3977 (parse_unsigned_long_list): New function.
3978 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
3979 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
3980 even if parse_affinity returned false.
3981 * config/linux/affinity.c (gomp_init_affinity): Handle
3982 gomp_cpu_affinity_len == 0.
3983 * libgomp_g.h (GOMP_taskyield): New prototype.
3984 * libgomp.h (struct gomp_task): Add final_task field.
3985 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
3986 * team.c (gomp_team_start): Override new task's nthreads_var icv
3987 if list form OMP_NUM_THREADS has been used and it has value for
3988 the new nesting level.
3989
3990 * testsuite/libgomp.c/atomic-11.c: New test.
3991 * testsuite/libgomp.c/atomic-12.c: New test.
3992 * testsuite/libgomp.c/atomic-13.c: New test.
3993 * testsuite/libgomp.c/atomic-14.c: New test.
3994 * testsuite/libgomp.c/reduction-6.c: New test.
3995 * testsuite/libgomp.c/task-5.c: New test.
3996 * testsuite/libgomp.c++/atomic-2.C: New test.
3997 * testsuite/libgomp.c++/atomic-3.C: New test.
3998 * testsuite/libgomp.c++/atomic-4.C: New test.
3999 * testsuite/libgomp.c++/atomic-5.C: New test.
4000 * testsuite/libgomp.c++/atomic-6.C: New test.
4001 * testsuite/libgomp.c++/atomic-7.C: New test.
4002 * testsuite/libgomp.c++/atomic-8.C: New test.
4003 * testsuite/libgomp.c++/atomic-9.C: New test.
4004 * testsuite/libgomp.c++/task-8.C: New test.
4005 * testsuite/libgomp.c++/reduction-4.C: New test.
4006 * testsuite/libgomp.fortran/allocatable7.f90: New test.
4007 * testsuite/libgomp.fortran/allocatable8.f90: New test.
4008 * testsuite/libgomp.fortran/crayptr3.f90: New test.
4009 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
4010 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
4011 * testsuite/libgomp.fortran/pointer1.f90: New test.
4012 * testsuite/libgomp.fortran/pointer2.f90: New test.
4013 * testsuite/libgomp.fortran/task4.f90: New test.
4014
40152011-08-02 Tobias Burnus <burnus@net-b.de>
4016
4017 * libgomp.texi: Update OpenMP spec references to 3.1.
4018 (omp_in_final,OMP_PROC_BIND): New sections.
4019 (OMP_NUM_THREADS): Document that the value can be now a list.
4020 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
4021
c01ecafc
L
40222011-08-02 H.J. Lu <hongjiu.lu@intel.com>
4023
4024 * config/linux/x86/futex.h: Check __x86_64__ instead of
4025 __LP64__.
4026
25142650
JJ
40272011-07-29 Jakub Jelinek <jakub@redhat.com>
4028
4029 PR middle-end/49897
4030 PR middle-end/49898
4031 * testsuite/libgomp.c/pr49897-1.c: New test.
4032 * testsuite/libgomp.c/pr49897-2.c: New test.
4033 * testsuite/libgomp.c/pr49898-1.c: New test.
4034 * testsuite/libgomp.c/pr49898-2.c: New test.
4035
f53d712f
L
40362011-07-28 H.J. Lu <hongjiu.lu@intel.com>
4037
4038 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
4039 for ia32 instead of ilp32.
4040
4041 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
4042 * testsuite/libgomp.c/atomic-6.c: Likewise.
4043
3689198d
SP
40442011-07-23 Sebastian Pop <sebastian.pop@amd.com>
4045
4046 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
4047 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
4048
1a79cb73
RO
40492011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4050
4051 PR libgomp/45351
4052 * config/osf/sem.h: New file.
4053 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
4054
c1f51484
RO
40552011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4056
4057 PR target/49541
4058 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
4059 ldflags.
4060
bfee0724
JJ
40612011-07-15 Jakub Jelinek <jakub@redhat.com>
4062
4063 * config/linux/wait.h (do_spin): New inline, largely copied
4064 from do_wait, just don't do futex_wait here, instead return true if
4065 it should be done.
4066 (do_wait): Implement using do_spin.
4067 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
4068 to prototype.
4069 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4070 __sync_bool_compare_and_swap, pass the oldval to
4071 gomp_mutex_lock_slow.
4072 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
4073 If all mutex contenders are just spinning and not sleeping, don't
4074 change state to 2 unnecessarily. Optimize the loop when state has
4075 already become 2 to use just one atomic operation per loop instead
4076 of two.
4077 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
4078 to prototype.
4079 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4080 __sync_bool_compare_and_swap, pass the oldval to
4081 gomp_mutex_lock_slow.
4082
fb79f500
JJ
40832011-06-22 Jakub Jelinek <jakub@redhat.com>
4084
4085 PR libgomp/49490
4086 * iter.c (gomp_iter_static_next): For chunk size 0
4087 only use n ceil/ nthreads size for the first
4088 n % nthreads threads in the team instead of
4089 all threads except for the last few ones which
4090 get less work or none at all.
4091 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
4092 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
4093 chunk argument, set run_sched_modifier to 0 for static
4094 resp. 1 for other kinds. If chunk argument is 0
4095 and not static, set value to 1.
4096
4577f730
JJ
40972011-05-19 Jakub Jelinek <jakub@redhat.com>
4098
ea93a47b
JJ
4099 PR c++/49043
4100 * testsuite/libgomp.c++/pr49043.C: New test.
4101
4577f730
JJ
4102 PR c++/48869
4103 * testsuite/libgomp.c++/pr48869.C: New test.
4104
e7385332
JJ
41052011-05-06 Jakub Jelinek <jakub@redhat.com>
4106
4107 PR fortran/48894
4108 * fortran.c: Include limits.h.
4109 (TO_INT): Define.
4110 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
4111 *set.
4112 (omp_set_num_threads_8_, omp_set_schedule_8_,
4113 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
4114 omp_get_team_size_8_): Use TO_INT macro.
4115 * testsuite/libgomp.fortran/pr48894.f90: New test.
4116
20790697
JJ
41172011-04-13 Jakub Jelinek <jakub@redhat.com>
4118
4119 PR middle-end/48591
4120 * testsuite/libgomp.c/pr48591.c: New test.
4121
bf382f5f
RO
41222011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4123
4124 PR bootstrap/48135
4125 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
4126 * configure: Regenerate.
4127
113a53c1
JJ
41282011-02-27 Jakub Jelinek <jakub@redhat.com>
4129
4130 PR fortran/47886
4131 * testsuite/libgomp.fortran/task3.f90: New test.
4132
0024f1af
TB
41332011-02-24 Tobias Burnus <burnus@net-b.de>
4134
4135 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
4136
21e1e594
JJ
41372011-02-23 Jakub Jelinek <jakub@redhat.com>
4138
4139 PR libgomp/47854
4140 * libgomp.texi (omp_get_wtime): Don't say time in the past
4141 must be Unix Epoch.
4142
67962076
JJ
41432011-02-18 Jakub Jelinek <jakub@redhat.com>
4144
4145 PR libgomp/47804
4146 * testsuite/libgomp.fortran/fortran.exp: Check for both
4147 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
4148 but $blddir != "", still append ${blddir}/${lang_library_path}
4149 to ld_library_path.
4150
3808007c
TB
41512011-02-16 Tobias Burnus <burnus@net-b.de>
4152
4153 PR libgomp/47758
4154 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
4155 of libquadmath.a before adding its libpath to ldflags.
4156
53b4d41d
JJ
41572011-02-14 Jakub Jelinek <jakub@redhat.com>
4158
4159 PR libgomp/47731
4160 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
4161 to FUTEX_WAIT futex syscall.
4162 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
4163
029c8f3e
RW
41642011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4165
4166 * configure: Regenerate.
4167
bddd6626
BK
41682011-01-20 Benjamin Kosnik <bkoz@redhat.com>
4169
4170 PR libstdc++/36104
4171 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
4172
f1d4ab26
GP
41732011-01-16 Gerald Pfeifer
4174
4175 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
4176
2b503136
JJ
41772010-12-14 Jakub Jelinek <jakub@redhat.com>
4178
4179 PR fortran/46874
4180 * libgomp.fortran/allocatable6.f90: New test.
4181
c0f9d583
RO
41822010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4183
4184 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
4185 * configure: Regenerate.
4186
7de6ba7a
DK
41872010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
4188
4189 PR target/40125
4190 PR lto/46695
4191 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
4192 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
4193 * aclocal.m4: Regenerate.
4194 * configure: Regenerate.
4195 * Makefile.in: Regenerate.
4196 * testsuite/Makefile.in: Regenerate.
4197
b7516041
JJ
41982010-12-02 Jakub Jelinek <jakub@redhat.com>
4199
edaadf74
JJ
4200 PR fortran/46753
4201 * libgomp.fortran/pr46753.f90: New test.
4202
4c698cf8
JJ
4203 PR libgomp/43706
4204 * env.c (initialize_env): Default to spin count 300000
4205 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
4206 is specified.
4207
b7516041
JJ
4208 PR libgomp/45240
4209 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
4210 at the end if sync builtins aren't supported.
4211
6b43a34c
RO
42122010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4213
4214 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
4215
950691fa
RO
42162010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4217
4218 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
4219
fb9041ea
IS
42202010-11-24 Iain Sandoe <iains@gcc.gnu.org>
4221
4222 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
4223
1ec601bf
FXC
42242010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4225 Tobias Burnus <burnus@net-b.de>
4226
4227 PR fortran/32049
3e348fcc 4228 * configure.ac:
1ec601bf
FXC
4229 * configure: Regenerate.
4230
d213e92e
MS
42312010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
4232
4233 * config/linux/futex.h: New.
4234 * config/linux/arm/mutex.h: New.
4235 * configure.tgt (arm*-*-linux*): Add config path.
4236
89d5c66f
SP
42372010-09-30 Sebastian Pop <sebastian.pop@amd.com>
4238
4239 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
4240
87350d4a
TB
42412010-09-23 Tobias Burnus <burnus@net-b.de>
4242
4243 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
4244 Change Fortran datatype to LOGICAL.
4245 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
4246 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
4247
75bc9e5e
RW
42482010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4249
4250 * configure: Regenerate.
4251
acb5c916
JJ
42522010-07-26 Jakub Jelinek <jakub@redhat.com>
4253
4254 * libgomp.texi: Add function keyword to a couple of Fortran
4255 interfaces, use integer instead of int for Fortran.
4256
6a2ba183
AH
42572010-07-26 Aldy Hernandez <aldyh@redhat.com>
4258
4259 * libgomp.texi: Fix spelling and pasto problems throughout.
4260 Adjust prototypes to match code.
4261
df161b69
TB
42622010-07-24 Tobias Burnus <burnus@net-b.de>
4263
4264 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
4265 silence -fwhole-file warning.
4266
16c9d3b1
RO
42672010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4268
4269 * configure.tgt (*-*-solaris2.[56]*): Removed.
4270
6d28b933
RO
42712010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4272
4273 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
4274 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
4275 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
4276 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
4277 targetting solaris2*.
4278 * configure: Regenerate.
4279 * config.h.in: Regenerate.
4280
4281 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
4282 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
4283 Add libgomp_version_dep.
4284 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
4285 versioning.
4286 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
4287 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
4288 * Makefile.in: Regenerate.
4289
4290 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
4291 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
4292 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
4293 to common block, protected by
4294 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
4295
07a67d6a
GP
42962010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
4297
4298 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
4299
dbd34b89
IS
43002010-06-09 Iain Sandoe <iains@gcc.gnu.org>
4301
4302 PR bootstrap/43170
4303 * configure: Regenerate.
4304
13917ae3
RW
43052010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4306
4307 PR other/43620
4308 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
4309 * configure: Regenerate.
4310 * Makefile.in: Regenerate.
4311 * testsuite/Makefile.in: Regenerate.
4312
b83a701b
JJ
43132010-04-26 Jakub Jelinek <jakub@redhat.com>
4314
4315 PR c/43893
4316 * testsuite/libgomp.c/pr43893.c: New test.
4317 * testsuite/libgomp.c++/pr43893.C: New test.
4318
78db7d92
JJ
43192010-04-21 Jakub Jelinek <jakub@redhat.com>
4320
4321 PR middle-end/43570
4322 * testsuite/libgomp.fortran/vla8.f90: New test.
4323
5221d7a9
JJ
43242010-04-20 Jakub Jelinek <jakub@redhat.com>
4325
e4ba7a60
JJ
4326 PR libgomp/43706
4327 * config/linux/affinity.c (gomp_init_affinity): Decrease
4328 gomp_available_cpus if affinity mask confines the process to fewer
4329 CPUs.
4330 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
4331 non-NULL, just return gomp_available_cpus.
4332
5221d7a9
JJ
4333 PR libgomp/43569
4334 * sections.c (gomp_sections_init): Initialize ws->mode.
4335
289a9f86
UB
43362010-04-14 Uros Bizjak <ubizjak@gmail.com>
4337
4338 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
4339 not unused bar variable.
4340 * configure: Regenerate.
4341
4d9e8446
RW
43422010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4343
4344 * Makefile.in: Regenerate.
4345 * aclocal.m4: Regenerate.
4346 * testsuite/Makefile.in: Regenerate.
4347
80f046cc
JJ
43482010-03-22 Jakub Jelinek <jakub@redhat.com>
4349
4350 PR libgomp/42942
4351 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
4352 (initialize_env): Adjust callers.
4353 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
4354 when the argument is 0.
4355
4356 * testsuite/libgomp.c/pr42942.c: New test.
4357
b58543c3
SP
43582010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
4359
4360 PR middle-end/42644
4361 PR middle-end/42130
4362 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
4363 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
4364
41d1138f
RO
43652010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4366
4367 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
4368 * testsuite/libgomp.c++/task-6.C: Likewise.
4369
6684eb28
SE
43702010-01-28 Steve Ellcey <sje@cup.hp.com>
4371
4372 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
4373
2122aa97
PB
43742010-01-26 Paolo Bonzini <bonzini@gnu.org>
4375
4376 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
4377 * configure: Regenerate.
4378
057dd91d
JJ
43792010-01-26 Jakub Jelinek <jakub@redhat.com>
4380
4381 PR fortran/42866
4382 * testsuite/libgomp.fortran/allocatable5.f90: New test.
4383
d0709b6a
PB
43842010-01-20 Paolo Bonzini <bonzini@gnu.org>
4385
4386 * configure.ac: Test for executability of GFORTRAN.
4387 * configure: Regenerate.
4388
b9497ab5
RO
43892010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4390
4391 * configure: Regenerate.
4392
45de5648
L
43932010-01-04 H.J. Lu <hongjiu.lu@intel.com>
4394
4395 PR libgomp/42602
4396 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
4397
e74003a1
RG
43982010-01-03 Richard Guenther <rguenther@suse.de>
4399
4400 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
4401
1b3abda8
SP
44022009-12-23 Sebastian Pop <sebpop@gmail.com>
4403
4404 * testsuite/libgomp.graphite/pr4118.c: New.
4405
e19977d3
IS
44062009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
4407
4408 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
4409 for darwin, protect the test with require-effective-target tls_runtime.
4410 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
4411
1d32a772
IS
44122009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
4413
4414 PR target/41605
4415 * testsuite/lib/libgomp.exp: Provide -B options to allow for
4416 link spec %s substitutions for static libraries.
4417
deb109b2
JH
44182009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
4419
4420 PR testsuite/42135
4421 * libgomp.graphite/force-parallel-2.c: Reduce array size.
4422
43e02a8a
RW
44232009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4424
4425 * Makefile.in: Regenerate.
4426 * configure: Regenerate.
4427 * testsuite/Makefile.in: Regenerate.
4428
17f35e23
DK
44292009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
4430
4431 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
4432 settings for LC_ALL and LANG.
4433
281e33e1
JJ
44342009-11-25 Jakub Jelinek <jakub@redhat.com>
4435
4436 PR fortran/42162
4437 * testsuite/libgomp.fortran/pr42162.f90: New test.
4438
2b32c27d
JJ
44392009-11-13 Jakub Jelinek <jakub@redhat.com>
4440
4441 PR middle-end/42029
281e33e1 4442 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 4443
89c74f4a
JJ
44442009-10-26 Jakub Jelinek <jakub@redhat.com>
4445
4446 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
4447 *s. Accept ld version without text in ()s.
4448 * configure: Regenerated.
4449
7e06c3d6
EB
44502009-10-22 Razya Ladelsky <razya@il.ibm.com>
4451
4452 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
4453
0046b1a7
RW
44542009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4455
4456 PR libgomp/41418
4457 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
4458 or a hyphen (happens with fortran language disabled).
4459 * configure: Regenerate.
4460
c82852f7
RW
44612009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4462
4463 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
4464 use sed script portable to Solaris /bin/sed for extracting ld
4465 version.
4466 * configure: Regenerate.
4467
98f3eb1f
AM
44682009-09-17 Alexander Monakov <amonakov@ispras.ru>
4469
4470 * testsuite/libgomp.graphite/bounds.c: New test.
4471
878f62e5
RW
44722009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4473
4474 * Makefile.am (libgomp_la_LINK): New.
4475 * Makefile.in: Regenerate.
4476
df58e648
RW
44772009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4478
4479 * configure.ac (AC_PREREQ): Bump to 2.64.
4480
5213506e
RW
44812009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4482
70fa0efa
RW
4483 * Makefile.am (install-html, install-pdf): Remove.
4484 * Makefile.in: Regenerate.
4485
5213506e
RW
4486 * Makefile.in: Regenerate.
4487 * aclocal.m4: Regenerate.
4488 * config.h.in: Regenerate.
4489 * configure: Regenerate.
4490 * testsuite/Makefile.in: Regenerate.
4491
84fec8a5
RW
44922009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4493
4494 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
4495 * Makefile.in: Regenerate.
4496
197c68cc
DK
44972009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
4498
4499 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
4500 * Makefile.in: Regenerate.
4501
693d54f2
TB
45022009-08-19 Tobias Burnus <burnus@net-b.de>
4503
4504 PR fortran/41102
4505 omp_lib.h.in: Fix -std=f95 errors.
4506
4507
8cac884c
DE
45082009-08-14 David Edelsohn <edelsohn@gnu.org>
4509
4510 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
4511 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
4512 * testsuite/libgomp.graphite/graphite.exp: New.
4513
78729ee2
AT
45142009-08-05 Andreas Tobler <a.tobler@schweiz.org>
4515
4516 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
4517 only build.
4518
b13b7f39
DD
45192009-08-04 David Daney <ddaney@caviumnetworks.com>
4520
4521 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
4522 needed memory barrier semantics.
4523 * config/linux/mips/mutex.h: New file.
4524
1b3b24c2
RW
45252009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4526
4527 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
4528
396b7fa4
JM
45292009-07-16 Joseph Myers <joseph@codesourcery.com>
4530
4531 * configure: Regenerate.
4532
33cde516
RS
45332009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
4534
4535 PR testsuite/40699
4536 PR testsuite/40707
4537 PR testsuite/40709
4538 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
4539 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
4540 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
4541
bc21bfa5
RS
45422009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
4543
4544 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
4545 options when choosing a multilib.
4546
b30bfd40
RS
45472009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
4548
4549 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
4550 ld_library_path. Use add_path. Add just find_libgcc_s to
4551 ld_library_path, not every libgcc multilib directory.
4552 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
4553 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
4554 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
4555 Use add_path.
4556 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
4557
479c15c2
NF
45582009-06-09 Nathan Froyd <froydnj@codesourcery.com>
4559
4560 * Makefile.am (LTLDFLAGS): Define.
4561 (LINK): Define.
4562 * Makefile.in: Regenerate.
4563
667e6f89
JB
45642009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
4565
4566 PR fortran/39718
4567 * testsuite/libgomp.fortran/fortran.exp: Don't link with
4568 libgfortranbegin, check existence of libgfortran.a instead of
4569 libgfortranbegin.a.
4570
6dea8e99
JJ
45712009-05-20 Jakub Jelinek <jakub@redhat.com>
4572
4573 PR libgomp/40174
4574 * team.c (gomp_thread_start): Destroy thr->release semaphore.
4575 (gomp_free_pool_helper): Likewise.
4576
34d01e1d
VL
45772009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
4578 Jakub Jelinek <jakub@redhat.com>
4579
4580 PR fortran/35423
4581 * testsuite/libgomp.fortran/workshare2.f90: New test.
4582
748086b7
JJ
45832009-04-09 Nick Clifton <nickc@redhat.com>
4584
4585 * iter.c: Change copyright header to refer to version 3 of the
4586 GNU General Public License with version 3.1 of the GCC Runtime
4587 Library Exception and to point readers at the COPYING3 and
4588 COPYING3.RUNTIME files and the FSF's license web page.
4589 * alloc.c: Likewise.
4590 * barrier.c: Likewise.
4591 * config/bsd/proc.c: Likewise.
4592 * config/linux/affinity.c: Likewise.
4593 * config/linux/alpha/futex.h: Likewise.
4594 * config/linux/bar.c: Likewise.
4595 * config/linux/bar.h: Likewise.
4596 * config/linux/ia64/futex.h: Likewise.
4597 * config/linux/ia64/mutex.h: Likewise.
4598 * config/linux/lock.c: Likewise.
4599 * config/linux/mips/futex.h: Likewise.
4600 * config/linux/mutex.c: Likewise.
4601 * config/linux/mutex.h: Likewise.
4602 * config/linux/powerpc/futex.h: Likewise.
4603 * config/linux/proc.c: Likewise.
4604 * config/linux/ptrlock.c: Likewise.
4605 * config/linux/ptrlock.h: Likewise.
4606 * config/linux/s390/futex.h: Likewise.
4607 * config/linux/sem.c: Likewise.
4608 * config/linux/sem.h: Likewise.
4609 * config/linux/sparc/futex.h: Likewise.
4610 * config/linux/wait.h: Likewise.
4611 * config/linux/x86/futex.h: Likewise.
4612 * config/mingw32/proc.c: Likewise.
4613 * config/mingw32/time.c: Likewise.
4614 * config/posix/affinity.c: Likewise.
4615 * config/posix/bar.c: Likewise.
4616 * config/posix/bar.h: Likewise.
4617 * config/posix/lock.c: Likewise.
4618 * config/posix/mutex.h: Likewise.
4619 * config/posix/proc.c: Likewise.
4620 * config/posix/ptrlock.h: Likewise.
4621 * config/posix/sem.c: Likewise.
4622 * config/posix/sem.h: Likewise.
4623 * config/posix/time.c: Likewise.
4624 * config/posix95/lock.c: Likewise.
4625 * critical.c: Likewise.
4626 * env.c: Likewise.
4627 * error.c: Likewise.
4628 * fortran.c: Likewise.
4629 * iter_ull.c: Likewise.
4630 * libgomp.h: Likewise.
4631 * libgomp_f.h.in: Likewise.
4632 * libgomp_g.h: Likewise.
4633 * loop.c: Likewise.
4634 * loop_ull.c: Likewise.
4635 * omp.h.in: Likewise.
4636 * omp_lib.f90.in: Likewise.
4637 * omp_lib.h.in: Likewise.
4638 * ordered.c: Likewise.
4639 * parallel.c: Likewise.
4640 * sections.c: Likewise.
4641 * single.c: Likewise.
4642 * task.c: Likewise.
4643 * team.c: Likewise.
4644 * work.c: Likewise.
4645
46462009-04-09 Jakub Jelinek <jakub@redhat.com>
4647
4648 * testsuite/config/default.exp: Change copyright header to refer to
4649 version 3 of the GNU General Public License and to point readers
4650 at the COPYING3 file and the FSF's license web page.
4651
4f0ae266
JJ
46522009-04-08 Jakub Jelinek <jakub@redhat.com>
4653
4654 PR middle-end/39573
4655 * libgomp.c++/pr39573.C: New test.
4656
03742a9b
JJ
46572009-04-01 Jakub Jelinek <jakub@redhat.com>
4658
4659 PR other/39591
4660 * testsuite/libgomp.c/pr39591-1.c: New test.
4661 * testsuite/libgomp.c/pr39591-2.c: New test.
4662 * testsuite/libgomp.c/pr39591-3.c: New test.
4663
e50ea10b
UB
46642009-03-25 Uros Bizjak <ubizjak@gmail.com>
4665
4666 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
4667 * testsuite/libgomp.c/atomic-6.c: Ditto.
4668
c5cdb03f
JJ
46692009-03-23 Jakub Jelinek <jakub@redhat.com>
4670
4671 PR c/39495
4672 * testsuite/libgomp.c/loop-12.c: New test.
4673 * testsuite/libgomp.c/loop-11.c: New test.
4674 * testsuite/libgomp.c++/loop-11.C: New test.
4675 * testsuite/libgomp.c++/loop-12.C: New test.
4676 * testsuite/libgomp.c++/for-8.C: New test.
4677
7a9d3fe8
RW
46782009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4679
4680 * configure: Regenerate.
4681
3ad6b266
JJ
46822009-02-11 Jakub Jelinek <jakub@redhat.com>
4683
4684 PR middle-end/39154
4685 * testsuite/libgomp.c/pr39154.c: New test.
4686
b39dea08
ILT
46872009-01-30 Ian Lance Taylor <iant@google.com>
4688
4689 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
4690 libgomp_ld_is_gold. Get gold version number.
4691 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
4692 * configure: Rebuild.
4693
72c66596
IS
46942009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
4695
e50ea10b 4696 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
4697 use libgfortran.a%s in their specs.
4698
876080ff
JJ
46992009-01-07 Jakub Jelinek <jakub@redhat.com>
4700
4701 PR libgomp/38086
4702 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
4703 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
4704 HAVE_AS_SYMVER_DIRECTIVE is not defined.
4705 * configure: Regenerated.
4706 * config.h.in: Likewise.
4707
e4ebaef3
JJ
47082008-12-28 Jakub Jelinek <jakub@redhat.com>
4709
4710 PR c++/38650
4711 * testsuite/libgomp.c/pr38650.c: New test.
4712 * testsuite/libgomp.c++/pr38650.C: New test.
4713
382017a6
JJ
47142008-12-27 Jakub Jelinek <jakub@redhat.com>
4715
4716 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
4717
79644b27
UB
47182008-12-26 Uros Bizjak <ubizjak@gmail.com>
4719
4720 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
4721
baafc534
RW
47222008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4723
4724 * configure: Regenerate.
4725
d9c194cb
JJ
47262008-12-08 Jakub Jelinek <jakub@redhat.com>
4727
4728 PR middle-end/36802
4729 * testsuite/libgomp.c/pr36802-1.c: New test.
4730 * testsuite/libgomp.c/pr36802-2.c: New test.
4731 * testsuite/libgomp.c/pr36802-3.c: New test.
4732
86a182bf
JJ
47332008-12-01 Janis Johnson <janis187@us.ibm.com>
4734
4735 PR libgomp/38270
4736 * config/linux/powerpc/mutex.h: New.
4737
956adfaf
JJ
47382008-12-01 Jakub Jelinek <jakub@redhat.com>
4739
a2d4cdc9
JJ
4740 PR c++/38257
4741 * testsuite/libgomp.c++/for-7.C: New test.
4742
956adfaf
JJ
4743 PR c++/38348
4744 * testsuite/libgomp.c++/for-6.C: New test.
4745
d4038ca2
JJ
47462008-11-26 Janis Johnson <janis187@us.ibm.com>
4747
4748 PR testsuite/28870
4749 * testsuite/lib/libgomp.exp: Include new timeout library files.
4750 (libgomp_target_compile): Set timeout value from new proc.
4751
8b159eea
SE
47522008-11-13 Steve Ellcey <sje@cup.hp.com>
4753
4754 PR libgomp/37938
4755 * config/linux/ia64/mutex.h: New.
4756
5c6ed53a
TB
47572008-11-04 Tobias Burnus <burnus@net-b.de>
4758
4759 PR libgomp/37935
4760 * libgomp.texi (Runtime library routines, environment variables):
4761 Update for OpenMP version 3.0.
4762
6b4a97ed
PG
47632008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
4764 Steve Ellcey <sje@cup.hp.com>
4765
4766 * configure: Regenerate for new libtool.
4767 * Makefile.in: Ditto.
4768 * testsuite/Makefile.in: Ditto.
4769
e2b34106
JJ
47702008-09-19 Jakub Jelinek <jakub@redhat.com>
4771 Andreas Tobler <a.tobler@schweiz.org>
4772
4773 * config/bsd/proc.c: New file.
8c3b3600 4774 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
4775 * configure.ac: Check for header <sys/sysctl.h>
4776 * configure: Regenerate.
4777 * config.h.in: Likewise.
4778
3606b8bf
JJ
47792008-09-05 Janis Johnson <janis187@us.ibm.com>
4780
4781 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
4782
6528b88d
AL
47832008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
4784
4785 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
4786 * Makefile.in: Regenerated.
4787 * testsuite/Makefile.in: Regenerated.
4788
d9b14b12 47892008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 4790
a16b68bb 4791 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
4792 depend on blddir if blddir exists.
4793 (libgomp_target_compile): Likewise.
4794 * testsuite/libgomp.c++/c++.exp: Likewise.
4795 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4796
70b1e376
RW
47972008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4798
4799 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
4800 Do not list GPL as Invariant Section.
4801
318e8c3f
IG
48022008-07-28 Ilie Garbacea <ilie@mips.com>
4803 Chao-ying Fu <fu@mips.com>
4804
4805 * configure.tgt: Enable futex for MIPS.
4806 * config/linux/mips/futex.h: New file.
4807
4db72361
JJ
48082008-07-16 Jakub Jelinek <jakub@redhat.com>
4809
4810 * team.c (gomp_team_end): Free team immediately if it has
4811 just one thread.
4812
87bd23b8
DE
48132008-07-08 David Edelsohn <edelsohn@gnu.org>
4814
4815 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
4816 * testsuite/libgomp.fortran/fortran.exp: Same.
4817 * testsuite/libgomp.c/c.exp: Same.
4818 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
4819 directory to library path first.
4820
323ff903
KW
48212008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
4822
4823 * env.c (parse_stacksize): Add cast to avoid warning.
4824 (parse_spincount): Likewise.
4825
b357f682
JJ
48262008-06-27 Jakub Jelinek <jakub@redhat.com>
4827
ca2b1311
JJ
4828 * testsuite/libgomp.c/loop-10.c: New test.
4829 * libgomp.c/loop-3.c (main): Add lastprivate clause.
4830 * libgomp.c++/loop-6.C (main): Likewise.
4831
b357f682
JJ
4832 PR debug/36617
4833 * testsuite/libgomp.c/debug-1.c: New test.
4834
09a46078
JJ
48352008-06-19 Jakub Jelinek <jakub@redhat.com>
4836
4837 * testsuite/libgomp.c/nqueens-1.c: New test.
4838
2368a460
JJ
4839 PR c++/36523
4840 * testsuite/libgomp.c++/task-7.C: New function.
4841
18c04407
RW
48422008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4843
4844 * configure: Regenerate.
4845
9c4e59e0
JDA
48462008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4847
4848 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
4849 mutex when HAVE_SYNC_BUILTINS isn't defined.
4850
6ccde948
RW
48512008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4852
4853 * libgomp.texi (omp_test_lock): Fix typo.
4854
b896f9fd
TB
48552008-06-12 Tobias Burnus <burnus@net-b.de>
4856
4857 * omp_lib.f90.in: Add "implicit none".
4858
c34938a8
JJ
48592008-06-12 Jakub Jelinek <jakub@redhat.com>
4860
4861 PR middle-end/36506
4862 * testsuite/libgomp.c/reduction-5.c: New test.
4863
976e44e3
JJ
48642008-06-11 Jakub Jelinek <jakub@redhat.com>
4865
5f836cbb
JJ
4866 * libgomp.h (struct gomp_task): Add in_tied_task field.
4867 * task.c (gomp_init_task): Initialize it.
4868 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
4869 unconditionally. Don't call gomp_team_barrier_wake if
4870 current task is implicit or if(0) from implicit and number of
4871 running tasks is equal to nthreads - 1.
4872
01501fc8
JJ
4873 PR libgomp/36471
4874 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
4875 omp_get_team_size_8): Fix pastos.
4876
976e44e3
JJ
4877 PR libgomp/36469
4878 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
4879 * configure: Regenerated.
4880 * config.h.in: Regenerated.
4881 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
4882 defined.
4883
e919209b
AT
48842008-06-06 Andreas Tobler <a.tobler@schweiz.org>
4885
4886 PR bootstrap/36452
4887 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
4888 (GOMP_loop_ull_dynamic_start): Likewise.
4889 (GOMP_loop_ull_guided_start): Likewise.
4890 (GOMP_loop_ull_ordered_static_start): Likewise.
4891 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
4892 (GOMP_loop_ull_ordered_guided_start): Likewise.
4893
a68ab351
JJ
48942008-06-06 Jakub Jelinek <jakub@redhat.com>
4895 Richard Henderson <rth@redhat.com>
4896 Ulrich Drepper <drepper@redhat.com>
4897 Jakob Blomer <jakob.blomer@ira.uka.de>
4898
4899 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
4900 Substitute also OMP_*LOCK_25*.
4901 * configure: Regenerated.
4902 * config.h.in: Regenerated.
4903 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
4904 ptrlock.c and task.c.
4905 * Makefile.in: Regenerated.
4906 * testsuite/Makefile.in: Regenerated.
4907 * task.c: New file.
4908 * loop_ull.c: New file.
4909 * iter_ull.c: New file.
4910 * libgomp.h: Include ptrlock.h.
4911 (enum gomp_task_kind): New type.
4912 (struct gomp_team): Add task_lock, task_queue, task_count,
4913 task_running_count, single_count fields. Add
4914 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
4915 Remove work_share_lock, generation_mask,
4916 oldest_live_gen, num_live_gen and init_work_shares fields, add
4917 work work_share_list_alloc, work_share_list_free and work_share_chunk
4918 fields. Change work_shares from pointer to pointers into an array.
4919 Change ordered_release field into gomp_sem_t ** from flexible array
4920 member. Add implicit_task and initial_work_shares fields.
4921 Move close to the end of the struct.
4922 (struct gomp_team_state): Add single_count, last_work_share,
4923 active_level and level fields, remove work_share_generation.
4924 (gomp_barrier_handle_tasks): New prototype.
4925 (gomp_finish_task): New inline function.
4926 (struct gomp_work_share): Move chunk_size, end, incr into
4927 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
4928 next_ll fields. Reshuffle fields. Add next_alloc,
4929 next_ws, next_free and inline_ordered_team_ids fields, change
4930 ordered_team_ids into pointer from flexible array member.
4931 Add mode field. Put lock and next into a different cache line
4932 from most of the write-once fields.
4933 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
4934 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
4935 gomp_iter_ull_guided_next): New prototypes.
4936 (gomp_new_icv): New prototype.
4937 (struct gomp_thread): Add thread_pool and task fields.
4938 (struct gomp_thread_pool): New type.
4939 (gomp_new_team): New prototype.
4940 (gomp_team_start): Change type of last argument.
4941 (gomp_new_work_share): Removed.
4942 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
4943 (gomp_work_share_init_done): New static inline.
4944 (gomp_throttled_spin_count_var, gomp_available_cpus,
4945 gomp_managed_threads): New extern decls.
4946 (gomp_init_task): New prototype.
4947 (gomp_spin_count_var): New extern var decl.
4948 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
4949 or no alias support, or if not PIC.
4950 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
4951 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
4952 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
4953 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
4954 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
4955 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
4956 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
4957 gomp_test_nest_lock_25): New prototypes.
4958 (omp_lock_symver, strong_alias): Define.
4959 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
4960 decls.
4961 (gomp_end_task): New.
4962 (struct gomp_task_icv, gomp_global_icv): New.
4963 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
4964 (struct gomp_task): New.
4965 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
4966 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
4967 (gomp_icv): New.
4968 (gomp_schedule_type): Reorder enum to match
4969 omp_sched_t.
4970 * team.c (struct gomp_thread_start_data): Add thread_pool and task
4971 fields.
4972 (gomp_thread_start): Add gomp_team_barrier_wait call.
4973 For non-nested case remove clearing of docked thread thr fields.
4974 Use pool fields instead of global gomp_* variables. Use
4975 gomp_barrier_wait_last when needed. Initialize ts.active_level.
4976 Create tasks for each member thread.
4977 (free_team): Only destroy team barrier, task_lock here and free it.
4978 (gomp_free_thread): Free last_team if non-NULL.
4979 (gomp_team_end): Call gomp_team_barrier_wait instead of
4980 gomp_barrier_wait. For nested case call one extra
4981 gomp_barrier_wait. Move here some destruction from free_team.
4982 Call free_team on pool->last_team if any, rather than freeing
4983 current team. Destroy work_share_list_free_lock ifndef
4984 HAVE_SYNC_BUILTINS.
4985 (gomp_new_icv): New function.
4986 (gomp_threads, gomp_threads_size, gomp_threads_used,
4987 gomp_threads_dock): Removed.
4988 (gomp_thread_destructor): New variable.
4989 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
4990 functions.
4991 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 4992 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
4993 Initialize thread_pool field for new threads. Clear single_count.
4994 Change last argument from ws to team, don't create
4995 new team, set ts.work_share to &team->work_shares[0] and clear
4996 ts.last_work_share. Don't clear ts.work_share_generation.
4997 If number of threads changed, adjust atomically gomp_managed_threads.
4998 Use gomp_init_task instead of gomp_new_task,
4999 set thr->task to the corresponding implicit_task array entry.
5000 Create tasks for each member thread. Initialize ts.level.
5001 (initialize_team): Call pthread_key_create on
5002 gomp_thread_destructor.
5003 (team_destructor): New function.
5004 (new_team): Removed.
5005 (gomp_new_team): New function.
5006 (free_team): Free gomp_work_share blocks chained through next_alloc,
5007 instead of freeing work_shares and destroying work_share_lock.
5008 (gomp_team_end): Call gomp_fini_work_share. If number of threads
5009 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
5010 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
5011 of gomp_barrier_wait.
5012 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
5013 instead of gomp_barrier_wait. Call gomp_work_share_init_done
5014 if gomp_work_share_start returned true. Don't unlock ws->lock.
5015 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
5016 of gomp_barrier_wait.
5017 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
5018 gomp_work_share_init_done if gomp_work_share_start returned true.
5019 Don't unlock ws->lock.
5020 * work.c: Include stddef.h.
5021 (free_work_share): Use work_share_list_free_lock instead
5022 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
5023 Call gomp_fini_work_share and then either free ws if orphaned, or
5024 put it into work_share_list_free list of the current team.
5025 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
5026 functions.
5027 (gomp_work_share_start, gomp_work_share_end,
5028 gomp_work_share_end_nowait): Rewritten.
5029 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
5030 (openmp_version): Set to 200805.
5031 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5032 omp_sched_guided, omp_sched_auto): New parameters.
5033 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5034 omp_set_max_active_levels, omp_get_max_active_levels,
5035 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5036 omp_get_active_level): New interfaces.
5037 * omp_lib.h.in (openmp_version): Set to 200805.
5038 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5039 omp_sched_guided, omp_sched_auto): New parameters.
5040 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5041 omp_set_max_active_levels, omp_get_max_active_levels,
5042 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5043 omp_get_active_level): New externals.
5044 * loop.c: Include limits.h.
5045 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
5046 GFS_AUTO.
5047 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
5048 Likewise. Use gomp_icv.
5049 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
5050 ts.static_trip here.
5051 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
5052 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
5053 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
5054 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
5055 don't unlock ws->lock, otherwise lock it.
5056 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
5057 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
5058 (gomp_parallel_loop_start): Call gomp_new_team instead of
5059 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
5060 Adjust gomp_team_start caller. Pass 0 as second argument to
5061 gomp_resolve_num_threads.
5062 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
5063 If adding ws->chunk_size nthreads + 1 times after end won't
5064 overflow, set ws->mode to 1.
5065 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
5066 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
5067 GOMP_loop_ull_ordered_static_start,
5068 GOMP_loop_ull_ordered_dynamic_start,
5069 GOMP_loop_ull_ordered_guided_start,
5070 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
5071 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
5072 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
5073 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
5074 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
5075 prototypes.
5076 * libgomp.map: Export lock routines also @@OMP_2.0.
5077 (GOMP_loop_ordered_dynamic_first,
5078 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
5079 GOMP_loop_ordered_static_first): Remove.
5080 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
5081 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
5082 GOMP_loop_ull_ordered_dynamic_next,
5083 GOMP_loop_ull_ordered_dynamic_start,
5084 GOMP_loop_ull_ordered_guided_next,
5085 GOMP_loop_ull_ordered_guided_start,
5086 GOMP_loop_ull_ordered_runtime_next,
5087 GOMP_loop_ull_ordered_runtime_start,
5088 GOMP_loop_ull_ordered_static_next,
5089 GOMP_loop_ull_ordered_static_start,
5090 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
5091 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
5092 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
5093 (omp_set_schedule, omp_get_schedule,
5094 omp_get_thread_limit, omp_set_max_active_levels,
5095 omp_get_max_active_levels, omp_get_level,
5096 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
5097 omp_set_schedule_, omp_set_schedule_8_,
5098 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
5099 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
5100 omp_get_max_active_levels_, omp_get_level_,
5101 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
5102 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
5103 New exports @@OMP_3.0.
5104 * omp.h.in (omp_sched_t): New type.
5105 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5106 omp_set_max_active_levels, omp_get_max_active_levels,
5107 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5108 omp_get_active_level): New prototypes.
5109 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
5110 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
5111 gomp_thread_limit_var, gomp_remaining_threads_count,
5112 gomp_remaining_threads_lock): New variables.
5113 (parse_spincount): New function.
5114 (initialize_env): Call gomp_init_num_threads unconditionally.
5115 Initialize gomp_available_cpus. Call parse_spincount,
5116 initialize gomp_{,throttled_}spin_count_var
5117 depending on presence and value of OMP_WAIT_POLICY and
5118 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
5119 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
5120 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
5121 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
5122 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
5123 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
5124 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
5125 (gomp_global_icv): New.
5126 (parse_schedule): Use it. Parse "auto".
5127 (omp_set_num_threads): Use gomp_icv.
5128 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
5129 Likewise.
5130 (omp_get_max_threads): Move from parallel.c.
5131 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5132 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
5133 add ialias.
5134 (parse_stacksize, parse_wait_policy): New functions.
5135 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
5136 both wrappers for compatibility and new locks.
5137 (omp_set_schedule, omp_get_schedule,
5138 omp_get_thread_limit, omp_set_max_active_levels,
5139 omp_get_max_active_levels, omp_get_level,
5140 omp_get_ancestor_thread_num, omp_get_team_size,
5141 omp_get_active_level): New ialias_redirect.
5142 (omp_set_schedule_, omp_set_schedule_8_,
5143 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
5144 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
5145 omp_get_max_active_levels_, omp_get_level_,
5146 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
5147 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
5148 New functions.
5149 * parallel.c: Include limits.h.
5150 (gomp_resolve_num_threads): Add count argument. Rewritten.
5151 (GOMP_parallel_start): Call gomp_new_team and pass that as last
5152 argument to gomp_team_start. Pass 0 as second argument to
5153 gomp_resolve_num_threads.
5154 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
5155 if gomp_thread_limit_var != ULONG_MAX.
5156 (omp_in_parallel): Implement using ts.active_level.
5157 (omp_get_max_threads): Move to env.c.
5158 (omp_get_level, omp_get_ancestor_thread_num,
5159 omp_get_team_size, omp_get_active_level): New functions,
5160 add ialias.
5161 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
5162 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
5163 gomp_iter_dynamic_next instead of the _locked variant and don't take
5164 lock around it, otherwise acquire it before calling
5165 gomp_iter_dynamic_next_locked.
5166 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
5167 gomp_iter_dynamic_next instead of the _locked variant and don't take
5168 lock around it.
5169 (GOMP_parallel_sections_start): Call gomp_new_team instead of
5170 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
5171 Adjust gomp_team_start caller. Pass count as second argument to
5172 gomp_resolve_num_threads, don't adjust num_threads after the call.
5173 Use gomp_icv.
5174 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
5175 ws->chunk_size by incr.
5176 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
5177 code.
5178 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
5179 types.
5180 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
5181 (omp_check_defines): Check even the compat defines.
5182 * config/linux/ptrlock.c: New file.
5183 * config/linux/ptrlock.h: New file.
5184 * config/linux/wait.h: New file.
5185 * config/posix/ptrlock.c: New file.
5186 * config/posix/ptrlock.h: New file.
5187 * config/linux/bar.h (gomp_team_barrier_wait,
5188 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
5189 (gomp_team_barrier_set_task_pending,
5190 gomp_team_barrier_clear_task_pending,
5191 gomp_team_barrier_set_waiting_for_tasks,
5192 gomp_team_barrier_waiting_for_tasks,
5193 gomp_team_barrier_done): New inlines.
5194 (gomp_barrier_t): Rewritten.
5195 (gomp_barrier_state_t): New typedef.
5196 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
5197 gomp_barrier_wait_start): Rewritten.
5198 (gomp_barrier_wait_end): Change second argument to
5199 gomp_barrier_state_t.
5200 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
5201 inlines.
5202 * config/linux/bar.c: Include wait.h instead of libgomp.h and
5203 futex.h.
5204 (gomp_barrier_wait_end): Rewritten.
5205 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
5206 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
5207 * config/posix/bar.h (gomp_barrier_t): Add generation field.
5208 (gomp_barrier_state_t): New typedef.
5209 (gomp_team_barrier_wait,
5210 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
5211 (gomp_barrier_wait_start): Or all but low 2 bits from generation
5212 into the return value. Return gomp_barrier_state_t.
5213 (gomp_team_barrier_set_task_pending,
5214 gomp_team_barrier_clear_task_pending,
5215 gomp_team_barrier_set_waiting_for_tasks,
5216 gomp_team_barrier_waiting_for_tasks,
5217 gomp_team_barrier_done): New inlines.
5218 (gomp_barrier_wait_end): Change second argument to
5219 gomp_barrier_state_t.
5220 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
5221 inlines.
5222 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
5223 (gomp_barrier_wait_end): Change second argument to
3e348fcc 5224 gomp_barrier_state_t.
a68ab351
JJ
5225 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
5226 gomp_team_barrier_wake): New functions.
5227 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
5228 futex.h.
5229 (gomp_futex_wake, gomp_futex_wait): New variables.
5230 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
5231 * config/linux/lock.c: Rewrite to make locks task owned,
5232 for backwards compatibility provide the old entrypoints
5233 if symbol versioning. Include wait.h instead of libgomp.h and
5234 futex.h.
5235 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
5236 * config/posix95/lock.c: Rewrite to make locks task owned,
5237 for backwards compatibility provide the old entrypoints
5238 if symbol versioning.
5239 * config/posix/lock.c: Rewrite to make locks task owned,
5240 for backwards compatibility provide the old entrypoints
5241 if symbol versioning.
5242 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
5243 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
5244 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
5245 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5246 (sys_futex0): Return error code.
5247 (futex_wake, futex_wait): If ENOSYS was returned, clear
5248 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5249 (cpu_relax, atomic_write_barrier): New static inlines.
5250 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5251 (futex_wake, futex_wait): If ENOSYS was returned, clear
5252 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5253 (cpu_relax, atomic_write_barrier): New static inlines.
5254 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5255 (sys_futex0): Return error code.
5256 (futex_wake, futex_wait): If ENOSYS was returned, clear
5257 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5258 (cpu_relax, atomic_write_barrier): New static inlines.
5259 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5260 (sys_futex0): Return error code.
5261 (futex_wake, futex_wait): If ENOSYS was returned, clear
5262 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5263 (cpu_relax, atomic_write_barrier): New static inlines.
5264 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5265 (sys_futex0): Return error code.
5266 (futex_wake, futex_wait): If ENOSYS was returned, clear
5267 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5268 (cpu_relax, atomic_write_barrier): New static inlines.
5269 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5270 (sys_futex0): Return error code.
5271 (futex_wake, futex_wait): If ENOSYS was returned, clear
5272 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5273 (cpu_relax, atomic_write_barrier): New static inlines.
5274 * config/linux/sem.c: Include wait.h instead of libgomp.h and
5275 futex.h.
5276 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
5277 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
5278 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
5279 types.
5280 (omp_nest_lock_t): Change owner into void *, add lock field.
5281 * config/posix95/omp-lock.h: Include semaphore.h.
5282 (omp_lock_25_t, omp_nest_lock_25_t): New types.
5283 (omp_lock_t): Use sem_t instead of mutex if semaphores
5284 aren't broken.
5285 (omp_nest_lock_t): Likewise. Change owner to void *.
5286 * config/posix/omp-lock.h: Include semaphore.h.
5287 (omp_lock_25_t, omp_nest_lock_25_t): New types.
5288 (omp_lock_t): Use sem_t instead of mutex if semaphores
5289 aren't broken.
5290 (omp_nest_lock_t): Likewise. Add owner field.
5291
52922008-06-06 Jakub Jelinek <jakub@redhat.com>
5293
5294 * testsuite/libgomp.c/collapse-1.c: New test.
5295 * testsuite/libgomp.c/collapse-2.c: New test.
5296 * testsuite/libgomp.c/collapse-3.c: New test.
5297 * testsuite/libgomp.c/icv-1.c: New test.
5298 * testsuite/libgomp.c/icv-2.c: New test.
5299 * testsuite/libgomp.c/lib-2.c: New test.
5300 * testsuite/libgomp.c/lock-1.c: New test.
5301 * testsuite/libgomp.c/lock-2.c: New test.
5302 * testsuite/libgomp.c/lock-3.c: New test.
5303 * testsuite/libgomp.c/loop-4.c: New test.
5304 * testsuite/libgomp.c/loop-5.c: New test.
5305 * testsuite/libgomp.c/loop-6.c: New test.
5306 * testsuite/libgomp.c/loop-7.c: New test.
5307 * testsuite/libgomp.c/loop-8.c: New test.
5308 * testsuite/libgomp.c/loop-9.c: New test.
5309 * testsuite/libgomp.c/nested-3.c: New test.
5310 * testsuite/libgomp.c/nestedfn-6.c: New test.
5311 * testsuite/libgomp.c/sort-1.c: New test.
5312 * testsuite/libgomp.c/task-1.c: New test.
5313 * testsuite/libgomp.c/task-2.c: New test.
5314 * testsuite/libgomp.c/task-3.c: New test.
5315 * testsuite/libgomp.c/task-4.c: New test.
5316 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
5317 to C++ testsuite default compiler options.
5318 * testsuite/libgomp.c++/collapse-1.C: New test.
5319 * testsuite/libgomp.c++/collapse-2.C: New test.
5320 * testsuite/libgomp.c++/ctor-10.C: New test.
5321 * testsuite/libgomp.c++/for-1.C: New test.
5322 * testsuite/libgomp.c++/for-2.C: New test.
5323 * testsuite/libgomp.c++/for-3.C: New test.
5324 * testsuite/libgomp.c++/for-4.C: New test.
5325 * testsuite/libgomp.c++/for-5.C: New test.
5326 * testsuite/libgomp.c++/loop-8.C: New test.
5327 * testsuite/libgomp.c++/loop-9.C: New test.
5328 * testsuite/libgomp.c++/loop-10.C: New test.
5329 * testsuite/libgomp.c++/task-1.C: New test.
5330 * testsuite/libgomp.c++/task-2.C: New test.
5331 * testsuite/libgomp.c++/task-3.C: New test.
5332 * testsuite/libgomp.c++/task-4.C: New test.
5333 * testsuite/libgomp.c++/task-5.C: New test.
5334 * testsuite/libgomp.c++/task-6.C: New test.
5335 * testsuite/libgomp.fortran/allocatable1.f90: New test.
5336 * testsuite/libgomp.fortran/allocatable2.f90: New test.
5337 * testsuite/libgomp.fortran/allocatable3.f90: New test.
5338 * testsuite/libgomp.fortran/allocatable4.f90: New test.
5339 * testsuite/libgomp.fortran/collapse1.f90: New test.
5340 * testsuite/libgomp.fortran/collapse2.f90: New test.
5341 * testsuite/libgomp.fortran/collapse3.f90: New test.
5342 * testsuite/libgomp.fortran/collapse4.f90: New test.
5343 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
5344 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
5345 * testsuite/libgomp.fortran/lib4.f90: New test.
5346 * testsuite/libgomp.fortran/lock-1.f90: New test.
5347 * testsuite/libgomp.fortran/lock-2.f90: New test.
5348 * testsuite/libgomp.fortran/nested1.f90: New test.
5349 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
5350 * testsuite/libgomp.fortran/strassen.f90: New test.
5351 * testsuite/libgomp.fortran/tabs1.f90: New test.
5352 * testsuite/libgomp.fortran/tabs2.f: New test.
5353 * testsuite/libgomp.fortran/task1.f90: New test.
5354 * testsuite/libgomp.fortran/task2.f90: New test.
5355 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
5356 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5357 * testsuite/libgomp.c/pr26943-2.c: Likewise.
5358 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5359 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5360
7a0112e7
JJ
53612008-05-23 Jakub Jelinek <jakub@redhat.com>
5362
5363 PR c++/36308
5364 * testsuite/libgomp.c++/ctor-11.C: New test.
5365 * testsuite/libgomp.c++/ctor-12.C: New test.
5366
91a5b394
JJ
53672008-05-15 Janis Johnson <janis187@us.ibm.com>
5368
5369 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
5370
c18c98c0
JJ
53712008-05-07 Jakub Jelinek <jakub@redhat.com>
5372
5373 PR middle-end/36106
5374 * testsuite/libgomp.c/atomic-5.c: New test.
5375 * testsuite/libgomp.c/atomic-6.c: New test.
5376 * testsuite/libgomp.c/autopar-1.c: New test.
5377
6d26724a
RW
53782008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5379
5380 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
5381 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
5382 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
5383 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
5384 * configure: Regenerate.
5385 * Makefile.in, testsuite/Makefile.in: Likewise.
5386
deb984e6
PB
53872008-04-18 Paolo Bonzini <bonzini@gnu.org>
5388
5389 PR bootstrap/35457
5390 * aclocal.m4: Regenerate.
5391 * configure: Regenerate.
5392
9e775963
JJ
53932008-03-18 Jakub Jelinek <jakub@redhat.com>
5394
8119fc93
JJ
5395 PR middle-end/35611
5396 * testsuite/libgomp.c/atomic-4.c: New test.
5397
9e775963
JJ
5398 PR libgomp/35625
5399 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
5400 (gomp_iter_guided_next): Likewise.
5401 * testsuite/libgomp.c/pr35625.c: New test.
5402
38d24731
RW
54032008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5404
5405 * aclocal.m4: Regenerate.
5406 * configure: Likewise.
5407 * Makefile.in: Likewise.
5408 * testsuite/Makefile.in: Likewise.
5409
d0fb20be
JJ
54102008-03-13 Jakub Jelinek <jakub@redhat.com>
5411
5412 PR middle-end/35185
5413 * testsuite/libgomp.c++/pr35185.C: New test.
5414
7c8f7639
JJ
54152008-03-12 Jakub Jelinek <jakub@redhat.com>
5416
5417 PR middle-end/35549
5418 * testsuite/libgomp.c/pr35549.c: New test.
5419
251923f5
JJ
54202008-03-06 Jakub Jelinek <jakub@redhat.com>
5421
5422 * testsuite/libgomp.c/atomic-3.c: New test.
5423
f489fba1
FXC
54242008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5425
5426 PR fortran/33197
251923f5 5427 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
5428 .F08 file suffixes.
5429
a1b25e49
PG
54302008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
5431
5432 PR libgomp/33131
5433 * configure.ac: Add ACX_HEADER_STRING.
5434 * env.c: Include strings.h.
5435 * aclocal.m4: Regenerate.
5436 * config.h.in: Regenerate.
5437 * configure: Regenerate.
5438 * Makefile.in: Regenerate.
5439 * testsuite/Makefile.in: Regenerate.
5440
6837b3b8
JJ
54412008-02-15 Jakub Jelinek <jakub@redhat.com>
5442
ac84c062
JJ
5443 PR middle-end/35196
5444 * testsuite/libgomp.c/pr35196.c: New test.
5445
6837b3b8
JJ
5446 PR middle-end/35130
5447 * testsuite/libgomp.fortran/pr35130.f90: New test.
5448 * testsuite/libgomp.c/pr35130.c: New test.
5449
c256730c
JJ
54502008-01-25 Jakub Jelinek <jakub@redhat.com>
5451
5452 PR middle-end/33880
5453 * testsuite/libgomp.c/pr33880.c: New test.
5454 * testsuite/libgomp.fortran/pr33880.f90: New test.
5455
c8e95542 54562008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
5457
5458 * configure: Regenerate.
5459
0f3e711e
JJ
54602008-01-08 Jakub Jelinek <jakub@redhat.com>
5461
5462 * configure.ac: Move futex checking into ../config/futex.m4.
5463 * configure: Rebuilt.
5464 * aclocal.m4: Rebuilt.
5465 * Makefile.in: Rebuilt.
5466
5467 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
5468 2007-10-15 ../config/tls.m4 change.
5469
5259c813
JJ
54702007-12-19 Jakub Jelinek <jakub@redhat.com>
5471
5472 PR c++/34513
5473 * testsuite/libgomp.c/pr34513.c: New test.
5474 * testsuite/libgomp.c++/pr34513.C: New test.
5475
ae8d8879
JH
54762007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
5477
5478 PR target/32765
5479 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
5480
2b4cf991
JJ
54812007-12-04 Jakub Jelinek <jakub@redhat.com>
5482
5483 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
5484
d2dda7fe
JJ
54852007-12-03 Jakub Jelinek <jakub@redhat.com>
5486
5487 * testsuite/libgomp.c/private-1.c: New test.
5488
d683ec81
PB
54892007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
5490 Paolo Bonzini <bonzini@gnu.org>
5491
5492 * Makefile.am: Use space as vpath separator. Use 'vpath %'
5493 instead of 'VPATH ='.
5494 * Makefile.in: Regenerate.
5495
a7415017
MK
54962007-11-23 Matthias Klose <doko@ubuntu.com>
5497
5498 * configure.ac: Adjust makeinfo version check.
5499 * configure: Regenerate.
5500
78e47463
JJ
55012007-11-10 Jakub Jelinek <jakub@redhat.com>
5502
5503 PR fortran/34020
5504 * testsuite/libgomp.fortran/pr34020.f90: New test.
5505
239371f9
JJ
55062007-11-06 Jakub Jelinek <jakub@redhat.com>
5507
5508 PR c++/33894
5509 * testsuite/libgomp.c++/atomic-1.C: New test.
5510
98a5fa94
JJ
55112007-10-25 Jakub Jelinek <jakub@redhat.com>
5512
5513 PR libgomp/33275
5514 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
5515 Make x and y integers rather than (implicit) reals. Add private (j)
5516 clause to the last omp parallel.
5517
3afcaaf4
MR
55182007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
5519
5520 * configure: Regenerate following changes to ../config/tls.m4.
5521
bd69daef
JJ
55222007-09-28 Jakub Jelinek <jakub@redhat.com>
5523
5524 * testsuite/libgomp.fortran/stack.f90: New test.
5525
1d0bd356
DS
55262007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
5527
5528 * config/mingw32/proc.c: New file.
5529
b3172cab
UB
55302007-09-05 Uros Bizjak <ubizjak@gmail.com>
5531
5532 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
5533 (main): Use __get_cpuid to get i386 target fetaures.
5534 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
5535 (main): Use __get_cpuid to get x86_64 target fetaures.
5536
6da17392
JH
55372007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
5538
5539 PR target/32765
5540 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
5541 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
5542
e1c82219
JJ
55432007-07-12 Jakub Jelinek <jakub@redhat.com>
5544
5545 PR fortran/32550
5546 * testsuite/libgomp.fortran/pr32550.f90: New test.
5547 * testsuite/libgomp.fortran/crayptr2.f90: New test.
5548
12a27363
L
55492007-07-05 H.J. Lu <hongjiu.lu@intel.com>
5550
5551 * aclocal.m4: Regenerated.
5552
5349080d
TB
55532007-07-05 Tobias Burnus <burnus@net-b.de>
5554
5555 PR fortran/32359
5556 * testsuite/libgomp.fortran/pr32359.f90: New.
5557
4f9c450c
JJ
55582007-07-02 Jakub Jelinek <jakub@redhat.com>
5559
5560 PR libgomp/32468
5561 * sections.c (GOMP_parallel_sections_start): Only decrease
5562 number of threads to COUNT if dyn_var is true.
5563 * testsuite/libgomp.c/pr32468.c: New test.
5564
28c67ed7
RO
55652007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5566
5567 PR libgomp/26308
5568 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
5569
64964499
JJ
55702007-06-21 Jakub Jelinek <jakub@redhat.com>
5571
5572 PR middle-end/32362
5573 * testsuite/libgomp.c/pr32362-1.c: New test.
5574 * testsuite/libgomp.c/pr32362-2.c: New test.
5575 * testsuite/libgomp.c/pr32362-3.c: New test.
5576
46d8fbd1
JJ
55772007-06-07 Jakub Jelinek <jakub@redhat.com>
5578
5579 * team.c (gomp_team_start): Fix setting up thread_attr
5580 stack size.
5581
82a6cadf
PB
55822007-06-02 Paolo Bonzini <bonzini@gnu.org>
5583
5584 * configure: Regenerate.
5585
1cf3d07d
SE
55862007-05-23 Steve Ellcey <sje@cup.hp.com>
5587
5588 * Makefile.in: Regenerate.
5589 * configure: Regenerate.
5590 * aclocal.m4: Regenerate.
5591 * testsuite/Makefile.in: Regenerate.
5592
12aac30b
JJ
55932007-05-04 Jakub Jelinek <jakub@redhat.com>
5594
5595 * config/linux/proc.c: New file.
5596
f1028b02
JJ
5597 PR libgomp/28482
5598 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
5599
06785a48
DF
56002007-04-19 Daniel Franke <franke.daniel@gmail.com>
5601
5602 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
5603
b3b08ba0
MK
56042007-04-16 Matthias Klose <doko@debian.org>
5605
5606 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
5607 flags if not building with -m64.
5608 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
5609 flag for i?86-*-* targets, if current target matches -m64.
5610
6b2c5ce0
SE
56112007-04-14 Steve Ellcey <sje@cup.hp.com>
5612
5613 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
5614 * Makefile.in: Regenerate.
5615
dd56fe7c
JDA
56162007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5617
5618 PR testsuite/31369
5619 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
5620 ld_library_path.
5621 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5622
a0884cf0
JJ
56232007-04-04 Jakub Jelinek <jakub@redhat.com>
5624
5625 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
5626 decls.
5627 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
5628 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
5629 (parse_affinity): New function.
5630 (initialize_env): Call it and gomp_init_affinity.
5631 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
5632 create new pthread_attr_t and call gomp_init_thread_affinity
5633 on it for each thread before passing the attribute to pthread_create.
5634 * config/linux/affinity.c: New file.
5635 * config/posix/affinity.c: New file.
5636 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
5637 * configure: Rebuilt.
5638 * config.h.in: Rebuilt.
5639 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
5640 * Makefile.in: Rebuilt.
5641
1850744b
AT
56422007-03-23 Andreas Tobler <a.tobler@schweiz.org>
5643
5644 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
5645 *-*-darwin*.
5646 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
5647 and use it if found.
5648
516f1ed8
UB
56492007-03-18 Uros Bizjak <ubizjak@gmail.com>
5650
5651 * testsuite/config/default.exp: New file.
5652 * testsuite/lib/libgomp.exp: New file.
5653 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
5654 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
5655 load_lib *, load_gcc_lib *): Move to libgomp.exp.
5656 (libgomp_load): Remove.
5657 * testsuite/lib/libgomp.exp (libgomp_init): Compute
5658 always_ld_library_path, not ld_library_path. Set additional_flags
5659 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
5660 (target_compile): Do not call libgomp_init. Append lang_library_path
5661 and lang_link_flags to options.
5662 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
5663 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
5664 here.
5665 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
5666 always_ld_library_path. Set LD_LIBRARY_PATH here.
5667 * testsuite/libgomp.fortran/fortran.exp: Ditto.
5668 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
5669 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
5670 CX8 flag.
5671 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
5672 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
5673 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
5674 * testsuite/libgomp.c/pr29947-1.c: Ditto.
5675 * testsuite/libgomp.c/atomic-10.c: Ditto.
5676
2ada56f5
JJ
56772007-03-21 Jakub Jelinek <jakub@redhat.com>
5678
5679 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
5680 dg-final cleanup-modules line.
5681 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
5682 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
5683 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
5684 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5685 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5686 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5687 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5688
f210f1cd
AS
56892007-03-18 Andreas Schwab <schwab@suse.de>
5690
5691 * acinclude.m4: Adjust regular expression for ld version
5692 extraction.
5693 * configure: Regenerate.
5694
c4dc950d
BM
56952007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
5696
5697 * Makefile.am: Add install-pdf target as copied from
5698 automake v1.10 rules.
5699 * Makefile.in: Regenerate
5700
e02a048f
JJ
57012007-02-07 Jakub Jelinek <jakub@redhat.com>
5702
78e075d4
JJ
5703 PR libgomp/28486
5704 * configure: Regenerate.
5705
e02a048f
JJ
5706 PR c++/30703
5707 * testsuite/libgomp.c++/pr30703.C: New test.
5708
60def7ed
JJ
57092007-02-02 Jakub Jelinek <jakub@redhat.com>
5710
5711 Revert:
5712 2006-07-05 Eric Christopher <echristo@apple.com>
5713 * configure.ac: Depend addition of -pthread on host OS.
5714 * configure: Regenerate.
5715
f1b0882e
RW
57162007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5717
5718 * libgomp.texi: Fix spacing after abbreviations.
5719
748b9d7c
DF
57202007-01-31 Daniel Franke <franke.daniel@gmail.com>
5721
5722 PR libgomp/30546
5723 * configure.ac: Add check for makeinfo
5724 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
5725 if an appropiate version of makeinfo is found.
5726 * aclocal.m4: Regenerated.
5727 * configure: Regenerated.
5728 * Makefile.in: Regenerated.
5729 * testsuite/Makefile.in: Regenerated.
5730
14734fc7
DF
57312007-01-29 Daniel Franke <franke.daniel@gmail.com>
5732
5733 PR libgomp/30540
5734 * libgomp.texi: More about implementation-dependent settings.
5735
7befd5d2
TB
57362007-01-26 Tobias Burnus <burnus@net-b.de>
5737
5738 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
5739
4288fea2
JJ
57402007-01-24 Jakub Jelinek <jakub@redhat.com>
5741
5742 PR middle-end/30494
5743 * testsuite/libgomp.c/pr30494.c: New test.
5744
627ab4b8
TT
57452007-01-15 Tom Tromey <tromey@redhat.com>
5746
5747 * configure: Rebuilt.
5748 * configure.ac: Fixed comment.
5749
7c2b7f45
DF
57502007-01-14 Daniel Franke <franke.daniel@gmail.com>
5751
5752 * libgomp.texi: Document implementation specific default values of
5753 environment variables.
5754
3721b9e1
DF
57552006-12-21 Daniel Franke <franke.daniel@gmail.com>
5756
5757 PR libgomp/28209
5758 * libgomp.texi: New file.
5759 * configure.ac: Add --enable-generated-files-in-srcdir option.
5760 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
5761 files to srcdir.
5762 * Makefile.in: Regenerated.
5763 * config.h.in: Regenerated.
5764 * testsuite/Makefile.in: Regenerated.
5765 * NOTES: Removed.
5766
62bd6216
DF
57672006-12-04 Daniel Franke <franke.daniel@gmail.com>
5768
5769 PR libgomp/29949
5770 * env.c (omp_set_num_threads): Set illegal thread count to 1.
5771
aad741f4
EB
57722006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5773
5774 * configure: Regenerate.
5775
22568cc6
JJ
57762006-12-04 Jakub Jelinek <jakub@redhat.com>
5777
5778 PR libgomp/29947
5779 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
5780 start if there shouldn't be any loop iterations.
5781 (gomp_loop_ordered_static_start): Remove start == end test.
5782 * testsuite/libgomp.c/pr29947-1.c: New test.
5783 * testsuite/libgomp.c/pr29947-2.c: New test.
5784
a9690009
EB
57852006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
5786
5787 * configure.tgt: Force initial-exec TLS model on Linux only.
5788
597c25e6
DJ
57892006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
5790
5791 * configure: Regenerated.
5792
6acf0b38
UB
57932006-11-09 Uros Bizjak <ubizjak@gmail.com>
5794
5795 * env.c (parse_schedule): Reject out of range values.
5796 (parse_unsigned_long): Reject out of range, negative or zero values.
5797
a7a53ca5
JJ
57982006-10-29 Jakub Jelinek <jakub@redhat.com>
5799
5800 PR fortran/29629
5801 * testsuite/libgomp.fortran/pr29629.f90: New test.
5802
6d4d216a
EB
58032006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
5804
5805 PR libgomp/29494
5806 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
5807 * config/posix95: New directory.
5808 * config/posix95/omp-lock.h: New file.
5809 * config/posix95/lock.c: Likewise.
5810
5b043f08
GK
58112006-10-14 Geoffrey Keating <geoffk@apple.com>
5812
5813 * aclocal.m4: Regenerate.
5814 * configure: Regenerate.
5815
b50019f0
DS
58162006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
5817
5818 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
5819 '<' to '<='.
5820
8887708e
DS
58212006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
5822
5823 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
5824 test.
5825 * configure: Regenerate.
5826 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
5827
9b9e4cd6
JJ
58282006-09-26 Jakub Jelinek <jakub@redhat.com>
5829
a70ad3bb
JJ
5830 PR middle-end/25261
5831 PR middle-end/28790
5832 * testsuite/libgomp.c/nestedfn-4.c: New test.
5833 * testsuite/libgomp.c/nestedfn-5.c: New test.
5834 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
5835
9b9e4cd6
JJ
5836 PR fortran/29097
5837 * testsuite/libgomp.fortran/condinc1.f: New test.
5838 * testsuite/libgomp.fortran/condinc2.f: New test.
5839 * testsuite/libgomp.fortran/condinc3.f90: New test.
5840 * testsuite/libgomp.fortran/condinc4.f90: New test.
5841 * testsuite/libgomp.fortran/condinc1.inc: New file.
5842
2fb31455
TT
58432006-09-18 Tom Tromey <tromey@redhat.com>
5844
5845 * configure: Rebuilt.
5846
c663e301
JM
58472006-09-13 Joseph S. Myers <joseph@codesourcery.com>
5848
5849 PR c/28768
5850 PR preprocessor/14634
5851 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
5852 to AC_DEFINE.
5853 * configure: Regenerate.
5854
38371be9
SK
58552006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
5856
5857 * testsuite/libgomp.fortran/reduction3.f90: Change
5858 -2147483648 to -huge(i)-1 to avoid overflow.
5859 * testsuite/libgomp.fortran/reduction4.f90: Change
5860 Z'ffffffff' to not(0) to avoid overflow.
5861
571d5ac5
JM
58622006-08-26 Joseph S. Myers <joseph@codesourcery.com>
5863
5864 PR libgomp/25938
5865 * Makefile.am (libsubincludedir): New.
5866 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
5867 * Makefile.in: Regenerate.
5868
89b3e3cd
JJ
58692006-08-17 Jakub Jelinek <jakub@redhat.com>
5870
5871 PR libgomp/28725
5872 * env.c: Include ctype.h.
5873 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
5874 leading and/or trailing whitespace and compare strings case
5875 insensitively.
5876
742fae05
JJ
58772006-07-16 Jakub Jelinek <jakub@redhat.com>
5878
5879 PR fortran/28390
5880 * testsuite/libgomp.fortran/pr28390.f: New test.
5881
a1daed2d
EC
58822006-07-05 Eric Christopher <echristo@apple.com>
5883
5884 * configure.ac: Depend addition of -pthread on host OS.
5885 * configure: Regenerate.
5886
5d7b5199
JJ
58872006-06-21 Jakub Jelinek <jakub@redhat.com>
5888
5889 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
5890 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
5891 defined.
5892
fe5568e9
JJ
58932006-06-20 Jakub Jelinek <jakub@redhat.com>
5894
5895 PR libgomp/26175
5896 PR libgomp/26477
5897 * configure.ac: If neither --enable-linux-futex nor
5898 --disable-linux-futex is passed, determine the default by checking
5899 for compiling and/or running against NPTL. With --enable-linux-futex,
5900 check if SYS_gettid and SYS_futex are defined.
5901 * configure: Rebuilt.
5902
c3b11a40
RH
59032006-06-14 Richard Henderson <rth@redhat.com>
5904
5905 PR libgomp/28008
5906 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
5907 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
5908
d0d1b24d
RH
59092006-06-09 Richard Henderson <rth@redhat.com>
5910
5911 * env.c (gomp_nthreads_var): Change to unsigned long.
5912 (gomp_run_sched_chunk): Likewise.
5913 (parse_unsigned_long): Rename from parse_num_threads and generalize.
5914 (initialize_env): Initialize gomp_thread_attr.
5915 * libgomp.h (gomp_nthreads_var): Update decl.
5916 (gomp_run_sched_chunk): Likewise.
5917 (gomp_thread_attr): Declare.
5918 * team.c (gomp_thread_attr): Export.
5919 (initialize_team): Don't initialize it.
5920
cd75853e
JJ
59212006-06-09 Jakub Jelinek <jakub@redhat.com>
5922
5923 PR fortran/27916
5924 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
5925 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
5926
33815e0c
FXC
59272006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
5928
5929 * config/mingw32/time.c: New file.
5930 * configure.tgt: Use it.
5931
6667de0d
CD
59322006-05-23 Carlos O'Donell <carlos@codesourcery.com>
5933
5934 * Makefile.am: Add install-html target. Add install-html to .PHONY
5935 * Makefile.in: Regenerate.
5936
e962c46b
JDA
59372006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5938
5939 PR libgomp/27612
5940 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
5941 * testsuite/libgomp.c/critical-1.c: Likewise.
5942 * testsuite/libgomp.c/loop-1.c: Likewise.
5943 * testsuite/libgomp.c/loop-2.c: Likewise.
5944 * testsuite/libgomp.c/single-1.c: Likewise.
5945 * testsuite/libgomp.c/ordered-1.c: Likewise.
5946 * testsuite/libgomp.c/ordered-2.c: Likewise.
5947
eeb1d9e0
JJ
59482006-05-15 Jakub Jelinek <jakub@redhat.com>
5949
5950 PR middle-end/27416
5951 * libgomp.fortran/pr27416-1.f90: New test.
5952
693d710f
JJ
59532006-05-03 Jakub Jelinek <jakub@redhat.com>
5954
5955 PR fortran/27395
5956 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
5957 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
5958
8ca5b2a2
JJ
59592006-05-02 Jakub Jelinek <jakub@redhat.com>
5960
5961 PR c++/26943
5962 * testsuite/libgomp.c/pr26943-1.c: New test.
5963 * testsuite/libgomp.c/pr26943-2.c: New test.
5964 * testsuite/libgomp.c/pr26943-3.c: New test.
5965 * testsuite/libgomp.c/pr26943-4.c: New test.
5966 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
5967 * testsuite/libgomp.c++/pr26943.C: New test.
5968
077b0dfb
JJ
59692006-05-02 Jakub Jelinek <jakub@redhat.com>
5970
5971 PR middle-end/27337
5972 * testsuite/libgomp.c++/pr27337.C: New test.
5973
91b6c26d
JJ
59742006-04-26 Jakub Jelinek <jakub@redhat.com>
5975
5976 PR c/26171
5977 * testsuite/libgomp.c/pr26171.c: New test.
5978
60e1758f
RH
59792006-04-25 Richard Henderson <rth@redhat.com>
5980
5981 PR libgomp/25865
5982 * configure.ac: Use GCC_CHECK_TLS.
5983 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
5984 * Makefile.in, aclocal.m4, configure: Regenerate.
5985
615baed7
MK
59862006-04-10 Matthias Klose <doko@debian.org>
5987
5988 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
5989 directory names containing underscores.
5990
fae2b46b
JJ
59912006-03-21 Jakub Jelinek <jakub@redhat.com>
5992
5993 PR c++/26691
5994 * testsuite/libgomp.c++/pr26691.C: New test.
5995
11a5f608
JJ
59962006-03-13 Jakub Jelinek <jakub@redhat.com>
5997
5998 * testsuite/libgomp.fortran/retval2.f90: New test.
5999
1799e5d5
RH
60002006-03-09 Diego Novillo <dnovillo@redhat.com>
6001
6002 * testsuite/libgomp.c++: New directory.
6003
d349482e
AT
60042006-02-25 Shantonu Sen <ssen@opendarwin.org>
6005
6006 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
6007 * config/posix/sem.c: Implement the above.
6008
60092006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
6010
6011 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
6012 define HAVE_BROKEN_POSIX_SEMAPHORES.
6013 * configure: Rebuilt.
6014 * config.h.in: Rebuilt.
6015
124452c9
FXC
60162006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6017
6018 PR bootstrap/26161
6019 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
6020 for the other pthread check.
6021 * configure: Regenerate.
6022 * config.h.in: Regenerate.
6023
dd8d6dfe
JJ
60242006-02-15 Jakub Jelinek <jakub@redhat.com>
6025
6026 PR libgomp/25938
6027 PR libgomp/25984
6028 * Makefile.am (fincludedir): New variable.
6029 (nodist_include_HEADERS): Remove Fortran files.
6030 (nodist_finclude_HEADERS): New variable.
6031 * Makefile.in: Regenerated.
6032
6c7a4dfd
JJ
60332006-02-13 Jakub Jelinek <jakub@redhat.com>
6034
6035 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
6036 Remove tests for returning assumed character length arrays.
6037
5142e08b
RS
60382006-02-12 Roger Sayle <roger@eyesopen.com>
6039 John David Anglin <dave@hiauly1.hia.nrc.ca>
6040
6041 PR libgomp/25936
6042 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 6043
5821fba8
UW
60442006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
6045
6046 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
6047
cb2bbc67
EB
60482006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
6049
6050 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
6051 part of LD_LIBRARY_PATH manually.
6052
f05ee80c
L
60532006-02-03 H.J. Lu <hongjiu.lu@intel.com>
6054
6055 PR libgomp/25852
6056 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
6057 libgomp_init.
6058
03b8fe49
PB
60592005-01-25 Paolo Bonzini <bonzini@gnu.org>
6060
6061 PR libgomp/25884
f05ee80c
L
6062 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
6063 * configure.ac (PERL): Don't set.
6064 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
6065 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
6066 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
6067 * omp.h.in: Wrap the new configure substitutions with @ characters.
6068 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
6069 * aclocal.m4, configure, Makefile.in: Regenerate.
6070 * mkomp_h.pl: Delete.
03b8fe49 6071
18cbfd85
PB
60722005-01-24 Paolo Bonzini <bonzini@gnu.org>
6073
6074 PR libgomp/25259
6075 * configure.ac: Use GCC_HEADER_STDINT.
6076 * libgomp.h: Include gstdint.h.
6077 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
6078 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
6079
c41303c6
RH
60802006-01-24 Richard Henderson <rth@redhat.com>
6081
6082 PR libgomp/25942
6083 * configure.ac: Add AM_MAINTAINER_MODE.
6084 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
6085
149b9553
DN
60862006-01-24 Diego Novillo <dnovillo@redhat.com>
6087
6088 * Makefile.in: Regenerate.
6089 * testsuite/Makefile.in: Regenerate.
6090 * aclocal.m4: Regenerate.
6091
192a50ad
AT
60922006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
6093
6094 * config/posix/proc.c: Conditional include of sys/loadavg.h for
6095 Solaris.
6096 * configure.ac: Add check for loadavg.h.
6097 (link_gomp): Adjust comment.
6098 * configure: Regenerate.
6099 * config.h.in: Regenerate.
6100
a55b8e18
SE
61012006-01-21 Steve Ellcey <sje@cup.hp.com>
6102
6103 PR libgomp/25877
6104 * configure.ac: Remove check for alloca.h.
6105 * configure: Regenerate.
6106 * config.h.in: Regenerate.
6107 * libgomp.h: define gomp_alloca to be __builtin_alloca.
6108 * team.c: Remove use of alloca.h.
6109 Call gomp_alloca instead of alloca.
6110
692eeb34
SE
61112006-01-20 Steve Ellcey <sje@cup.hp.com>
6112
6113 PR libgomp/25877
6114 * team.c: Add include of alloca.h.
6115 * configure.ac: Add check for alloca.h.
6116 * configure: Regenerate.
6117 * config.h.in: Regenerate.
6118
953ff289
DN
61192006-01-17 Jakub Jelinek <jakub@redhat.com>
6120
6121 PR fortran/25219
6122 * testsuite/libgomp.fortran/pr25219.f90: New test.
6123
61242005-12-05 Uros Bizjak <uros@kss-loka.si>
6125
6126 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
6127 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
6128 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
6129 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
6130 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
6131 testsuite/libgomp.fortran/threadprivate1.f90,
6132 testsuite/libgomp.fortran/threadprivate2.f90,
6133 testsuite/libgomp.fortran/threadprivate3.f90,
6134 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
6135 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
6136 testsuite/libgomp.fortran/omp_parse3.f90: Change required
6137 effective-target to TLS runtime.
6138
6139 * testsuite/libgomp.fortran/pr25162.f: Require
6140 effective-target TLS runtime.
6141
61422005-12-01 Jakub Jelinek <jakub@redhat.com>
6143
6144 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
6145 * testsuite/libgomp.c/nestedfn-3.c: New test.
6146
61472005-11-30 Jakub Jelinek <jakub@redhat.com>
6148
6149 PR fortran/25162
6150 * testsuite/libgomp.fortran/pr25162.f: New test.
6151
61522005-11-28 Jakub Jelinek <jakub@redhat.com>
6153
6154 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
6155 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
6156
61572005-11-25 Jakub Jelinek <jakub@redhat.com>
6158
6159 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
6160 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
6161 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
6162 single.c, team.c, work.c, config/linux/alpha/futex.h,
6163 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
6164 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
6165 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
6166 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
6167 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
6168 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
6169 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
6170 FSF address.
6171
61722005-11-18 Jakub Jelinek <jakub@redhat.com>
6173
6174 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
6175 to nodist_noinst_HEADERS.
6176 * Makefile.in: Rebuilt.
6177
6178 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
6179 add integer count field.
6180 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
6181 omp_nest_lock_t type change.
6182 (omp_init_nest_lock): Likewise. Initialize count to 0.
6183 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
6184 Increment count.
6185 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
6186 Decrement count.
6187 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
6188 Increment count if successful and return the new nesting level.
6189 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
6190 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
6191 * testsuite/libgomp.c/lib-1.c: New test.
6192 * testsuite/libgomp.fortran/lib1.f90: New test.
6193 * testsuite/libgomp.fortran/lib2.f: New test.
6194 * testsuite/libgomp.fortran/lib3.f: New test.
6195
61962005-11-17 Richard Henderson <rth@redhat.com>
6197
6198 PR 24845
6199 * Makefile.am (nodist_toolexeclib_HEADERS): New.
6200 * configure.ac (link_gomp): New. Substitute it.
6201 (AC_CONFIG_FILES): Add libgomp.spec.
6202 * libgomp.spec.in: New file.
6203 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
6204 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
6205
62062005-11-18 Jakub Jelinek <jakub@redhat.com>
6207
6208 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
6209 reduction(-:var) behaving the same as reduction(+:var).
6210 * testsuite/libgomp.c/reduction-4.c: New test.
6211
62122005-11-15 Uros Bizjak <uros@kss-loka.si>
6213
6214 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
6215 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
6216 testsuite/libgomp.c/copyin-3.c,
6217 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
6218 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
6219 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
6220 testsuite/libgomp.c++/pr24455.C,
6221 testsuite/libgomp.fortran/threadprivate1.f90,
6222 testsuite/libgomp.fortran/threadprivate2.f90,
6223 testsuite/libgomp.fortran/threadprivate3.f90,
6224 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
6225 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
6226 testsuite/libgomp.fortran/omp_parse3.f90: Require
6227 effective-target TLS.
6228
62292005-11-14 Diego Novillo <dnovillo@redhat.com>
6230
6231 * HEADER: Remove.
6232
62332005-11-13 Jakub Jelinek <jakub@redhat.com>
6234
6235 PR libgomp/24797
6236 * team.c (initialize_team): Pass NULL rather than free as
6237 pthread_key_create destructor. Initialize thread specific data
6238 pointer in initial thread to a static local variable rather than
6239 malloced memory.
6240
62412005-11-11 Uros Bizjak <uros@kss-loka.si>
6242
6243 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
6244 its location to ld_library_path.
6245
62462005-11-10 Diego Novillo <dnovillo@redhat.com>
6247
6248 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
6249
62502005-11-10 Diego Novillo <dnovillo@redhat.com>
6251
6252 * testsuite/libgomp.c: Rename from libgomp.dg.
6253
62542005-11-09 Diego Novillo <dnovillo@redhat.com>
6255
6256 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
6257 threadprivate variable 'i'.
6258
62592005-11-09 Jakub Jelinek <jakub@redhat.com>
6260
6261 * config/linux/s390/futex.h: New file.
6262 * configure.tgt: Use it.
6263
6264 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
6265 before the parallel.
6266
62672005-11-08 Jakub Jelinek <jakub@redhat.com>
6268
6269 PR c++/24734
6270 * testsuite/libgomp.c++/master-1.C: New test.
6271
62722005-11-07 Jakub Jelinek <jakub@redhat.com>
6273
6274 * testsuite/libgomp.dg/copyin-3.c: New test.
6275
62762005-11-07 Jakub Jelinek <jakub@redhat.com>
6277
6278 * testsuite/libgomp.fortran/retval1.f90: New test.
6279 * testsuite/libgomp.fortran/vla7.f90: New test.
6280
62812005-11-06 Jakub Jelinek <jakub@redhat.com>
6282
6283 * testsuite/libgomp.fortran/vla2.f90: New test.
6284 * testsuite/libgomp.fortran/vla3.f90: New test.
6285 * testsuite/libgomp.fortran/vla4.f90: New test.
6286 * testsuite/libgomp.fortran/vla5.f90: New test.
6287 * testsuite/libgomp.fortran/vla6.f90: New test.
6288
62892005-11-01 Jakub Jelinek <jakub@redhat.com>
6290
6291 * config/linux/sparc/futex.h: New file.
6292 * configure.tgt: Use it.
6293 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
6294
6295 * critical.c: Include stdlib.h.
6296 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
6297 ignoring return value.
6298 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
6299 LIBGOMP_CHECK_SYNC_BUILTINS check.
6300 * configure: Rebuilt.
6301
63022005-10-31 Jakub Jelinek <jakub@redhat.com>
6303
6304 * testsuite/libgomp.fortran/vla1.f90: New test.
6305
63062005-10-31 Richard Henderson <rth@redhat.com>
6307
6308 * testsuite/libgomp.fortran/character2.f90: Fix race condition
6309 setting 's' in different threads.
6310
63112005-10-31 Jakub Jelinek <jakub@redhat.com>
6312
6313 * libgomp.h (attribute_hidden, ialias): Define.
6314 * config/posix/proc.c (omp_get_num_procs): Add ialias.
6315 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
6316 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
6317 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
6318 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
6319 omp_test_lock, omp_test_nest_lock): Likewise.
6320 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
6321 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
6322 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
6323 omp_test_lock, omp_test_nest_lock): Likewise.
6324 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
6325 omp_get_dynamic, omp_get_nested): Likewise.
6326 * parallel.c (omp_get_num_threads, omp_get_max_threads,
6327 omp_get_thread_num, omp_in_parallel): Likewise.
6328 * fortran.c (ialias_redirect): Define.
6329 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
6330 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
6331 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
6332 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
6333 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
6334 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
6335 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
6336 omp_get_wtime): Add ialias_redirect.
6337
63382005-10-30 Jakub Jelinek <jakub@redhat.com>
6339
6340 * fortran.c: Include stdlib.h.
6341
63422005-10-29 Jakub Jelinek <jakub@redhat.com>
6343
6344 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
6345 * Makefile.in: Regenerated.
6346
63472005-10-28 Jakub Jelinek <jakub@redhat.com>
6348
6349 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
6350 * libgomp_f.h.in (omp_check_defines): New function.
6351 * env.c: Include libgomp_f.h.
6352 (initialize_env): Call omp_check_defines.
6353
6354 * testsuite/libgomp.dg/copyin-2.c: New test.
6355 * testsuite/libgomp.c++/copyin-2.C: New test.
6356 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
6357
6358 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
6359 * testsuite/libgomp.fortran/sharing2.f90: New test.
6360
6361 * testsuite/libgomp.dg/copyin-1.c: New test.
6362 * testsuite/libgomp.c++/copyin-1.C: New test.
6363
63642005-10-26 Jakub Jelinek <jakub@redhat.com>
6365
6366 * testsuite/libgomp.fortran/crayptr1.f90: New test.
6367
6368 * testsuite/libgomp.fortran/workshare1.f90: New test.
6369
6370 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
6371 only test.
6372 * libgomp.fortran/sharing1.f90: New test.
6373
63742005-10-24 Jakub Jelinek <jakub@redhat.com>
6375
6376 PR c++/24502
6377 * testsuite/libgomp.c++/loop-7.C: New test.
6378
6379 * testsuite/libgomp.dg/nestedfn-2.c: New test.
6380
6381 * testsuite/libgomp.dg/nestedfn-1.c: New test.
6382 * testsuite/libgomp.fortran/reduction6.f90: New test.
6383 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
6384
63852005-10-23 Richard Henderson <rth@redhat.com>
6386
6387 * testsuite/libgomp.c++/ctor-1.C: New.
6388 * testsuite/libgomp.c++/ctor-2.C: New.
6389 * testsuite/libgomp.c++/ctor-3.C: New.
6390 * testsuite/libgomp.c++/ctor-4.C: New.
6391 * testsuite/libgomp.c++/ctor-5.C: New.
6392 * testsuite/libgomp.c++/ctor-6.C: New.
6393 * testsuite/libgomp.c++/ctor-7.C: New.
6394 * testsuite/libgomp.c++/ctor-8.C: New.
6395 * testsuite/libgomp.c++/ctor-9.C: New.
6396
63972005-10-21 Diego Novillo <dnovillo@redhat.com>
6398
6399 PR 24455
6400 * testsuite/libgomp.c++/pr24455-1.C: New test.
6401 * testsuite/libgomp.c++/pr24455.C: New test.
6402 * testsuite/libgomp.dg/pr24455-1.c: New test.
6403 * testsuite/libgomp.dg/pr24455.c: New test.
6404
64052005-10-20 Richard Henderson <rth@redhat.com>
6406
6407 * testsuite/libgomp.c++/loop-6.C: New.
6408 * testsuite/libgomp.dg/loop-3.c: New.
6409
64102005-10-20 Jakub Jelinek <jakub@redhat.com>
6411
6412 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
6413 explicitly private.
6414 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
6415 explicitly shared.
6416
64172005-10-19 Diego Novillo <dnovillo@redhat.com>
6418
6419 * testsuite/libgomp.fortran/jacobi.f: New test.
6420
64212005-10-19 Richard Henderson <rth@redhat.com>
6422
6423 * configure.tgt (i?86-linux): Default to with_arch instead of
6424 CFLAGS. Add -mtune to match target_cpu.
6425 (x86_64-linux): Tune to i686.
6426
6427 * fortran.c (omp_test_nest_lock_): Fix typo.
6428
64292005-10-19 Jakub Jelinek <jakub@redhat.com>
6430
6431 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
6432 gomp_ordered_sync): Do nothing if team->nthreads == 1.
6433 * testsuite/libgomp.dg/ordered-3.c: New test.
6434
6435 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
6436 Remove volatile keyword.
6437
6438 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
6439 in COMMON block to avoid warnings on 64-bit targets.
6440
64412005-10-18 Diego Novillo <dnovillo@redhat.com>
6442
6443 * testsuite/libgomp.dg/shared-3.c: New test.
6444
64452005-10-18 Jakub Jelinek <jakub@redhat.com>
6446
6447 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
6448 * testsuite/libgomp.fortran/reduction5.f90: New test.
6449
64502005-10-18 Jakub Jelinek <jakub@redhat.com>
6451
6452 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
6453 dg-options.
6454 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
6455 flush loop now that __sync_synchronize has proper memory barrier.
6456 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
6457 Add -ffixed-form to dg-options.
6458
64592005-10-17 Diego Novillo <dnovillo@redhat.com>
6460
6461 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
6462 from subdirectories.
6463 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
6464 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
6465 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
6466 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
6467 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
6468 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
6469 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
6470 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
6471 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
6472 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
6473 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
6474 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
6475 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
6476 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
6477 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
6478 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
6479 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
6480 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
6481 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
6482 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
6483 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
6484 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
6485 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
6486 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
6487 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
6488
64892005-10-17 Jakub Jelinek <jakub@redhat.com>
6490
6491 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
6492 lang_library_path exists. Use find instead of glob to gather tests.
6493 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
6494
64952005-10-17 Diego Novillo <dnovillo@redhat.com>
6496
6497 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
6498 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
6499 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
6500 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
6501 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
6502 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
6503 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
6504 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
6505 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
6506 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
6507 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
6508 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
6509 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
6510
65112005-10-15 Jakub Jelinek <jakub@redhat.com>
6512
6513 * testsuite/libgomp.dg/vla-1.c: New test.
6514
6515 * testsuite/libgomp.fortran/reference2.f90: New test.
6516
6517 * testsuite/libgomp.fortran/character2.f90: Remove explicit
6518 declaration of omp_get_thread_num.
6519 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
6520 use omp_lib.
6521
6522 * testsuite/libgomp.fortran/reduction1.f90: New test.
6523 * testsuite/libgomp.fortran/reduction2.f90: New test.
6524 * testsuite/libgomp.fortran/reduction3.f90: New test.
6525 * testsuite/libgomp.fortran/reduction4.f90: New test.
6526
65272005-10-13 Richard Henderson <rth@redhat.com>
6528
6529 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
6530 * Makefile.in: Regenerate.
6531 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
6532 * libgomp.h: Include bar.h.
6533 (struct gomp_barrier): Remove.
6534 (struct gomp_team): Add barrier. Replace master_barrier with
6535 master_release. Replace threads with ordered_release.
6536 (struct gomp_thread): Replace barrier with release.
6537 * ordered.c (gomp_ordered_first): Update for ordered_release change.
6538 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
6539 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
6540 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
6541 (GOMP_single_copy_end): Likewise.
6542 * team.c (gomp_threads_dock): New.
6543 (gomp_barrier_init, gomp_barrier_destroy): Remove.
6544 (gomp_thread_start): Use gomp_barrier_wait.
6545 (new_team, free_team): Update for gomp_team changes.
6546 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
6547 (gomp_team_end): Use gomp_barrier_wait.
6548 (initialize_team): Update for gomp_thread changes.
6549 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
6550 (gomp_work_share_end_nowait): Use atomic ops when available.
6551 * config/linux/bar.c, config/linux/bar.h: New files.
6552 * config/posix/bar.c, config/posix/bar.h: New files.
6553
65542005-10-13 Jakub Jelinek <jakub@redhat.com>
6555
6556 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
6557 * testsuite/libgomp.dg/single-2.c: New test.
6558
6559 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
6560 lang_link_flags): Unset, so that they aren't inherited from previously
6561 sourced *.exp.
6562
6563 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
6564
65652005-10-12 Richard Henderson <rth@redhat.com>
6566
6567 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
6568 (libgomp_init): Use lang_test_file, lang_library_path, and
6569 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
6570
6571 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
6572 (lang_test_file, lang_link_flags): New.
6573 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
6574
6575 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
6576 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
6577 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
6578 testsuite/libgomp.c++/parallel-1.C,
6579 testsuite/libgomp.c++/reduction-1.C,
6580 testsuite/libgomp.c++/reduction-2.C,
6581 testsuite/libgomp.c++/reduction-3.C,
6582 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
6583 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
6584 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
6585 New files, largely cribbed from the C testsuite.
6586
65872005-10-12 Jakub Jelinek <jakub@redhat.com>
6588
6589 * testsuite/libgomp.fortran/character1.f90: New test.
6590 * testsuite/libgomp.fortran/character2.f90: New test.
6591
6592 * testsuite/libgomp.dg/nested-1.c: New test.
6593 * testsuite/libgomp.dg/nested-2.c: New test.
6594 * testsuite/libgomp.fortran/do1.f90: New test.
6595 * testsuite/libgomp.fortran/do2.f90: New test.
6596
6597 * testsuite/libgomp.fortran/reference1.f90: New test.
6598
65992005-10-11 Jakub Jelinek <jakub@redhat.com>
6600
6601 * testsuite/libgomp.dg/reduction-1.c: New test.
6602 * testsuite/libgomp.dg/reduction-2.c: New test.
6603 * testsuite/libgomp.dg/reduction-3.c: New test.
6604
66052005-10-10 Jakub Jelinek <jakub@redhat.com>
6606
6607 * testsuite/libgomp.dg/atomic-1.c: New test.
6608 * testsuite/libgomp.dg/atomic-2.c: New test.
6609
66102005-10-09 Richard Henderson <rth@redhat.com>
6611
6612 * critical.c (atomic_lock): New.
6613 (initialize_critical): Initialize it.
6614 (GOMP_atomic_start, GOMP_atomic_end): New.
6615 * libgomp.map: Export them.
6616 * libgomp_g.h: Declare them.
6617
6618 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
6619
66202005-10-02 Richard Henderson <rth@redhat.com>
6621
6622 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
6623 to XCFLAGS instead of CFLAGS.
6624
66252005-09-30 Richard Henderson <rth@redhat.com>
6626
6627 * configure.ac: Determine whether -pthread or -lpthread is needed.
6628 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
6629 * Makefine.in, configure: Rebuild.
6630
66312005-09-28 Richard Henderson <rth@redhat.com>
6632
6633 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
6634 * testsuite/libgomp.dg/omp-single-3.c: New test.
6635
66362005-09-28 Diego Novillo <dnovillo@redhat.com>
6637
6638 * testsuite/libgomp.dg/omp-single-2.c: New test.
6639 * testsuite/libgomp.dg/shared-2.c: Fix return code.
6640
66412005-09-27 Richard Henderson <rth@redhat.com>
6642
6643 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
6644 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
6645
66462005-09-27 Jakub Jelinek <jakub@redhat.com>
6647
6648 * testsuite/libgomp.dg/omp-loop03.c: New test.
6649
66502005-09-27 Diego Novillo <dnovillo@redhat.com>
6651
6652 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
6653
66542005-09-27 Diego Novillo <dnovillo@redhat.com>
6655
6656 * testsuite/libgomp.dg/omp-single-1.c: New test.
6657 * testsuite/libgomp.dg/shared-1.c: Return 0.
6658 Add prototype for abort.
6659 * testsuite/libgomp.dg/shared-2.c: Likewise.
6660
66612005-09-26 Jakub Jelinek <jakub@redhat.com>
6662
6663 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
6664 constructs.
6665
66662005-09-26 Diego Novillo <dnovillo@redhat.com>
6667
6668 * testsuite/libgomp.dg/shared-1.c: New test.
6669 * testsuite/libgomp.dg/shared-2.c: New test.
6670
66712005-09-24 Richard Henderson <rth@redhat.com>
6672
6673 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
6674
66752005-09-24 Richard Henderson <rth@redhat.com>
6676
6677 * iter.c (gomp_iter_static_next): Round up when computing number
6678 of iterations. Don't bother distributing a remainder equally.
6679
6680 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
6681 Don't call srand. Zero b before testing.
6682 (main): New.
6683
66842005-09-24 Jakub Jelinek <jakub@redhat.com>
6685
6686 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
6687 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
6688
66892005-09-23 Jakub Jelinek <jakub@redhat.com>
6690
6691 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
6692 without !$omp end do, followed immediately by subroutine end.
6693
66942005-09-23 Diego Novillo <dnovillo@redhat.com>
6695
6696 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
6697
66982005-09-22 Richard Henderson <rth@redhat.com>
6699
6700 * critical.c (GOMP_critical_name_start): Change argument to void**.
6701 Reuse the pointer space if the mutex fits.
6702 (GOMP_critical_name_end): Likewise.
6703 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
6704 * libgomp_g.h (GOMP_critical_name_start): Update decl.
6705 (GOMP_critical_name_end): Likewise.
6706 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
6707 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
6708
67092005-09-20 Richard Henderson <rth@redhat.com>
6710
6711 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
6712 (create_lock_lock): New.
6713 (initialize_critical): Initialize it.
6714 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
6715 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
6716
67172005-09-20 Diego Novillo <dnovillo@redhat.com>
6718
6719 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
6720
67212005-09-20 Diego Novillo <dnovillo@redhat.com>
6722
6723 * testsuite/libgomp.dg/omp-loop01.c: New test.
6724 * testsuite/libgomp.dg/omp-loop02.c: New test.
6725
67262005-09-20 Jakub Jelinek <jakub@redhat.com>
6727
6728 * configure.ac (AC_PROG_FC): Add.
6729 (USE_FORTRAN): New automake conditional.
6730 * configure: Rebuilt.
6731 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
6732 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
6733 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
6734 Add rules to build them.
6735 * Makefile.in: Rebuilt.
6736 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
6737 OMP_NEST_LOCK_KIND.
6738 * libgomp.map: Add Fortran wrappers.
6739 * libgomp_f.h.in: New file.
6740 * omp_lib.h.in: New file.
6741 * omp_lib.f90.in: New file.
6742 * fortran.c: New file.
6743 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
6744 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
6745 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
6746 libgfortran has been built.
6747 * testsuite/libgomp.fortran/fortran.exp: New file.
6748 * testsuite/libgomp.fortran/omp_cond1.f: New test.
6749 * testsuite/libgomp.fortran/omp_cond2.f: New test.
6750 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
6751 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
6752 * testsuite/libgomp.fortran/omp_hello.f: New test.
6753 * testsuite/libgomp.fortran/omp_orphan.f: New test.
6754 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
6755 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
6756 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
6757 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
6758 * testsuite/libgomp.fortran/omp_reduction.f: New test.
6759 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
6760 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
6761
67622005-08-30 Richard Henderson <rth@redhat.com>
6763
6764 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
6765 function for when aliases are not usable.
6766 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
6767 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
6768 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
6769 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
6770 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
6771 GOMP_loop_ordered_guided_next): Likewise.
6772 * ordered.c (GOMP_ordered_start): Likewise.
6773
67742005-08-01 Diego Novillo <dnovillo@redhat.com>
6775
6776 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
6777 * testsuite/libgomp.dg/omp_hello.c: Fix return code
6778 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
6779 * testsuite/libgomp.dg/omp_orphan.c: Likewise
6780 * testsuite/libgomp.dg/omp_reduction.c: Likewise
6781 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
6782 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
6783 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
6784 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
6785
67862005-07-07 Eric Christopher <echristo@redhat.com>
6787 Diego Novillo <dnovillo@redhat.com>
6788
6789 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
6790 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
6791 up code.
6792 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
6793 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
6794 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
6795 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
6796 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
6797 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
6798 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
6799
68002005-06-13 Diego Novillo <dnovillo@redhat.com>
6801
6802 * TOPLEVEL.patch: Remove.
6803
68042005-05-16 Richard Henderson <rth@redhat.com>
6805
6806 * configure.ac: Test for clock_gettime.
6807 * config.h.in, configure: Rebuild.
6808 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
6809 (omp_get_wtime): Use clock_gettime if available.
6810 (omp_get_wtick): Use clock_getres if available.
6811
68122005-05-11 Richard Henderson <rth@redhat.com>
6813
6814 * config/linux/ia64/futex.h: New file.
6815 * configure.tgt: Use it.
6816
6817 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
6818
68192005-05-07 Richard Henderson <rth@redhat.com>
6820
6821 * config/linux/powerpc/futex.h: New file.
6822 * configure.tgt: Use it.
6823
6824 * config/linux/i486/futex.h: Merge ...
6825 * config/linux/x86_64/futex.h: ... into ...
6826 * config/linux/x86/futex.h: ... here.
6827 * configure.tgt: Update to match.
6828
68292005-05-06 Richard Henderson <rth@redhat.com>
6830
6831 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
6832 * config/linux/i486/futex.h: Likewise.
6833 * config/linux/x86_64/futex.h: Likewise.
6834
6835 * config/linux/lock.c: New file.
6836 * config/linux/omp-lock.h: New file.
6837
6838 * critical.c, env.h: Don't include omp.h
6839 * config/posix/lock.c: Include libgomp.h instead of omp.h.
6840 * config/posix/time.c: Likewise.
6841 * config/posix/omp-lock.h: New file.
6842 * libgomp.h: Include omp-lock.h and omp.h.
6843 * Makefile.am (nodist_include_HEADERS): New.
6844 (omp.h): New rule.
6845 * configure.ac (PERL): New.
6846 * mkomp_h.pl: New file.
6847 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
6848 with templates.
6849 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
6850
6851 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
6852 build directory. Re-add -march=i486 hack.
6853
6854 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
6855 (libgomp_link_flags): Remove.
6856 (libgomp_initialized): Remove.
6857 (libgomp_init): Don't protect from reinitialization. Copy code
6858 from libstdc++ for getting the multilib set correctly.
6859
68602005-05-05 Richard Henderson <rth@redhat.com>
6861
6862 * config/linux/alpha/futex.h: New file.
6863 * configure.tgt (alpha*-*-linux*): Use it.
6864
6865 * config/posix/mutex.c: New file.
6866 * config/posix/sem.c: Use libgomp.h.
6867
6868 * configure.tgt (x86_64-linux): Also test CC for -m32.
6869 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
6870
a1daed2d 6871 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
6872 after $gccpath.
6873
6874 * Makefile.am (SUBDIRS): New.
6875 (libgomp_la_LDFLAGS): Add -lpthread.
6876 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
6877 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
6878
6879 * libgomp_g.h: New file.
6880 * libgomp.h: Split out all public declarations to libgomp_g.h.
6881 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
6882 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
6883 * config/linux/sem.h: Likewise.
6884 * config/posix/sem.h: Likewise.
6885
6886 * Makefile.am (AM_LDFLAGS): New.
6887 (libgomp_version_script): Split out from ...
6888 (libgomp_la_LDFLAGS): ... here.
6889 (libgomp_version_info): New.
6890 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
6891 (LIBGOMP_ENABLE): New.
6892 (LIBGOMP_CHECK_LINKER_FEATURES): New.
6893 (LIBGOMP_ENABLE_SYMVERS): New.
6894 * configure.ac (AC_INIT): Version 1.0.
6895 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
6896 (enable-linux-futex): Likewise. Rename from enable-futex.
6897 (libtool_VERSION): New.
6898 (LIBGOMP_ENABLE_SYMVERS): Use it.
6899 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
6900 * Makefile.in, aclocal.m4, configure: Rebuild.
6901
6902 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
6903 (gomp_mutex_unlock_slow): Fix typo.
6904 * config/linux/sem.c: Similarly.
6905 (gomp_sem_post_slow): Fix typo.
6906 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
6907 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
6908 [__PIC__] (sys_futex0): Don't use tmp output in asm.
6909
6910 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
6911 (libgomp_la_LDFLAGS): Add top_srcdir to path.
6912 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
6913 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
6914 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
6915 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
6916 LDFLAGS. Pull enable_futex check to top-level.
6917 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
6918 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
6919
6920 First attempt at real configury.
6921 * Makefile, config.h: Remove file.
6922 * Makefile.am, Makefile.in: New file.
6923 * acinclude.m4 aclocal.m4: New file.
6924 * configure.ac, configure.tgt, configure: New file.
6925
6926 * config/posix/lock.c: Rename from sys-lock.c.
6927 * config/posix/mutex.h: Rename from sys-mutex.h.
6928 * config/posix/sem.c: Rename from sys-sem.c.
6929 * config/posix/sem.h: Rename from sys-sem.h.
6930 * config/posix/proc.c: Rename from sys-proc.c.
6931 * config/posix/time.c: Rename from sys-proc.c.
6932
6933 * config/linux/mutex.c: New file.
6934 * config/linux/mutex.h: New file.
6935 * config/linux/sem.c: New file.
6936 * config/linux/sem.h: New file.
6937 * config/linux/i486/futex.h: New file.
6938 * config/linux/x86_64/futex.h: New file.
6939
69402005-05-04 Richard Henderson <rth@redhat.com>
6941
6942 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
6943 * libgomp.h: Declare them.
6944 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
6945 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
6946
69472005-05-04 Richard Henderson <rth@redhat.com>
6948
6949 * libgomp-1 code drop
6950
69512005-05-04 Richard Henderson <rth@redhat.com>
6952
6953 * iter.c (gomp_iter_static_next): Return tri-state on 0.
6954 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
6955 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
6956 (gomp_iter_static_next): Update.
6957 (gomp_ordered_static_next): Update.
6958 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
6959 (gomp_loop_ordered_static_start): Likewise. Exit early for a
6960 totally empty range.
6961 (gomp_loop_ordered_static_next): Refine test for calling
6962 gomp_ordered_static_next.
6963 * testsuite/ordered-1.c: Add case for more threads than iterations.
6964
6965 * iter.c (gomp_iter_runtime_next_locked): Remove.
6966 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 6967 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
6968 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6969 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
6970 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
6971 gomp_loop_ordered_guided_next): Downcase name, make static, add
6972 an external alias with the old name.
6973 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6974 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
6975 switch and call one of the above static functions.
6976 * libgomp.h: Update.
6977
6978 * work.c (gomp_work_share_start): Lock the mutex for !first too.
6979 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
6980 GOMP_loop_guided_start, GOMP_loop_runtime_start,
6981 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
6982 GOMP_loop_ordered_guided_start): Update to match.
6983 * sections.c (GOMP_sections_start): Likewise.
6984 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
6985
6986 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
6987 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
6988 Use bounds check instead of modulus.
6989 (gomp_ordered_sync): Split out of GOMP_ordered_start.
6990 (gomp_ordered_last): Don't sync with ordered_owner here.
6991 (gomp_ordered_next): Likewise.
6992 (gomp_ordered_static_loop_next): Likewise.
6993 * loop.c, libgomp.h: Update to match.
6994
6995 * libgomp.h (GOMP_barrier): Declare.
6996
6997 * testsuite/barrier-1.c: New file.
6998 * testsuite/critical-1.c: New file.
6999 * testsuite/ordered-2.c: New file.
7000 * testsuite/ordered-1.c: New file.
7001 * testsuite/sections-1.c: New file.
7002 * testsuite/single-1.c: New file.
7003 * testsuite/Makefile (TESTS): Add them.
7004
70052005-05-04 Richard Henderson <rth@redhat.com>
7006
7007 * libgomp.h (struct gomp_work_share): Add ordered_owner.
7008 * loop.c (GOMP_loop_static_start): If not the startup thread,
7009 acquire the mutex to wait for initialization complete.
7010 (GOMP_loop_ordered_static_start): Likewise.
7011 (GOMP_loop_ordered_runtime_start): Likewise.
7012 (GOMP_loop_ordered_static_first): Remove.
7013 (GOMP_loop_ordered_dynamic_first): Remove.
7014 (GOMP_loop_ordered_guided_first): Remove.
7015 (GOMP_loop_ordered_runtime_first): Remove.
7016 * ordered.c (gomp_ordered_loop_first): Post to own release when
7017 we're the first thread.
7018 (gomp_ordered_loop_last): Wait on release if not owner.
7019 (gomp_ordered_loop_next): Likewise.
7020 (gomp_ordered_static_loop_init): New.
7021 (gomp_ordered_static_loop_next): Use ordered_owner.
7022 (GOMP_ordered_start): Likewise.
7023 * work.c (gomp_new_work_share): Initialize ordered_owner.
7024
70252005-05-03 Richard Henderson <rth@redhat.com>
7026
7027 * Makefile (OPT): New.
7028 (CFLAGS): Use it.
7029
7030 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
7031 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
7032 * libgomp.h, libgomp.map, NOTES: Update to match.
7033
7034 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
7035 Add initialized and thr members.
7036 (gomp_thread_start): Pause when initially spawned to wait for
7037 the whole team to be created.
7038 (gomp_team_start): Release team members at the end.
7039
7040 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
7041 (f_foo_1): Use GOMP_loop_end.
7042 (f_foo_2): Use GOMP_loop_end_nowait.
7043
7044 * testsuite/loop-2.c: New file.
7045 * testsuite/Makefile (TESTS): Add it.
7046
70472005-05-03 Richard Henderson <rth@redhat.com>
7048
7049 * iter.c (gomp_iter_static_next): Fix overflow check typo.
7050 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
7051 * team.c (new_team): Initialize oldest_live_gen to 1 if no
7052 initial work_share.
7053
7054 * testsuite/Makefile: New file.
7055 * testsuite/loop-1.c: New file.
7056
70572005-05-03 Richard Henderson <rth@redhat.com>
7058
7059 Initial implementation and checkin.