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