]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[MCORE] Hookize GO_IF_LEGITIMATE_ADDRESS
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
41e977ac
TS
12015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2 Cesar Philippidis <cesar@codesourcery.com>
3
4 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6 ... this. Add a description of the test at the top of the file.
7 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
8 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9 ... this. Add a description of the test at the top of the file.
10
e3091406
NS
112015-10-28 Nathan Sidwell <nathan@codesourcery.com>
12
13 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
15 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
16 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
17 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
18 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
19
a1c1908b
NS
202015-10-27 Nathan Sidwell <nathan@codesourcery.com>
21
22 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
23 dimensions.
24
b3962a4a
TS
252015-10-27 Thomas Schwinge <thomas@codesourcery.com>
26
27 PR testsuite/68063
28 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
29
88bae6f4
TS
302015-10-27 James Norris <jnorris@codesourcery.com>
31
32 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
33 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
34
8baa7864
TS
352015-10-26 Thomas Schwinge <thomas@codesourcery.com>
36
bdeb752c
TS
37 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
38 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
39
ecd4fd43
TS
40 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
41 acc_device_nvidia usage.
42 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
43 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
44 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
45
aa8b7d30
TS
46 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
47 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
48
7c8f138d
TS
49 PR libgomp/66518
50 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
51
8baa7864
TS
52 PR libgomp/65437
53 PR libgomp/66518
54 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
55 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
56
88ebcde5
TV
572015-10-23 Tom de Vries <tom@codesourcery.com>
58
59 PR testsuite/68063
60 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
61
9ef83c04
NS
622015-10-20 Nathan Sidwell <nathan@codesourcery.com>
63
64 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
65 vector_length.
66 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
67
3837c6d6
IV
682015-10-14 Ilya Verbin <ilya.verbin@intel.com>
69 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
70
71 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
72 to 0 when mapnum is 0.
73
ac8a1965
SH
742015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
75
76 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
77 Cast to int from int32_t.
78
d9a6bd32
JJ
792015-10-13 Jakub Jelinek <jakub@redhat.com>
80 Aldy Hernandez <aldyh@redhat.com>
81 Ilya Verbin <ilya.verbin@intel.com>
82
83 * config/linux/affinity.c (omp_get_place_num_procs,
84 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
85 * config/linux/doacross.h: New file.
86 * config/posix/affinity.c (omp_get_place_num_procs,
87 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
88 * config/posix/doacross.h: New file.
89 * env.c: Include gomp-constants.h.
90 (struct gomp_task_icv): Rename run_sched_modifier to
91 run_sched_chunk_size.
92 (gomp_max_task_priority_var): New variable.
93 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
94 (handle_omp_display_env): Change _OPENMP value from 201307 to
95 201511. Print OMP_MAX_TASK_PRIORITY.
96 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
97 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
98 chunk_size and run_sched_modifier to run_sched_chunk_size.
99 (omp_get_max_task_priority, omp_get_initial_device,
100 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
101 omp_get_partition_place_nums): New functions.
102 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
103 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
104 to chunk_size.
105 (omp_get_num_places_, omp_get_place_num_procs_,
106 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
107 omp_get_place_proc_ids_8_, omp_get_place_num_,
108 omp_get_partition_num_places_, omp_get_partition_place_nums_,
109 omp_get_partition_place_nums_8_, omp_get_initial_device_,
110 omp_get_max_task_priority_): New functions.
111 * libgomp_g.h (GOMP_loop_doacross_static_start,
112 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
113 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
114 GOMP_loop_ull_doacross_dynamic_start,
115 GOMP_loop_ull_doacross_guided_start,
116 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
117 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
118 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
119 GOMP_target_data_41, GOMP_target_update_41,
120 GOMP_target_enter_exit_data): New prototypes.
121 (GOMP_task): Add prototype argument.
122 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
123 (struct gomp_doacross_work_share): New type.
124 (struct gomp_work_share): Add doacross field.
125 (struct gomp_task_icv): Rename run_sched_modifier to
126 run_sched_chunk_size.
127 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
128 GOMP_TASK_UNDEFERRED. Add comments.
129 (struct gomp_task_depend_entry): Add comments.
130 (struct gomp_task): Likewise.
131 (struct gomp_taskgroup): Likewise.
132 (struct gomp_target_task): New type.
133 (struct gomp_team): Add comment.
134 (gomp_get_place_proc_ids_8, gomp_doacross_init,
135 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
136 gomp_create_target_task, gomp_target_task_fn): New prototypes.
137 (struct target_var_desc): New type.
138 (struct target_mem_desc): Adjust comment. Use struct
139 target_var_desc instead of splay_tree_key for list.
140 (REFCOUNT_INFINITY): Define.
141 (struct splay_tree_key_s): Remove copy_from field.
142 (struct gomp_device_descr): Add dev2dev_func field.
143 (enum gomp_map_vars_kind): New enum.
144 (gomp_map_vars): Add one argument.
145 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
146 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
147 omp_get_place_num_procs, omp_get_place_num_procs_,
148 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
149 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
150 omp_get_place_num_, omp_get_partition_num_places,
151 omp_get_partition_num_places_, omp_get_partition_place_nums,
152 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
153 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
154 omp_target_free, omp_target_is_present, omp_target_memcpy,
155 omp_target_memcpy_rect, omp_target_associate_ptr and
156 omp_target_disassociate_ptr.
157 (GOMP_4.0.2): Renamed to ...
158 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
159 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
160 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
161 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
162 GOMP_loop_doacross_static_start, GOMP_doacross_post,
163 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
164 GOMP_loop_ull_doacross_guided_start,
165 GOMP_loop_ull_doacross_runtime_start,
166 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
167 GOMP_doacross_ull_wait.
168 * libgomp.texi: Document omp_get_max_task_priority.
169 Rename modifier argument to chunk_size for omp_set_schedule and
170 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
171 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
172 to run_sched_chunk_size renaming.
173 (GOMP_loop_ordered_runtime_start): Likewise.
174 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
175 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
176 GOMP_parallel_loop_runtime_start): New functions.
177 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
178 to run_sched_chunk_size renaming.
179 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
180 GOMP_loop_doacross_guided_start): New functions or aliases.
181 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
182 run_sched_modifier to run_sched_chunk_size renaming.
183 (GOMP_loop_ull_ordered_runtime_start): Likewise.
184 (gomp_loop_ull_doacross_static_start,
185 gomp_loop_ull_doacross_dynamic_start,
186 gomp_loop_ull_doacross_guided_start,
187 GOMP_loop_ull_doacross_runtime_start): New functions.
188 (GOMP_loop_ull_doacross_static_start,
189 GOMP_loop_ull_doacross_dynamic_start,
190 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
191 * oacc-mem.c (acc_map_data, present_create_copy,
192 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
193 to gomp_map_vars.
194 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
195 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
196 instead of false to gomp_map_vars.
197 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
198 * omp.h.in (omp_lock_hint_t): New type.
199 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
200 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
201 omp_get_place_num, omp_get_partition_num_places,
202 omp_get_partition_place_nums, omp_get_initial_device,
203 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
204 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
205 omp_target_associate_ptr, omp_target_disassociate_ptr): New
206 prototypes.
207 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
208 (omp_lock_hint_none, omp_lock_hint_uncontended,
209 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
210 omp_lock_hint_speculative): New parameters.
211 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
212 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
213 omp_get_place_num, omp_get_partition_num_places,
214 omp_get_partition_place_nums, omp_get_initial_device,
215 omp_get_max_task_priority): New interfaces.
216 (omp_set_schedule, omp_get_schedule): Rename modifier argument
217 to chunk_size.
218 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
219 (omp_lock_hint_none, omp_lock_hint_uncontended,
220 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
221 omp_lock_hint_speculative): New parameters.
222 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
223 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
224 omp_get_place_num, omp_get_partition_num_places,
225 omp_get_partition_place_nums, omp_get_initial_device,
226 omp_get_max_task_priority): New functions and subroutines.
227 * ordered.c: Include stdarg.h and string.h.
228 (MAX_COLLAPSED_BITS): Define.
229 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
230 gomp_doacross_ull_init, GOMP_doacross_ull_post,
231 GOMP_doacross_ull_wait): New functions.
232 * target.c: Include errno.h.
233 (resolve_device): If device is not initialized, call
234 gomp_init_device on it.
235 (gomp_map_lookup): New function.
236 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
237 Don't bump refcount if REFCOUNT_INFINITY. Handle
238 GOMP_MAP_ALWAYS_TO_P.
239 (get_kind): Rename is_openacc argument to short_mapkind.
240 (gomp_map_pointer): Use gomp_map_lookup.
241 (gomp_map_fields_existing): New function.
242 (gomp_map_vars): Rename is_openacc argument to short_mapkind
243 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
244 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
245 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
246 Adjust for tgt->list changed type and copy_from living in there.
247 (gomp_copy_from_async): Adjust for tgt->list changed type and
248 copy_from living in there.
249 (gomp_unmap_vars): Likewise.
250 (gomp_update): Likewise. Rename is_openacc argument to
251 short_mapkind. Don't fail if object is not mapped.
252 (gomp_load_image_to_device): Initialize refcount to
253 REFCOUNT_INFINITY.
254 (gomp_target_fallback): New function.
255 (gomp_get_target_fn_addr): Likewise.
256 (GOMP_target): Adjust gomp_map_vars caller, use
257 gomp_get_target_fn_addr and gomp_target_fallback.
258 (GOMP_target_41): New function.
259 (gomp_target_data_fallback): New function.
260 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
261 (GOMP_target_data_41): New function.
262 (GOMP_target_update): Adjust gomp_update caller.
263 (GOMP_target_update_41): New function.
264 (gomp_exit_data, GOMP_target_enter_exit_data,
265 gomp_target_task_fn, omp_target_alloc, omp_target_free,
266 omp_target_is_present, omp_target_memcpy,
267 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
268 omp_target_associate_ptr, omp_target_disassociate_ptr,
269 gomp_load_plugin_for_device): New functions.
270 * task.c: Include gomp-constants.h. Include taskloop.c
271 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
272 (gomp_task_handle_depend): New function.
273 (GOMP_task): Use it. Add priority argument. Use
274 gomp-constant.h constants instead of hardcoded numbers.
275 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
276 (gomp_create_target_task): New function.
277 (verify_children_queue, verify_taskgroup_queue,
278 verify_task_queue): New functions.
279 (gomp_task_run_pre): Call verify_*_queue functions.
280 If an upcoming tied task is about to leave the sibling or
281 taskgroup queues in an invalid state, adjust appropriately.
282 Remove taskgroup argument. Add comments.
283 (gomp_task_run_post_handle_dependers): Add comments.
284 (gomp_task_run_post_remove_parent): Likewise.
285 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
286 (GOMP_taskwait): Likewise. Add comments.
287 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
288 problem such that the first non parent_depends_on task does not
289 end up at the end of the children queue.
290 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
291 GOMP_TASK_UNDEFERRED.
292 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
293 * taskloop.c: New file.
294 * testsuite/lib/libgomp.exp
295 (check_effective_target_offload_device_nonshared_as): New proc.
296 * testsuite/libgomp.c/affinity-2.c: New test.
297 * testsuite/libgomp.c/doacross-1.c: New test.
298 * testsuite/libgomp.c/doacross-2.c: New test.
299 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
300 Add map clause to target.
301 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
302 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
303 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
304 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
305 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
306 Likewise.
307 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
308 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
309 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
310 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
311 not defined. Use those where needed.
312 * testsuite/libgomp.c/for-4.c: New test.
313 * testsuite/libgomp.c/for-5.c: New test.
314 * testsuite/libgomp.c/for-6.c: New test.
315 * testsuite/libgomp.c/linear-1.c: New test.
316 * testsuite/libgomp.c/ordered-4.c: New test.
317 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
318 only allowed on the loop iterator.
319 * testsuite/libgomp.c/pr66199-3.c: New test.
320 * testsuite/libgomp.c/pr66199-4.c: New test.
321 * testsuite/libgomp.c/reduction-7.c: New test.
322 * testsuite/libgomp.c/reduction-8.c: New test.
323 * testsuite/libgomp.c/reduction-9.c: New test.
324 * testsuite/libgomp.c/reduction-10.c: New test.
325 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
326 map(tofrom:s).
327 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
328 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
329 * testsuite/libgomp.c/target-11.c: New test.
330 * testsuite/libgomp.c/target-12.c: New test.
331 * testsuite/libgomp.c/target-13.c: New test.
332 * testsuite/libgomp.c/target-14.c: New test.
333 * testsuite/libgomp.c/target-15.c: New test.
334 * testsuite/libgomp.c/target-16.c: New test.
335 * testsuite/libgomp.c/target-17.c: New test.
336 * testsuite/libgomp.c/target-18.c: New test.
337 * testsuite/libgomp.c/target-19.c: New test.
338 * testsuite/libgomp.c/target-20.c: New test.
339 * testsuite/libgomp.c/target-21.c: New test.
340 * testsuite/libgomp.c/target-22.c: New test.
341 * testsuite/libgomp.c/target-23.c: New test.
342 * testsuite/libgomp.c/target-24.c: New test.
343 * testsuite/libgomp.c/target-25.c: New test.
344 * testsuite/libgomp.c/target-26.c: New test.
345 * testsuite/libgomp.c/target-27.c: New test.
346 * testsuite/libgomp.c/taskloop-1.c: New test.
347 * testsuite/libgomp.c/taskloop-2.c: New test.
348 * testsuite/libgomp.c/taskloop-3.c: New test.
349 * testsuite/libgomp.c/taskloop-4.c: New test.
350 * testsuite/libgomp.c++/ctor-13.C: New test.
351 * testsuite/libgomp.c++/doacross-1.C: New test.
352 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
353 Replace offload_device with offload_device_nonshared_as.
354 * testsuite/libgomp.c++/for-12.C: New test.
355 * testsuite/libgomp.c++/for-13.C: New test.
356 * testsuite/libgomp.c++/for-14.C: New test.
357 * testsuite/libgomp.c++/linear-1.C: New test.
358 * testsuite/libgomp.c++/member-1.C: New test.
359 * testsuite/libgomp.c++/member-2.C: New test.
360 * testsuite/libgomp.c++/member-3.C: New test.
361 * testsuite/libgomp.c++/member-4.C: New test.
362 * testsuite/libgomp.c++/member-5.C: New test.
363 * testsuite/libgomp.c++/ordered-1.C: New test.
364 * testsuite/libgomp.c++/reduction-5.C: New test.
365 * testsuite/libgomp.c++/reduction-6.C: New test.
366 * testsuite/libgomp.c++/reduction-7.C: New test.
367 * testsuite/libgomp.c++/reduction-8.C: New test.
368 * testsuite/libgomp.c++/reduction-9.C: New test.
369 * testsuite/libgomp.c++/reduction-10.C: New test.
370 * testsuite/libgomp.c++/reference-1.C: New test.
371 * testsuite/libgomp.c++/simd14.C: New test.
372 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
373 * testsuite/libgomp.c++/target-5.C: New test.
374 * testsuite/libgomp.c++/target-6.C: New test.
375 * testsuite/libgomp.c++/target-7.C: New test.
376 * testsuite/libgomp.c++/target-8.C: New test.
377 * testsuite/libgomp.c++/target-9.C: New test.
378 * testsuite/libgomp.c++/target-10.C: New test.
379 * testsuite/libgomp.c++/target-11.C: New test.
380 * testsuite/libgomp.c++/target-12.C: New test.
381 * testsuite/libgomp.c++/taskloop-1.C: New test.
382 * testsuite/libgomp.c++/taskloop-2.C: New test.
383 * testsuite/libgomp.c++/taskloop-3.C: New test.
384 * testsuite/libgomp.c++/taskloop-4.C: New test.
385 * testsuite/libgomp.c++/taskloop-5.C: New test.
386 * testsuite/libgomp.c++/taskloop-6.C: New test.
387 * testsuite/libgomp.c++/taskloop-7.C: New test.
388 * testsuite/libgomp.c++/taskloop-8.C: New test.
389 * testsuite/libgomp.c++/taskloop-9.C: New test.
390 * testsuite/libgomp.fortran/affinity1.f90: New test.
391 * testsuite/libgomp.fortran/affinity2.f90: New test.
392
1f600fea
TV
3932015-10-13 Tom de Vries <tom@codesourcery.com>
394
395 PR tree-optimization/67476
396 * testsuite/libgomp.c/autopar-3.c: New test.
397 * testsuite/libgomp.c/autopar-4.c: New test.
398 * testsuite/libgomp.c/autopar-5.c: New test.
399 * testsuite/libgomp.c/autopar-6.c: New test.
400 * testsuite/libgomp.c/autopar-7.c: New test.
401 * testsuite/libgomp.c/autopar-8.c: New test.
402
058a654b
JN
4032015-10-12 James Norris <jnorris@codesourcery.com>
404
405 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
406 initializer.
407
9e531d37
DM
4082015-10-09 David Malcolm <dmalcolm@redhat.com>
409
410 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
411 using load_gcc_lib.
412
113020dc
TS
4132015-10-02 Thomas Schwinge <thomas@codesourcery.com>
414
415 * oacc-ptx.h: Remove file, moving its content into...
416 * config/nvptx/fortran.c: ... here...
417 * config/nvptx/oacc-init.c: ..., here...
418 * config/nvptx/oacc-parallel.c: ..., and here.
419 * config/nvptx/openacc.f90: New file.
420 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
421 (link_ptx): Don't link in predefined bits of PTX code.
422
cc3cd79b
NS
4232015-09-30 Nathan Sidwell <nathan@codesourcery.com>
424 Bernd Schmidt <bernds@codesourcery.com>
425
426 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
427 (struct targ_ptx_obj): New.
428 (nvptx_tdata): Move earlier, change data format.
429 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
430 objects.
431 (GOMP_OFFLOAD_load_image): Adjust.
432
4e2a5450
TS
4332015-09-30 Thomas Schwinge <thomas@codesourcery.com>
434
435 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
436 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
437 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
438 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
439 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
440 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
441 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
442 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
443 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
444 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
445 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
446 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
447 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
448 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
449 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
450 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
451 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
452 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
453 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
454 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
455 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
456 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
457 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
458 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
459 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
460 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
461 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
462 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
463 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
464 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
465 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
466 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
467 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
468 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
469 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
470 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
471 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
472 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
473 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
474 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
475 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
476 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
477 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
478 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
479 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
480 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
481 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
482 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
483 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
485 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
486 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
487 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
488 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
489 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
490 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
491 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
492 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
493 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
494 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
495 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
496 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
497 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
498
164453bb
NS
4992015-09-29 Nathan Sidwell <nathan@codesourcery.com>
500
501 * oacc-init.c (acc_on_device): Force optimization level.
502
a12a0437
NS
5032015-09-29 Nathan Sidwell <nathan@codesourcery.com>
504
505 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
506 (cuda_errlist): Delete.
507 (cuda_error): Reimplement.
508
3e32ee19
NS
5092015-09-28 Nathan Sidwell <nathan@codesourcery.com>
510
511 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
512 array.
513 * libgomp.map (GOACC_parallel_keyed): New.
514 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
515 all callers.
516 (GOACC_parallel_keyed): New interface. Lose geometry arguments
517 and take keyed varargs list. Adjust call to exec_func.
518 (GOACC_parallel): Force host fallback.
519 * libgomp_g.h (GOACC_parallel): Remove.
520 (GOACC_parallel_keyed): Declare.
521 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
522 (stuct targ_gn_descriptor): Replace name field with launch field.
523 (nvptx_exec): Lose separate geometry args, take array. Process
524 dynamic dimensions and adjust.
525 (struct nvptx_tdata): Replace fn_names field with fn_descs.
526 (GOMP_OFFLOAD_load_image): Adjust for change in function table
527 data.
528 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
529 passing.
530 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
531 passing.
532
6bb4c3e2
CLT
5332015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
534
535 PR libgomp/67141
536 * oacc-int.h (goacc_host_init): Add declaration.
537 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
538 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
539
74032f47
AK
5402015-09-08 Aditya Kumar <hiraditya@msn.com>
541 Sebastian Pop <s.pop@samsung.com>
542
543 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
544 match o/p.
545 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
546 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
547 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
548 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
549 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
550
97875f4a
JJ
5512015-09-03 Jakub Jelinek <jakub@redhat.com>
552
553 * configure.tgt: Add missing ;; in between nvptx and rtems
554 snippets.
555
06441dd5
SH
5562015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
557
558 * config/posix/pool.h (gomp_adjust_thread_attr): New.
559 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
560 (gomp_thread_pool_reservoir): Add priority member.
561 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
562 priority.
563 (parse_thread_pools): Likewise.
564 * team.c (gomp_team_start): Call configuration provided
565 gomp_adjust_thread_attr(). Destroy thread attributes if
566 necessary.
567 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
568
66c59f92
SH
5692015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
570
571 * config/posix/pool.h: New.
572 * config/rtems/pool.h: Likewise.
573 * config/rtems/proc.c: Likewise.
574 * libgomp.h (gomp_thread_destructor): Declare.
575 * team.c: Include configuration provided "pool.h".
576 (gomp_get_thread_pool): Define in configuration.
577 (gomp_team_end): Call configuration defined
578 gomp_release_thread_pool().
579
13c41b2e
SH
5802015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
581
582 * config/rtems/bar.c: New.
583 * config/rtems/bar.h: Likewise.
584 * config/rtems/mutex.c: Likewise.
585 * config/rtems/mutex.h: Likewise.
586 * config/rtems/sem.c: Likewise.
587 * config/rtems/sem.h: Likewise.
588 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
589 <sys/lock.h> header file.
590 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
591 supported by Newlib.
592 * configure: Regenerate.
593
7892ec67
SH
5942015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
595
596 * team.c (gomp_new_thread_pool): Delete and move content to ...
597 (gomp_get_thread_pool): ... new function. Allocate and
598 initialize thread pool on demand.
599 (get_last_team): Use gomp_get_thread_pool().
600 (gomp_team_start): Delete thread pool initialization.
601
1b96e9a4
TV
6022015-09-03 Tom de Vries <tom@codesourcery.com>
603
604 PR tree-optimization/65637
605 * testsuite/libgomp.c/autopar-2.c: New test.
606
3ff2d74e
TV
6072015-08-29 Tom de Vries <tom@codesourcery.com>
608
609 PR tree-optimization/46193
610 * testsuite/libgomp.c/pr46193.c: New test.
611
2a21ff19
NS
6122015-08-24 Nathan Sidwell <nathan@codesourcery.com>
613
614 libgomp/
615 * libgomp.map: Add 4.0.2 version.
616 * target.c (offload_image_descr): Add version field.
617 (gomp_load_image_to_device): Add version argument. Adjust plugin
618 call. Improve load mismatch diagnostic.
619 (gomp_unload_image_from_device): Add version argument. Adjust plugin
620 call.
621 (GOMP_offload_regster): Make stub function, move bulk to ...
622 (GOMP_offload_register_ver): ... here. Process version argument.
623 (GOMP_offload_unregister): Make stub function, move bulk to ...
624 (GOMP_offload_unregister_ver): ... here. Process version argument.
625 (gomp_init_device): Process version field.
626 (gomp_unload_device): Process version field.
627 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
628 macros. Check plugin version.
629 * libgomp.h (gomp_device_descr): Add version function field. Adjust
630 loader and unloader types.
631 * oacc-host.c: Include gomp-constants.h.
632 (host_version): New.
633 (host_load_image, host_unload_image): Adjust.
634 (host_dispatch): Add host_version.
635 * plugin/plugin-nvptx.c: Include gomp-constants.h.
636 (GOMP_OFFLOAD_version): New.
637 (GOMP_OFFLOAD_load_image): Add version arg and check it.
638 (GOMP_OFFLOAD_unload_image): Likewise.
639 * plugin/plugin-host.c: Include gomp-constants.h.
640 (GOMP_OFFLOAD_version): New.
641 (GOMP_OFFLOAD_load_image): Add version arg.
642 (GOMP_OFFLOAD_unload_image): Likewise.
643
1358a747
TV
6442015-08-24 Tom de Vries <tom@codesourcery.com>
645
646 PR tree-optimization/65468
647 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
648
6be5c241
TV
6492015-08-24 Tom de Vries <tom@codesourcery.com>
650
651 PR tree-optimization/65468
652 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
653
bfe7ac89
JV
6542015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
655
656 PR libgomp/66761
657 PR libgomp/67303
658 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
659 (gomp_iter_guided_next): Idem.
660 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
661 (gomp_iter_ull_guided_next): Idem.
662 * config/linux/wait.h (do_spin): Idem.
663
b97e78b7
TS
6642015-08-10 Thomas Schwinge <thomas@codesourcery.com>
665
666 * libgomp-plugin.h (enum offload_target_type): Remove
667 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
668 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
669 * openacc.h (enum acc_device_t): Likewise.
670 * openacc_lib.h: Likewise.
671 * oacc-init.c (name_of_acc_device_t): Don't handle it.
672 (acc_on_device): Just use __builtin_acc_on_device.
673 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
674 of acc_on_device builtin.
675 * plugin/plugin-host.h: Remove file.
676 * plugin/plugin-host.c: Likewise, but salvage some content into...
677 * oacc-host.c: ... this file.
678 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
679 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
680 * Makefile.in: Regenerate.
681 * configure: Likewise.
682 * testsuite/lib/libgomp.exp
683 (check_effective_target_openacc_host_nonshm_selected): Remove.
684 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
685 ACC_DEVICE_TYPE=host_nonshm.
686 * testsuite/libgomp.oacc-c/c.exp: Likewise.
687 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
688 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
689 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
690 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
691 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
692
44a7d18d
TS
6932015-08-10 Thomas Schwinge <thomas@codesourcery.com>
694 Jakub Jelinek <jakub@redhat.com>
695
696 * config/nvptx/affinity.c: New file.
697 * config/nvptx/alloc.c: Likewise.
698 * config/nvptx/bar.c: Likewise.
699 * config/nvptx/barrier.c: Likewise.
700 * config/nvptx/critical.c: Likewise.
701 * config/nvptx/env.c: Likewise.
702 * config/nvptx/error.c: Likewise.
703 * config/nvptx/fortran.c: Likewise.
704 * config/nvptx/iter.c: Likewise.
705 * config/nvptx/iter_ull.c: Likewise.
706 * config/nvptx/libgomp-plugin.c: Likewise.
707 * config/nvptx/lock.c: Likewise.
708 * config/nvptx/loop.c: Likewise.
709 * config/nvptx/loop_ull.c: Likewise.
710 * config/nvptx/mutex.c: Likewise.
711 * config/nvptx/oacc-async.c: Likewise.
712 * config/nvptx/oacc-cuda.c: Likewise.
713 * config/nvptx/oacc-host.c: Likewise.
714 * config/nvptx/oacc-init.c: Likewise.
715 * config/nvptx/oacc-mem.c: Likewise.
716 * config/nvptx/oacc-parallel.c: Likewise.
717 * config/nvptx/oacc-plugin.c: Likewise.
718 * config/nvptx/omp-lock.h: Likewise.
719 * config/nvptx/ordered.c: Likewise.
720 * config/nvptx/parallel.c: Likewise.
721 * config/nvptx/proc.c: Likewise.
722 * config/nvptx/ptrlock.c: Likewise.
723 * config/nvptx/sections.c: Likewise.
724 * config/nvptx/sem.c: Likewise.
725 * config/nvptx/single.c: Likewise.
726 * config/nvptx/splay-tree.c: Likewise.
727 * config/nvptx/target.c: Likewise.
728 * config/nvptx/task.c: Likewise.
729 * config/nvptx/team.c: Likewise.
730 * config/nvptx/time.c: Likewise.
731 * config/nvptx/work.c: Likewise.
732 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
733 * configure: Regenerate.
734 * configure.tgt (config_path): Set to "nvptx" for target
735 nvptx*-*-*.
736
96a2d174
TS
7372015-08-10 Thomas Schwinge <thomas@codesourcery.com>
738
739 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
740
9ebddeb0
NS
7412015-08-03 Nathan Sidwell <nathan@codesourcery.com>
742
743 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
744 (cuda_errlist): Constify.
745 (errmsg): Move into ...
746 (cuda_error): ... here. Make smaller.
747 (_XSTR, _STR): Delete.
748 (cuda_synames): Delete.
749 (verify_device_library): Delete.
750 (nvptx_init): Don't call it.
751
12efb1d7
TV
7522015-07-28 Tom de Vries <tom@codesourcery.com>
753
754 * testsuite/libgomp.c/uns-outer-4.c: New test.
755
710ee218
CP
7562015-07-24 Cesar Philippidis <cesar@codesourcery.com>
757
758 * testsuite/libgomp.c/pr66714.c: New test.
759
27c4ac7d
MB
7602015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
761
762 PR libgomp/66950
763 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
764 (fib_ref): New function.
765 (fib): Correct corner cases in the recursion.
766 (main): Replace the non-simd loop with fib_ref call.
767 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
768 subroutine.
769 (fibonacci): Lower the parameter N to 30. Correct accordingly check
770 for the last array element value. Replace the non-simd loop with
771 fib_ref call. Remove redundant b_ref array. Remove the comparison
772 of the last array element with according Fibonacci sequence element.
773 (fib): Correct corner cases in the recursion.
774
22be2349
NS
7752015-07-21 Nathan Sidwell <nathan@codesourcery.com>
776
777 * target.c (gomp_offload_image_to_device): Rename to ...
778 (gomp_load_image_to_device): ... here.
779 (GOMP_offload_register): Adjust call.
780 (gomp_init_device): Likewise.
781 (gomp_unload_image_from_device): New. Broken out of ...
782 (GOMP_offload_unregister): ... here. Call it.
783 (gomp_unload_device): New.
784 * libgomp.h (gomp_unload_device): Declare.
785 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
786 mem maps.
787
f3e9a059
NS
7882015-07-20 Nathan Sidwell <nathan@codesourcery.com>
789
a091118d
NS
790 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
791 wait=-specific if.
792 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
793 !=0 condition.
794 (goacc_waits): Move !num_waits handling to ...
795 (GOACC_wait): ... here, the only caller that might have zero waits.
796
f3e9a059
NS
797 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
798 (struct ptx_image_data): Move earlier, add fns field.
799 (struct ptx_device): Add images and image_lock fields.
800 (ptx_images, ptx_image_lock): Delete.
801 (nvptx_open_device): Initialize images and image_lock fields.
802 (nvptx_close_device): Destroy image_lock.
803 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
804 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
805 fields.
806
afb2d80b
NS
8072015-07-17 Nathan Sidwell <nathan@codesourcery.com>
808
896c28a7
NS
809 * target.c (GOMP_offload_register): Use int for device type arg.
810 (GOMP_offload_unregister): Likewise.
811
ebe4a560
NS
812 * target.c (struct_offload_image_descr): Constify host_table.
813 (gomp_offload_image_to_device): Likewise.
814 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
815
afb2d80b
NS
816 * libgomp.h (gomp_device_descr): Constify target data arguments.
817 * target.c (struct offload_image_descr): Constify target_data.
818 (gomp_offload_image_to_device): Likewise.
819 (GOMP_offload_register): Likewise.
820 (GOMP_offload_unrefister): Likewise.
821 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
822 GOMP_OFFLOAD_unload_image): Constify target data.
823 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
824 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
825
a4cb876d
NS
8262015-07-16 Nathan Sidwell <nathan@codesourcery.com>
827
828 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
829 Workaround driver library const error.
830 (struct nvptx_tdata, nvptx_tdata_t): New.
831 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
832 type.
833
28ef6a27
MB
8342015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
835
836 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
837 of EPS parameter from integer to real.
838 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
839 type of EPS parameter from integer to real.
840
6dba0113
SH
8412015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
842
843 * team.c (get_last_team): New.
844 (gomp_new_team): Recycle last non-nested team if possible.
845 (gomp_team_end): Move team work share list free lock destruction
846 to ...
847 (free_team): ... here.
848
4c1cb4da
MB
8492015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
850
851 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
852 and ref from int to double. Replaced their comparison with
853 an inequality of their difference and EPS.
854 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
855 comparison of pri and a reference number with an inequality of their
856 difference and EPS.
857 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
858 the comparison of sum and sum_ref with an inequality of their
859 difference and EPS.
860 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
861 the comparison of pri and a reference number with an inequality of
862 their difference and EPS.
863
343587dc
MB
8642015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
865
866 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
867 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
868 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
869 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
870 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
871 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
872 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
873 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
874 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
875 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
876 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
877 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
878 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
879 variables.
880 (vec_mult): Likewise. Add #pragma omp taskwait.
881 (main): Adjust caller.
882 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
883 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
884 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
885 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
886 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
887 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
888 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
889 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
890 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
891 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
892 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
893 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
894 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
895 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
896 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
897 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
898 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
899 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
900 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
901 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
902 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
903 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
904 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
905 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
906 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
907 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
908 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
909 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
910 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
911 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
912 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
913 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
914 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
915 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
916 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
917 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
918 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
919 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
920 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
921 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
922 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
923 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
924 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
925 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
926 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
927 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
928 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
929 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
930 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
931 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
932 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
933 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
934 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
935 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
936 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
937 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
938 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
939 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
940 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
941 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
942 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
943 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
944 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
945 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
946 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
947 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
948 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
949 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
950 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
951 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
952 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
953 (vec_mult): Add !$omp taskwait.
954 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
955 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
956 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
957 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
958 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
959 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
960 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
961 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
962 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
963 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
964 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
965 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
966 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
967 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
968 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
969 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
970 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
971 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
972 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
973 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
974 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
975 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
976 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
977 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
978 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
979 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
980 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
981 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
982 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
983 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
984 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
985 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
986 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
987 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
988 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
989 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
990 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
991 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
992 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
993 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
994 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
995 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
996 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
997 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
998 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
999 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
1000 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
1001 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
1002 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
1003 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
1004 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
1005 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
1006 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
1007 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
1008 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
1009 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
1010 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
1011 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
1012 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
1013 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
1014 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
1015 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
1016 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
1017 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
1018 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
1019 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
1020 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
1021
9f620bf1
TV
10222015-07-10 Tom de Vries <tom@codesourcery.com>
1023
1024 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
1025 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
1026
a92defda
TS
10272015-07-08 Thomas Schwinge <thomas@codesourcery.com>
1028
1029 PR libgomp/65099
1030 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
1031 in a 64-bit configuration.
1032 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
1033 offloading testing if no such device is available.
1034 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1035 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1036
cadb53a5
TV
10372015-07-08 Tom de Vries <tom@codesourcery.com>
1038
1039 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
1040 second call to f.
1041 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1042
712cb0bb
TV
10432015-07-07 Tom de Vries <tom@codesourcery.com>
1044
1045 PR tree-optimization/66642
1046 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
1047 iteration count case.
1048 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
1049 function, factor out of ...
1050 (main): ... here. Test low iteration count case.
1051
e5210c77
SH
10522015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
1053
1054 * libgomp.h (gomp_thread_pool): Comment last_team field.
1055
f70360e7
UB
10562015-07-02 Uros Bizjak <ubizjak@gmail.com>
1057
1058 * testsuite/libgomp.c++/pr66702-1.C: Require
1059 vect_simd_clones effective target.
1060 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
1061
b451c271
TV
10622015-06-30 Tom de Vries <tom@codesourcery.com>
1063
1064 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
1065 already set. Use DEFAULT_CFLAGS in dg-runtest.
1066 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
1067 "-O2".
1068
f8e89d9f
TV
10692015-06-30 Tom de Vries <tom@codesourcery.com>
1070
1071 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
1072 already set. Use DEFAULT_CFLAGS in dg-runtest.
1073 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
1074 * testsuite/libgomp.c++/pr64824.C: Same.
1075 * testsuite/libgomp.c++/pr64868.C: Same.
1076 * testsuite/libgomp.c++/pr66199-1.C: Same.
1077 * testsuite/libgomp.c++/pr66199-2.C: Same.
1078 * testsuite/libgomp.c++/target-2.C: Same.
1079 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
1080 -std=<standard> option.
1081 * testsuite/libgomp.c++/udr-11.C: Same.
1082 * testsuite/libgomp.c++/udr-12.C: Same.
1083 * testsuite/libgomp.c++/udr-13.C: Same.
1084 * testsuite/libgomp.c++/udr-14.C: Same.
1085 * testsuite/libgomp.c++/udr-15.C: Same.
1086 * testsuite/libgomp.c++/udr-16.C: Same.
1087 * testsuite/libgomp.c++/udr-17.C: Same.
1088 * testsuite/libgomp.c++/udr-18.C: Same.
1089 * testsuite/libgomp.c++/udr-19.C: Same.
1090 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
1091 * testsuite/libgomp.c++/simd-1.C: Same.
1092 * testsuite/libgomp.c++/simd-2.C: Same.
1093 * testsuite/libgomp.c++/simd-3.C: Same.
1094 * testsuite/libgomp.c++/simd-4.C: Same.
1095 * testsuite/libgomp.c++/simd-5.C: Same.
1096 * testsuite/libgomp.c++/simd-6.C: Same.
1097 * testsuite/libgomp.c++/simd-7.C: Same.
1098 * testsuite/libgomp.c++/simd-8.C: Same.
1099 * testsuite/libgomp.c++/simd-9.C: Same.
1100 * testsuite/libgomp.c++/simd10.C: Same.
1101 * testsuite/libgomp.c++/simd11.C: Same.
1102 * testsuite/libgomp.c++/simd12.C: Same.
1103 * testsuite/libgomp.c++/simd13.C: Same.
1104
3446fe48
JJ
11052015-06-30 Jakub Jelinek <jakub@redhat.com>
1106
1107 PR middle-end/66702
1108 * testsuite/libgomp.c++/pr66702-1.C: New test.
1109 * testsuite/libgomp.c++/pr66702-2.C: New test.
1110
8a36714a
TV
11112015-06-30 Tom de Vries <tom@codesourcery.com>
1112
1113 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
1114 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
1115 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
1116 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
1117
4f75d608
TV
11182015-06-30 Tom de Vries <tom@codesourcery.com>
1119
1120 PR tree-optimization/66652
1121 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
1122 using restrict pointers.
1123 (main): Add arguments to calls to f.
1124 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1125
6d9d1eeb
AT
11262015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
1127
1128 * configure.ac: Fix check for header <sys/sysctl.h>.
1129 * configure: Regenerate.
1130 * config.h.in: Likewise.
1131
1222f22b
TV
11322015-06-23 Tom de Vries <tom@codesourcery.com>
1133
1134 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
1135 abort.
1136 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
1137
d7efbbf6
TS
11382015-06-19 Thomas Schwinge <thomas@codesourcery.com>
1139
bfcd036f
TS
1140 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
1141 acc_device_nvidia.
1142
d7efbbf6
TS
1143 PR libgomp/66518
1144 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
1145 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1146
d7bfc710
TV
11472015-06-15 Tom de Vries <tom@codesourcery.com>
1148
1149 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
1150 dg-additional-options for any remaining options.
1151 * testsuite/libgomp.c/atomic-2.c: Same.
1152 * testsuite/libgomp.c/atomic-4.c: Same.
1153 * testsuite/libgomp.c/atomic-5.c: Same.
1154 * testsuite/libgomp.c/atomic-6.c: Same.
1155 * testsuite/libgomp.c/autopar-1.c: Same.
1156 * testsuite/libgomp.c/copyin-1.c: Same.
1157 * testsuite/libgomp.c/copyin-2.c: Same.
1158 * testsuite/libgomp.c/copyin-3.c: Same.
1159 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
1160 * testsuite/libgomp.c/nestedfn-5.c: Same.
1161 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
1162 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
1163 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
1164 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1165 * testsuite/libgomp.c/pr32362-1.c: Same.
1166 * testsuite/libgomp.c/pr32362-2.c: Same.
1167 * testsuite/libgomp.c/pr32362-3.c: Same.
1168 * testsuite/libgomp.c/pr39591-1.c: Same.
1169 * testsuite/libgomp.c/pr39591-2.c: Same.
1170 * testsuite/libgomp.c/pr39591-3.c: Same.
1171 * testsuite/libgomp.c/pr58392.c: Same.
1172 * testsuite/libgomp.c/pr58756.c: Same.
1173 * testsuite/libgomp.c/simd-1.c: Same.
1174 * testsuite/libgomp.c/simd-10.c: Same.
1175 * testsuite/libgomp.c/simd-11.c: Same.
1176 * testsuite/libgomp.c/simd-12.c: Same.
1177 * testsuite/libgomp.c/simd-13.c: Same.
1178 * testsuite/libgomp.c/simd-14.c: Same.
1179 * testsuite/libgomp.c/simd-15.c: Same.
1180 * testsuite/libgomp.c/simd-2.c: Same.
1181 * testsuite/libgomp.c/simd-3.c: Same.
1182 * testsuite/libgomp.c/simd-4.c: Same.
1183 * testsuite/libgomp.c/simd-5.c: Same.
1184 * testsuite/libgomp.c/simd-6.c: Same.
1185 * testsuite/libgomp.c/simd-7.c: Same.
1186 * testsuite/libgomp.c/simd-8.c: Same.
1187 * testsuite/libgomp.c/simd-9.c: Same.
1188
fb5b5352
TV
11892015-06-15 Tom de Vries <tom@codesourcery.com>
1190
1191 * testsuite/libgomp.c/pr35625.c: Fix typo.
1192
ca431bef
TV
11932015-06-15 Tom de Vries <tom@codesourcery.com>
1194
1195 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
1196 in dg-options.
1197 * testsuite/libgomp.c/atomic-3.c: Same.
1198 * testsuite/libgomp.c/debug-1.c: Same.
1199 * testsuite/libgomp.c/nqueens-1.c: Same.
1200 * testsuite/libgomp.c/pr26171.c: Same.
1201 * testsuite/libgomp.c/pr48591.c: Same.
1202 * testsuite/libgomp.c/pr64824.c: Same.
1203 * testsuite/libgomp.c/pr64868.c: Same.
1204 * testsuite/libgomp.c/pr66133.c: Same.
1205 * testsuite/libgomp.c/pr66199-1.c: Same.
1206 * testsuite/libgomp.c/pr66199-2.c: Same.
1207 * testsuite/libgomp.c/target-8.c: Same.
1208
0d8a9e20
TV
12092015-06-15 Tom de Vries <tom@codesourcery.com>
1210
1211 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
1212 -std={gnu99,c99}.
1213 * testsuite/libgomp.c/for-1.c: Same.
1214 * testsuite/libgomp.c/for-2.c: Same.
1215 * testsuite/libgomp.c/for-3.c: Same.
1216 * testsuite/libgomp.c/pr35625.c: Same.
1217 * testsuite/libgomp.c/pr39154.c: Same.
1218 * testsuite/libgomp.c/simd-16.c: Same.
1219 * testsuite/libgomp.c/simd-17.c: Same.
1220
a6860be9
TV
12212015-06-13 Tom de Vries <tom@codesourcery.com>
1222
1223 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
1224
ab3306d2
TV
12252015-06-13 Tom de Vries <tom@codesourcery.com>
1226
1227 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
1228 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
1229 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
1230 (N): Define.
1231 (main): Use N instead of hardcoded constants.
1232
7c82d827
TV
12332015-06-05 Tom de Vries <tom@codesourcery.com>
1234
1235 merge from gomp4 branch:
1236 2015-05-28 Tom de Vries <tom@codesourcery.com>
1237
1238 PR tree-optimization/65443
1239 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
1240 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
1241 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
1242
c469078d
BRF
12432015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1244
1245 * testsuite/libgomp.graphite/bounds.c: Adjust for
1246 cleanup-tree-dump removal.
1247 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
1248 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1249 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1250 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
1251 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1252 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1253 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1254 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1255 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1256 * testsuite/libgomp.graphite/pr41118.c: Likewise.
1257
bb3caa35
UB
12582015-05-28 Uros Bizjak <ubizjak@gmail.com>
1259
1260 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
1261 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
1262 (futex_wake) [!__x86_64__]: Ditto.
1263
9fb5fd44
JB
12642015-05-28 Julian Brown <julian@codesourcery.com>
1265
1266 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
1267 function comment. Only call gomp_fatal if new argument is true.
1268 (acc_dev_num_out_of_range): New function.
1269 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
1270 acc_dev_num_out_of_range as appropriate.
1271 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
1272 (acc_get_device_num, acc_set_device_num): Update calls to
1273 resolve_device.
9fb5fd44
JB
1274 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
1275 output.
1276
32eaed93
JB
12772015-05-28 Julian Brown <julian@codesourcery.com>
1278
1279 PR libgomp/65742
32eaed93
JB
1280 * oacc-init.c (plugin/plugin-host.h): Include.
1281 (acc_on_device): Check whether we're in an offloaded region for
1282 host_nonshm
1283 plugin. Don't use __builtin_acc_on_device.
1284 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
1285 nonshm_exec flag in thread-local data.
1286 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
1287 data for host_nonshm plugin.
1288 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
1289 for host_nonshm plugin.
1290 * plugin/plugin-host.h: New.
1291
ea023bcf
UB
12922015-05-27 Uros Bizjak <ubizjak@gmail.com>
1293
8ed501f1
UB
1294 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
1295
12962015-05-27 Uros Bizjak <ubizjak@gmail.com>
1297
1298 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
1299 Declare as int.
1300 (FUTEX_PRIVATE_FLAG): Remove L suffix.
1301 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
1302 Declare as int.
1303
13042015-05-27 Uros Bizjak <ubizjak@gmail.com>
1305
bb3caa35 1306 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 1307
1716efeb
CLT
13082015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
1309
1310 * target.c (gomp_map_pointer): New function abstracting out
1311 GOMP_MAP_POINTER handling.
1312 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
1313 gomp_map_pointer().
1314
41b37d5e
JJ
13152015-05-19 Jakub Jelinek <jakub@redhat.com>
1316
1317 PR middle-end/66199
1318 * testsuite/libgomp.c/pr66199-1.c: New test.
1319 * testsuite/libgomp.c/pr66199-2.c: New test.
1320 * testsuite/libgomp.c++/pr66199-1.C: New test.
1321 * testsuite/libgomp.c++/pr66199-2.C: New test.
1322 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
1323 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
1324
c8319826
JB
13252015-05-19 Julian Brown <julian@codesourcery.com>
1326
1327 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
1328 on cuInit failure.
1329
b37dddbc
JJ
13302015-05-13 Jakub Jelinek <jakub@redhat.com>
1331
1332 PR middle-end/66133
1333 * testsuite/libgomp.c/pr66133.c: New test.
1334
55fba601
MH
13352015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
1336
1337 * Makefile.in: Regenerated with automake-1.11.6.
1338 * aclocal.m4: Likewise.
1339 * config.h.in: Likewise.
1340 * configure: Likewise.
1341 * testsuite/Makefile.in: Likewise.
1342
1be0899d
JM
13432015-05-08 Jason Merrill <jason@redhat.com>
1344
1345 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
1346 _Complex.
1347
1348 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
1349
d2463960
JB
13502015-05-06 Julian Brown <julian@codesourcery.com>
1351
1352 * oacc-init.c (acc_device_lock): Add explanatory comment.
1353 (resolve_device): Add comment about locking requirement.
1354 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
1355 gomp_init_device and gomp_fini_device calls.
1356 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
1357 (acc_get_device_num, acc_set_device_num): Add locking around
1358 resolve_device and gomp_init_device calls.
1359
e38fdba4
JB
13602015-05-06 Julian Brown <julian@codesourcery.com>
1361
1362 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
1363 goacc_thread_lock on error paths.
1364 * oacc-mem.c (lookup_host): Remove locking from function. Note
1365 locking requirement for caller in function comment.
1366 (lookup_dev): Likewise.
1367 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
1368 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
1369 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1370 Add locking.
1371
ae8ffbbb
TS
13722015-05-05 Thomas Schwinge <thomas@codesourcery.com>
1373
1374 PR testsuite/65205
1375 PR libgomp/65993
1376 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
1377 don't expect "0x" prefix for "%p" format specifier, don't expect
1378 "(nil)" for NULL pointer.
1379 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1380 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1381 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1382 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1383 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1384 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1386 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1387 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1388 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1389 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1390 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1391 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1392 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1393 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1394 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1395 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1396 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1397 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1398 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1399 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1400 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1401 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1403 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1404 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1406 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1407 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
1408 accurately specify what we're looking for.
1409 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1410 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1411 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1412 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1413 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1414
1309f1d2
JN
14152015-04-30 James Norris <jnorris@codesourcery.com>
1416
1417 PR testsuite/65205
1418 * testsuite/lib/libgomp.exp
1419 (check_effective_target_openacc_host_selected)
1420 (check_effective_target_openacc_host_nonshm_selected): New
1421 procedures.
1422 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
1423 dg-shouldfail.
1424 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1425 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1426 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1427 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1437 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1439 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1440 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1441 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1442 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1443 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1444 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1445 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1447 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1448 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1449 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1450 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1451 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1452 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1453 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1454 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1455 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1457 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1458 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1459 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1461 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1462 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1465 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1466 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1467
d93bdab5
JB
14682015-04-08 Julian Brown <julian@codesourcery.com>
1469
1470 * libgomp.h (target_mem_desc: Remove mem_map field.
1471 (acc_dispatch_t): Remove open_device_func, close_device_func,
1472 get_device_num_func, set_device_num_func, target_data members.
1473 Change create_thread_data_func argument to device number instead of
1474 generic pointer.
1475 * oacc-async.c (assert.h): Include.
1476 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
1477 (acc_wait_all, acc_wait_all_async): Use current host thread's
1478 active device, not base_dev.
1479 * oacc-cuda.c (acc_get_current_cuda_device)
1480 (acc_get_current_cuda_context, acc_get_cuda_stream)
1481 (acc_set_cuda_stream): Likewise.
1482 * oacc-host.c (host_dispatch): Don't set open_device_func,
1483 close_device_func, get_device_num_func or set_device_num_func.
1484 * oacc-init.c (base_dev, init_key): Remove.
1485 (cached_base_dev): New.
1486 (name_of_acc_device_t): New.
1487 (acc_init_1): Initialise default-numbered device, not zeroth.
1488 (acc_shutdown_1): Close all devices of a given type.
1489 (goacc_destroy_thread): Don't use base_dev.
1490 (lazy_open, lazy_init, lazy_init_and_open): Remove.
1491 (goacc_attach_host_thread_to_device): New.
1492 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
1493 (acc_get_num_devices): Don't use base_dev.
1494 (acc_set_device_type): Reimplement.
1495 (acc_get_device_type): Don't use base_dev.
1496 (acc_get_device_num): Tweak logic.
1497 (acc_set_device_num): Likewise.
1498 (acc_on_device): Use acc_get_device_type.
1499 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
1500 (goacc_lazy_initialize): Reimplement with acc_init and
1501 goacc_attach_host_thread_to_device.
1502 * oacc-int.h (goacc_thread): Add base_dev field.
1503 (base_dev): Remove extern declaration.
1504 (goacc_attach_host_thread_to_device): Add prototype.
1505 * oacc-mem.c (acc_malloc): Use current thread's device instead of
1506 base_dev.
1507 (acc_free): Likewise.
1508 (acc_memcpy_to_device): Likewise.
1509 (acc_memcpy_from_device): Likewise.
1510 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
1511 goacc_lazy_initialize (throughout).
1512 (GOACC_parallel): Use tgt_offset to locate target functions.
1513 * target.c (gomp_map_vars): Don't set tgt->mem_map.
1514 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
1515 (gomp_load_plugin_for_device): Remove open_device, close_device,
1516 get_device_num, set_device_num openacc hook initialisation. Don't set
1517 openacc.target_data.
1518 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
1519 (GOMP_OFFLOAD_openacc_close_device)
1520 (GOMP_OFFLOAD_openacc_get_device_num)
1521 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
1522 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
1523 to int.
1524 * plugin/plugin-nvptx.c (ptx_inited): Remove.
1525 (instantiated_devices, ptx_dev_lock): New.
1526 (struct ptx_image_data): New.
1527 (ptx_devices, ptx_images, ptx_image_lock): New.
1528 (fini_streams_for_device): Reorder cuStreamDestroy call.
1529 (nvptx_get_num_devices): Remove forward declaration.
1530 (nvptx_init): Change return type to bool.
1531 (nvptx_fini): Remove.
1532 (nvptx_attach_host_thread_to_device): New.
1533 (nvptx_open_device): Return struct ptx_device* instead of void*.
1534 (nvptx_close_device): Change argument type to struct ptx_device*,
1535 return type to void.
1536 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
1537 (kernel_target_data, kernel_host_table): Remove static globals.
1538 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
1539 (GOMP_OFFLOAD_init_device): Reimplement.
1540 (GOMP_OFFLOAD_fini_device): Likewise.
1541 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
1542 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
1543 (GOMP_OFFLOAD_host2dev): Use ORD argument.
1544 (GOMP_OFFLOAD_openacc_open_device)
1545 (GOMP_OFFLOAD_openacc_close_device)
1546 (GOMP_OFFLOAD_openacc_set_device_num)
1547 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
1548 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
1549 (device number).
1550
1551 testsuite/
1552 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
1553
a51df54e
IV
15542015-04-06 Ilya Verbin <ilya.verbin@intel.com>
1555
1556 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
1557 * libgomp.h (struct gomp_memory_mapping): Remove.
1558 (struct target_mem_desc): Change type of mem_map from
1559 gomp_memory_mapping * to splay_tree_s *.
1560 (struct gomp_device_descr): Remove register_image_func, get_table_func.
1561 Add load_image_func, unload_image_func.
1562 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
1563 Remove offload_regions_registered.
1564 (gomp_init_tables): Remove.
1565 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
1566 to splay_tree_s *.
1567 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
1568 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
1569 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
1570 offload_regions_registered.
1571 Initialize load_image_func, unload_image_func, mem_map.root.
1572 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
1573 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
1574 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
1575 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
1576 gomp_memory_mapping *. Use dev's lock and splay_tree.
1577 (lookup_dev): Use dev's lock.
1578 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
1579 (acc_is_present): Likewise.
1580 (acc_map_data): Likewise.
1581 (acc_unmap_data): Likewise. Use dev's lock.
1582 (present_create_copy): Likewise.
1583 (delete_copyout): Pass dev to lookup_host instead of mem_map.
1584 (update_dev_host): Likewise.
1585 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
1586 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
1587 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
1588 (GOMP_OFFLOAD_get_table): Remove
1589 (GOMP_OFFLOAD_load_image): New function.
1590 (GOMP_OFFLOAD_unload_image): New function.
1591 * target.c (register_lock): New mutex for offload image registration.
1592 (num_devices): Do not guard with PLUGIN_SUPPORT.
1593 (gomp_realloc_unlock): New static function.
1594 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
1595 before gomp_fatal.
1596 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
1597 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
1598 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
1599 mem_map's.
1600 (gomp_unmap_vars): Likewise.
1601 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
1602 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
1603 (gomp_offload_image_to_device): New static function.
1604 (GOMP_offload_register): Add mutex lock.
1605 Call gomp_offload_image_to_device for all initialized devices.
1606 Replace gomp_realloc with gomp_realloc_unlock.
1607 (GOMP_offload_unregister): New function.
1608 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
1609 get_table_func from the plugin with calls to init_device_func and
1610 gomp_offload_image_to_device.
1611 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
1612 to splay_tree_s *.
1613 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
1614 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
1615 (GOMP_target_data): Do not call gomp_init_tables.
1616 (GOMP_target_update): Likewise. Remove argument from gomp_update.
1617 (gomp_load_plugin_for_device): Replace register_image and get_table
1618 with load_image and unload_image in DLSYM ().
1619 (gomp_register_images_for_device): Remove function.
1620 (gomp_target_init): Do not initialize current_device.mem_map.*,
1621 current_device.offload_regions_registered.
1622 Remove call to gomp_register_images_for_device.
1623 Do not free offload_images and num_offload_images.
1624
6c384511
JJ
16252015-03-30 Jakub Jelinek <jakub@redhat.com>
1626
1627 PR fortran/65597
1628 * testsuite/libgomp.fortran/pr65597.f90: New test.
1629
3e8165a5
TV
16302015-03-27 Tom de Vries <tom@codesourcery.com>
1631
1632 PR testsuite/65594
1633 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
1634 (init, check): New function.
1635 (foo): Change return type to void.
1636 (main): Call init and check.
1637
4d688c9a
TV
16382015-03-27 Tom de Vries <tom@codesourcery.com>
1639
1640 PR testsuite/65594
1641 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
1642 (foo): Use M for non-inner loops to scale down test-case.
1643
01c0b3b0
KT
16442015-03-25 Kai Tietz <ktietz@redhat.com>
1645
1646 PR libgomp/64972
1647 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
1648 (GOACC_data_start): Likewise.
1649 * target.c (gomp_map_vars): Likewise.
1650
844d9a76
JDA
16512015-03-21 John David Anglin <danglin@gcc.gnu.org>
1652
1653 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
1654 hppa*-*-hpux*.
1655
9b65e171
JJ
16562015-03-19 Jakub Jelinek <jakub@redhat.com>
1657
1658 * testsuite/libgomp.c/target-10.c: New test.
1659 * testsuite/libgomp.c++/target-4.C: New test.
1660
db397e2e
IV
16612015-03-13 Ilya Verbin <ilya.verbin@intel.com>
1662
1663 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
1664 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
1665
cd93945d
SH
16662015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
1667
1668 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
1669 * configure.ac (*-*-rtems*): Assume Pthread is supported.
1670 (pthread.h): Check for this header file.
1671 * configure: Regenerate.
1672
05deba9f
TV
16732015-02-25 Tom de Vries <tom@codesourcery.com>
1674
1675 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
1676 (check_reduction_op, check_reduction_macro, max, min):
1677 Declare.
1678 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
1679 function.
1680 (main): Use new functions.
1681
196904d8
IT
16822015-02-18 Ilya Tocar <ilya.tocar@intel.com>
1683
1684 * target.c (gomp_load_plugin_for_device): Use const char * instead of
1685 char * for variables holding dlerror return values.
1686 (DLSYM_OPT): Ditto.
1687
a2818955
TS
16882015-02-17 Thomas Schwinge <thomas@codesourcery.com>
1689
1690 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
1691
26f93312
TS
16922015-02-17 Thomas Schwinge <thomas@codesourcery.com>
1693 Cesar Philippidis <cesar@codesourcery.com>
1694
1695 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
1696 GOACC_ctaid, and GOACC_nctaid routines.
1697
fa01ffcc
JJ
16982015-02-11 Jakub Jelinek <jakub@redhat.com>
1699
1700 PR c/64824
1701 * testsuite/libgomp.c/atomic-18.c: New test.
1702 * testsuite/libgomp.c++/atomic-16.C: New test.
1703
4886ec8e
JJ
17042015-02-04 Jakub Jelinek <jakub@redhat.com>
1705
1706 PR c/64824
1707 PR c/64868
1708 * testsuite/libgomp.c/pr64824.c: New test.
1709 * testsuite/libgomp.c/pr64868.c: New test.
1710 * testsuite/libgomp.c++/pr64824.C: New test.
1711 * testsuite/libgomp.c++/pr64868.C: New test.
1712
02d3e45e
DE
17132015-02-01 David Edelsohn <dje.gcc@gmail.com>
1714
1715 PR libgomp/64635
1716 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
1717 Link with -lpthread.
1718 * config/aix/plugin-suffix.h: Delete.
1719
b5f7a6ca
JH
17202015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
1721
1722 PR libgomp/64635
1723 * configure.tgt (*-*-aix*): Use config_path "aix posix".
1724 (*-*-darwin*): Use config_path "bsd darwin posix".
1725 (*-*-hpux*): Use config_path "hpux posix".
1726 * target.c: Add include of plugin-suffix.h and use
1727 SONAME_SUFFIX macro.
1728 * config/aix/plugin-suffix.h: New file.
1729 * config/darwin/plugin-suffix.h: New file.
1730 * config/hpux/plugin-suffix.h: New file.
1731 * config/posix/plugin-suffix.h: New file.
1732
b8910447
JJ
17332015-01-23 Jakub Jelinek <jakub@redhat.com>
1734
1735 PR middle-end/64734
1736 * libgomp.c/pr64734.c: New test.
1737
a0c88d06
TV
17382015-01-23 Tom de Vries <tom@codesourcery.com>
1739
1740 PR libgomp/64672
1741 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
1742
1506ae0e
TV
17432015-01-23 Tom de Vries <tom@codesourcery.com>
1744
1745 PR libgomp/64707
1746 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
1747 dg-options.
1748
128b26dc
TS
17492015-01-19 Thomas Schwinge <thomas@codesourcery.com>
1750
bed62c21 1751 PR libgomp/64625
128b26dc
TS
1752 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
1753 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
1754 formal parameter. Update all users.
1755 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
1756 Document unused formal parameter.
1757
6e36114c
TS
17582015-01-16 Thomas Schwinge <thomas@codesourcery.com>
1759
1760 * oacc-parallel.c: Don't include <alloca.h>.
1761 (GOACC_parallel): Use gomp_alloca instead of alloca.
1762
973e9808
GP
17632015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
1764
1765 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
1766
41dbbb37
TS
17672015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1768 James Norris <jnorris@codesourcery.com>
1769 Tom de Vries <tom@codesourcery.com>
1770 Julian Brown <julian@codesourcery.com>
1771 Cesar Philippidis <cesar@codesourcery.com>
1772 Nathan Sidwell <nathan@codesourcery.com>
1773 Tobias Burnus <burnus@net-b.de>
1774
1775 * Makefile.am (search_path): Add $(top_srcdir)/../include.
1776 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
1777 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
1778 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
1779 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
1780 Include $(top_srcdir)/plugin/Makefrag.am.
1781 (nodist_libsubinclude_HEADERS): Add openacc.h.
1782 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
1783 openacc.f90, openacc.mod, openacc_kinds.mod.
1784 (omp_lib.mod): Generalize into...
1785 (%.mod): ... this new rule.
1786 (openacc_kinds.mod, openacc.mod): New rules.
1787 * plugin/configfrag.ac: New file.
1788 * configure.ac: Move plugin/offloading support into it. Include
1789 it. Instantiate testsuite/libgomp-test-support.pt.exp.
1790 * plugin/Makefrag.am: New file.
1791 * testsuite/Makefile.am (OFFLOAD_TARGETS)
1792 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
1793 export.
1794 (libgomp-test-support.exp): New rule.
1795 (all-local): Depend on it.
1796 * Makefile.in: Regenerate.
1797 * testsuite/Makefile.in: Regenerate.
1798 * config.h.in: Likewise.
1799 * configure: Likewise.
1800 * configure.tgt: Harden shell syntax.
1801 * env.c: Include "oacc-int.h".
1802 (parse_acc_device_type): New function.
1803 (gomp_debug_var, goacc_device_type, goacc_device_num): New
1804 variables.
1805 (initialize_env): Initialize those. Call
1806 goacc_runtime_initialize.
1807 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
1808 (gomp_fatal): Call gomp_vfatal.
1809 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
1810 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
1811 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
1812 (splay_tree_node, splay_tree, splay_tree_key)
1813 (struct target_mem_desc, struct splay_tree_key_s)
1814 (struct gomp_memory_mapping, struct acc_dispatch_t)
1815 (struct gomp_device_descr, gomp_acc_insert_pointer)
1816 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
1817 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
1818 (gomp_free_memmap, gomp_fini_device): New declarations.
1819 (gomp_vdebug, gomp_debug): New macros.
1820 Include "splay-tree.h".
1821 * libgomp.map (OACC_2.0): New symbol version. Use for
1822 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
1823 acc_set_device_type_h_, acc_get_device_type,
1824 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
1825 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
1826 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
1827 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
1828 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
1829 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
1830 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
1831 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
1832 acc_copyin_array_h_, acc_present_or_copyin,
1833 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
1834 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
1835 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
1836 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
1837 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
1838 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
1839 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
1840 acc_update_device, acc_update_device_32_h_,
1841 acc_update_device_64_h_, acc_update_device_array_h_,
1842 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
1843 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
1844 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
1845 acc_is_present_64_h_, acc_is_present_array_h_,
1846 acc_memcpy_to_device, acc_memcpy_from_device,
1847 acc_get_current_cuda_device, acc_get_current_cuda_context,
1848 acc_get_cuda_stream, acc_set_cuda_stream.
1849 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
1850 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
1851 GOACC_update, GOACC_wait, GOACC_get_thread_num,
1852 GOACC_get_num_threads.
1853 (GOMP_PLUGIN_1.0): New symbol version. Use for
1854 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
1855 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
1856 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
1857 GOMP_PLUGIN_acc_thread.
1858 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
1859 environment variable.
1860 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
1861 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
1862 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
1863 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
1864 (splay_tree_remove): New declarations.
1865 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
1866 (splay_tree_remove, splay_tree_lookup): Move into...
1867 * splay-tree.c: ... this new file.
1868 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
1869 (splay_tree_node, splay_tree, splay_tree_key)
1870 (struct target_mem_desc, struct splay_tree_key_s)
1871 (struct gomp_device_descr): Don't declare.
1872 (num_devices_openmp): New variable.
1873 (gomp_get_num_devices ): Use it.
1874 (gomp_init_targets_once): New function.
1875 (gomp_get_num_devices ): Use it.
1876 (get_kind, gomp_copy_from_async, gomp_free_memmap)
1877 (gomp_fini_device, gomp_register_image_for_device): New functions.
1878 (gomp_map_vars): Add devaddrs parameter.
1879 (gomp_update): Add mm parameter.
1880 (gomp_init_device): Move most of it into...
1881 (gomp_init_tables): ... this new function.
1882 (gomp_register_images_for_device): Remove function.
1883 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
1884 Make them hidden instead of static.
1885 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
1886 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
1887 (GOMP_target_end_data, GOMP_target_update)
1888 (gomp_load_plugin_for_device, gomp_target_init): Update for
1889 OpenACC changes.
1890 * oacc-async.c: New file.
1891 * oacc-cuda.c: Likewise.
1892 * oacc-host.c: Likewise.
1893 * oacc-init.c: Likewise.
1894 * oacc-int.h: Likewise.
1895 * oacc-mem.c: Likewise.
1896 * oacc-parallel.c: Likewise.
1897 * oacc-plugin.c: Likewise.
1898 * oacc-plugin.h: Likewise.
1899 * oacc-ptx.h: Likewise.
1900 * openacc.f90: Likewise.
1901 * openacc.h: Likewise.
1902 * openacc_lib.h: Likewise.
1903 * plugin/plugin-host.c: Likewise.
1904 * plugin/plugin-nvptx.c: Likewise.
1905 * libgomp-plugin.c: Likewise.
1906 * libgomp-plugin.h: Likewise.
1907 * libgomp_target.h: Remove file after merging content into the
1908 former file. Update all users.
1909 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
1910 (offload_targets_s, offload_targets_s_openacc): New variables.
1911 (check_effective_target_openacc_nvidia_accel_present)
1912 (check_effective_target_openacc_nvidia_accel_selected): New
1913 procedures.
1914 (libgomp_init): Update for OpenACC changes.
1915 * testsuite/libgomp-test-support.exp.in: New file.
1916 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1917 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1918 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1919 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
1920 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
1921 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1922 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
1923 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
1924 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1925 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
1926 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
1927 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
1928 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
1929 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1930 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1931 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1932 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1933 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1934 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1935 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1936 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
1937 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1938 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1939 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
1940 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1941 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1942 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1943 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1944 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1945 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1946 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1947 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1948 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1949 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
1950 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
1951 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1952 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
1953 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1954 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
1955 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1956 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1957 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1958 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1959 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1960 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1961 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
1962 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1963 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1964 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1965 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1966 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1967 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1968 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1969 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1970 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1971 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1972 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1973 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1974 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1975 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
1976 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1977 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
1978 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1979 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1980 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1981 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
1982 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
1983 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1984 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1985 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1986 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
1987 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1988 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1989 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1990 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
1991 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
1992 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1993 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1994 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
1995 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
1996 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
1997 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
1998 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1999 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2000 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2001 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
2002 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
2003 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2004 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2005 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
2006 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2007 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
2008 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
2009 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2010 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2011 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2012 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2013 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
2014 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2015 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2016 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2017 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
2018 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2019 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2020 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2021 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2022 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2023 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2024 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2025 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2026 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2027 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2028 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2029 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2030 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2031 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2032 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2033 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2034 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2035 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2036 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2037 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2038 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2039 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2040 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
2041 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2042 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2043 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
2044 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
2045 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
2046 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
2047 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
2048 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2049 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
2050 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2051 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2052 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2053 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2054 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2055 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
2056 Likewise.
2057 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
2058 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
2059 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
2060 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
2061 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
2062 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2063 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2064 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2065 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2066 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2067 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2068 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2069 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2070 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
2071 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2072 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
2073 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
2074 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
2075 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
2076 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
2077 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
2078 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2079 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2080 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
2081 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2082 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2083 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2084 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2085 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2086 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2087 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2088 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2089 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2090 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2091 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2092 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2093 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2094 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2095 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2096 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2097 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2098 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2099 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2100 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2101 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2102 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2103 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2104 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2105 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2106 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2107 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2108 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2109 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2110 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2111 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2112 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2113 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2114 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2115 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2116 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2117
f1f3453e
TS
21182015-01-10 Thomas Schwinge <thomas@codesourcery.com>
2119 Julian Brown <julian@codesourcery.com>
2120 David Malcolm <dmalcolm@redhat.com>
2121
2122 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
2123 to "GNU Offloading and Multi Processing Runtime Library". Change
2124 all users.
2125 * configure: Regenerate.
2126 * libgomp.texi: Update.
2127
f9a0eca4
TS
21282015-01-08 Thomas Schwinge <thomas@codesourcery.com>
2129
b335ef4e
TS
2130 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
2131 "$tgt_dir/lib32".
2132 * configure: Regenerate.
2133
f9a0eca4
TS
2134 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
2135 "intelmic" in $offload_targets.
2136
b67cd4e3
JJ
21372015-01-05 Jakub Jelinek <jakub@redhat.com>
2138
5624e564
JJ
2139 Update copyright years.
2140
b67cd4e3
JJ
2141 * libgomp.texi: Bump @copying's copyright year.
2142
3b41b583
KT
21432014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2144
2145 * testsuite/lib/libgomp.exp: Load target-utils.exp.
2146 Move load of target-supportes.exp earlier.
2147
2354caec
IV
21482014-12-10 Ilya Verbin <ilya.verbin@intel.com>
2149
2150 * testsuite/libgomp.c/target-9.c: New test.
2151
f50eecba
VR
21522014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
2153
2154 * config.h.in: Regenerate.
2155 * configure: Regenerate.
2156 * configure.ac: Add GCC_CHECK_EMUTLS.
2157 * libgomp.h: Add check for USE_EMUTLS: this case
2158 is equal to HAVE_TLS.
2159 * team.c: Likewise.
2160
68bc9270
UB
21612014-12-03 Uros Bizjak <ubizjak@gmail.com>
2162
2163 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
2164
476ff787
AT
21652014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
2166 Ilya Verbin <ilya.verbin@intel.com>
2167
2168 * testsuite/libgomp.c/target-critical-1.c: New test.
2169
31a30e62
JJ
21702014-11-26 Jakub Jelinek <jakub@redhat.com>
2171
2172 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 2173 to dg-options unless expensive testing is on.
31a30e62
JJ
2174 (TESTITERS): Define to N if not defined.
2175 (main): Use TESTITERS instead of N.
2176 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
2177 dg-additional-options depending on whether expensive testing is on.
2178 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
2179 Decrease N to 100000 and CHUNKSZ to 10000.
2180
3f9e8f13
JJ
21812014-11-24 Jakub Jelinek <jakub@redhat.com>
2182
2183 PR fortran/63938
31a30e62
JJ
2184 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
2185 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 2186
c8451a46
SE
21872014-11-21 Steve Ellcey <sellcey@imgtec.com>
2188
2189 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
2190
a699d672
L
21912014-11-21 H.J. Lu <hongjiu.lu@intel.com>
2192
2193 PR bootstrap/63784
2194 * configure: Regenerated.
2195
4a19f719
UB
21962014-11-19 Uros Bizjak <ubizjak@gmail.com>
2197
2198 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
2199 vect_simd_clones effective target.
2200 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
2201
b1bf6c52
JJ
22022014-11-14 Jakub Jelinek <jakub@redhat.com>
2203
2204 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
2205 of 32 as block_size.
2206 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
2207 instead of 32 as block_size.
2208
d64ae614
AT
22092014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
2210 Ilya Verbin <ilya.verbin@intel.com>
2211
2212 * Makefile.in: Regenerate.
2213 * configure: Regenerate.
2214 * configure.ac: Set up offload_additional_options,
2215 offload_additional_lib_paths and offload_targets.
2216 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
2217 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
2218 * testsuite/Makefile.in: Regenerate.
2219 * testsuite/lib/libgomp.exp (libgomp_init): Append
2220 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
2221 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
2222 build directory to LD_LIBRARY_PATH for intelmic offload targets.
2223
122d7303
AT
22242014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
2225 Ilya Verbin <ilya.verbin@intel.com>
2226 Kirill Yukhin <kirill.yukhin@intel.com>
2227 Ilya Tocar <ilya.tocar@intel.com>
2228
2229 * testsuite/lib/libgomp.exp
2230 (check_effective_target_offload_device): New.
2231 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
2232 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
2233 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
2234 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
2235 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
2236 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
2237 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
2238 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
2239 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
2240 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
2241 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
2242 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
2243 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
2244 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
2245 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
2246 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
2247 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
2248 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
2249 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
2250 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
2251 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
2252 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
2253 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
2254 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
2255 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
2256 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
2257 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
2258 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
2259 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
2260 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
2261 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
2262 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
2263 * testsuite/libgomp.c/target-7.c: Fix test.
2264 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
2265 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
2266 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
2267 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
2268 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
2269 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
2270 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
2271 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
2272 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
2273 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
2274 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
2275 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
2276 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
2277 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
2278 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
2279 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
2280 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
2281 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
2282 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
2283 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
2284 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
2285 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
2286 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
2287 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
2288 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
2289 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
2290 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
2291 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
2292 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
2293 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
2294 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
2295
1df3f842
JJ
22962014-11-13 Jakub Jelinek <jakub@redhat.com>
2297 Ilya Verbin <ilya.verbin@intel.com>
2298 Thomas Schwinge <thomas@codesourcery.com>
2299 Andrey Turetskiy <andrey.turetskiy@intel.com>
2300
2301 * libgomp.map (GOMP_4.0.1): New symbol version.
2302 Add GOMP_offload_register.
2303 * libgomp_target.h: New file.
2304 * splay-tree.h: New file.
2305 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
2306 (gomp_target_init): New forward declaration.
2307 (gomp_is_initialized): New static variable.
2308 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
2309 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
2310 New structures.
2311 (offload_images, num_offload_images, devices, num_devices): New static
2312 variables.
2313 (splay_compare): New static function.
2314 (struct gomp_device_descr): New structure.
2315 (gomp_get_num_devices): Call gomp_target_init.
2316 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
2317 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
2318 (GOMP_offload_register): New function.
2319 (GOMP_target): Arrange for host callback to be performed in a separate
2320 initial thread and contention group, inheriting ICVs from
2321 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
2322 Add device initialization and lookup for target function in splay tree.
2323 (GOMP_target_data): Add device initialization and call gomp_map_vars.
2324 (GOMP_target_end_data): Call gomp_unmap_vars.
2325 (GOMP_target_update): Add device initialization and call gomp_update.
2326 (gomp_load_plugin_for_device, gomp_register_images_for_device)
2327 (gomp_target_init): New static functions.
2328
85c64bbe
BS
23292014-11-13 Bernd Schmidt <bernds@codesourcery.com>
2330 Thomas Schwinge <thomas@codesourcery.com>
2331 Ilya Verbin <ilya.verbin@intel.com>
2332 Andrey Turetskiy <andrey.turetskiy@intel.com>
2333
2334 * config.h.in: Regenerate.
2335 * configure: Regenerate.
2336 * configure.ac: Check for libdl, required for plugin support.
2337 (PLUGIN_SUPPORT): Define if plugins are supported.
2338 (enable_offload_targets): Support Intel MIC targets.
2339 (OFFLOAD_TARGETS): List of target names suitable for offloading.
2340
ebf6d33b
FXC
23412014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2342
2343 PR target/63610
2344 * configure: Regenerate.
2345
8c768629
RO
23462014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2347
2348 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
2349
c1d62412
MP
23502014-10-06 Marek Polacek <polacek@redhat.com>
2351
2352 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
2353 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
2354 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
2355 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2356
44a0c6cb
MP
23572014-10-06 Marek Polacek <polacek@redhat.com>
2358
2359 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
2360 * testsuite/libgomp.c/nqueens-1.c: Likewise.
2361 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2362 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2363 * testsuite/libgomp.c/pr36802-2.c: Likewise.
2364 * testsuite/libgomp.c/pr36802-3.c: Likewise.
2365 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
2366 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2367 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
2368 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
2369 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
2370 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
2371 * testsuite/libgomp.c/omp-single-1.c: Likewise.
2372 * testsuite/libgomp.c/omp-single-2.c: Likewise.
2373 * testsuite/libgomp.c/omp_matvec.c: Likewise.
2374 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
2375 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
2376 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
2377 declarations.
2378
5771c391
JJ
23792014-10-03 Jakub Jelinek <jakub@redhat.com>
2380
2381 PR libgomp/61200
2382 * testsuite/libgomp.c/pr61200.c: New test.
2383
bce16b88
JJ
23842014-09-18 Jakub Jelinek <jakub@redhat.com>
2385
2386 PR c++/63248
2387 * testsuite/libgomp.c++/pr63248.C: New test.
2388
3696163c
JJ
23892014-08-04 Jakub Jelinek <jakub@redhat.com>
2390
2391 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
2392 is not zero, but taskgroup->children is NULL and there are
2393 any task->children, schedule those instead of waiting.
2394 * testsuite/libgomp.c/depend-6.c: New test.
2395 * testsuite/libgomp.c/depend-7.c: New test.
2396 * testsuite/libgomp.c/depend-8.c: New test.
2397 * testsuite/libgomp.c/depend-9.c: New test.
2398 * testsuite/libgomp.c/depend-10.c: New test.
2399
0494285a
JJ
24002014-08-01 Jakub Jelinek <jakub@redhat.com>
2401
2402 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
2403 (struct gomp_taskwait): New type.
2404 (struct gomp_task): Add taskwait and parent_depends_on, remove
2405 in_taskwait and taskwait_sem fields.
2406 (gomp_finish_task): Don't destroy taskwait_sem.
2407 * task.c (gomp_init_task): Don't init in_taskwait, instead init
2408 taskwait and parent_depends_on.
2409 (GOMP_task): For if (0) tasks with depend clause that depend on
2410 earlier tasks don't defer them, instead call
2411 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
2412 Initialize redundant_out field, for redundant out entries just
2413 move them at the end of linked list instead of removing them
2414 completely, and set redundant_out flag instead of redundant.
2415 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
2416 that task.
2417 (gomp_task_run_post_handle_dependers): If parent is in
2418 gomp_task_maybe_wait_for_dependencies and newly runnable task
2419 is not parent_depends_on, queue it in parent->children linked
2420 list after all runnable tasks with parent_depends_on set.
2421 Adjust for addition of taskwait indirection.
2422 (gomp_task_run_post_remove_parent): If parent is in
2423 gomp_task_maybe_wait_for_dependencies and task to be removed
2424 is parent_depends_on, decrement n_depend and if needed awake
2425 parent. Adjust for addition of taskwait indirection.
2426 (GOMP_taskwait): Adjust for addition of taskwait indirection.
2427 (gomp_task_maybe_wait_for_dependencies): New function.
2428 * testsuite/libgomp.c/depend-5.c: New test.
2429
60ab4b44
TB
24302014-07-13 Tobias Burnus <burnus@net-b.de>
2431
2432 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 2433 with TS 18508/Fortran 2015.
60ab4b44 2434
773ec47f
MP
24352014-07-06 Marek Polacek <polacek@redhat.com>
2436
2437 PR c/6940
2438 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
2439
f707da16
JJ
24402014-07-03 Jakub Jelinek <jakub@redhat.com>
2441
2442 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
2443 matches regex $lang_source_re, add $lang_include_flags to options.
2444 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
2445 * testsuite/libgomp.c++/c++.exp: Likewise.
2446 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
2447 and lang_include_flags instead of adding -fintrinsic-modules-path= to
2448 ALWAYS_CFLAGS.
2449 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
2450
07b6c044
TS
24512014-07-03 Thomas Schwinge <thomas@codesourcery.com>
2452
2453 * testsuite/libgomp.fortran/fortran.exp: Explain
2454 gfortran-dg-runtest usage.
2455
da6f124d
JJ
24562014-06-25 Jakub Jelinek <jakub@redhat.com>
2457
2458 * testsuite/libgomp.fortran/simd5.f90: New test.
2459 * testsuite/libgomp.fortran/simd6.f90: New test.
2460 * testsuite/libgomp.fortran/simd7.f90: New test.
2461
b46ebd6c
JJ
24622014-06-24 Jakub Jelinek <jakub@redhat.com>
2463
56ad0e38
JJ
2464 * testsuite/libgomp.c/for-2.c: Define SC to static for
2465 #pragma omp for simd testing.
2466 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
2467 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
2468 SC macro.
2469 * testsuite/libgomp.c/simd-14.c: New test.
2470 * testsuite/libgomp.c/simd-15.c: New test.
2471 * testsuite/libgomp.c/simd-16.c: New test.
2472 * testsuite/libgomp.c/simd-17.c: New test.
2473 * testsuite/libgomp.c++/for-10.C: Define SC to static for
2474 #pragma omp for simd testing.
2475 * testsuite/libgomp.c++/simd10.C: New test.
2476 * testsuite/libgomp.c++/simd11.C: New test.
2477 * testsuite/libgomp.c++/simd12.C: New test.
2478 * testsuite/libgomp.c++/simd13.C: New test.
2479
b46ebd6c
JJ
2480 * testsuite/libgomp.fortran/aligned1.f03: New test.
2481 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
2482 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
2483 tasks with !$omp parallel !$omp single.
2484 * testsuite/libgomp.fortran/target8.f90: New test.
2485 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
2486 not to use trim in the combiner, instead call elemental function.
2487 (fn): New elemental function.
2488 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
2489 Make elemental.
2490 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
2491 omp_in): Likewise.
2492 * testsuite/libgomp.fortran/udr12.f90: New test.
2493 * testsuite/libgomp.fortran/udr13.f90: New test.
2494 * testsuite/libgomp.fortran/udr14.f90: New test.
2495 * testsuite/libgomp.fortran/udr15.f90: New test.
2496
f014c653
JJ
24972014-06-18 Jakub Jelinek <jakub@redhat.com>
2498
2499 * omp_lib.f90.in (openmp_version): Set to 201307.
2500 * omp_lib.h.in (openmp_version): Likewise.
2501 * testsuite/libgomp.c/target-8.c: New test.
2502 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
2503 and inbranch clauses.
2504 * testsuite/libgomp.fortran/depend-3.f90: New test.
2505 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
2506 openmp_version.
2507 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2508 * testsuite/libgomp.fortran/target1.f90: New test.
2509 * testsuite/libgomp.fortran/target2.f90: New test.
2510 * testsuite/libgomp.fortran/target3.f90: New test.
2511 * testsuite/libgomp.fortran/target4.f90: New test.
2512 * testsuite/libgomp.fortran/target5.f90: New test.
2513 * testsuite/libgomp.fortran/target6.f90: New test.
2514 * testsuite/libgomp.fortran/target7.f90: New test.
2515
92d28cbb
JJ
25162014-06-10 Jakub Jelinek <jakub@redhat.com>
2517
2518 PR fortran/60928
2519 * testsuite/libgomp.fortran/allocatable9.f90: New test.
2520 * testsuite/libgomp.fortran/allocatable10.f90: New test.
2521 * testsuite/libgomp.fortran/allocatable11.f90: New test.
2522 * testsuite/libgomp.fortran/allocatable12.f90: New test.
2523 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
2524 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
2525 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
2526 * testsuite/libgomp.fortran/associate1.f90: New test.
2527 * testsuite/libgomp.fortran/associate2.f90: New test.
2528 * testsuite/libgomp.fortran/procptr1.f90: New test.
2529
5f23671d
JJ
25302014-06-06 Jakub Jelinek <jakub@redhat.com>
2531
2532 * testsuite/libgomp.fortran/simd1.f90: New test.
2533 * testsuite/libgomp.fortran/udr1.f90: New test.
2534 * testsuite/libgomp.fortran/udr2.f90: New test.
2535 * testsuite/libgomp.fortran/udr3.f90: New test.
2536 * testsuite/libgomp.fortran/udr4.f90: New test.
2537 * testsuite/libgomp.fortran/udr5.f90: New test.
2538 * testsuite/libgomp.fortran/udr6.f90: New test.
2539 * testsuite/libgomp.fortran/udr7.f90: New test.
2540 * testsuite/libgomp.fortran/udr8.f90: New test.
2541 * testsuite/libgomp.fortran/udr9.f90: New test.
2542 * testsuite/libgomp.fortran/udr10.f90: New test.
2543 * testsuite/libgomp.fortran/udr11.f90: New test.
2544
0389fbb5
UB
25452014-05-27 Uros Bizjak <ubizjak@gmail.com>
2546
2547 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
2548 vect_simd_clones effective target.
2549 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
2550
decaaec8
JJ
25512014-05-21 Jakub Jelinek <jakub@redhat.com>
2552
2553 PR middle-end/61252
2554 * testsuite/libgomp.c++/simd-9.C: New test.
2555
72832460
UB
25562014-05-18 Uros Bizjak <ubizjak@gmail.com>
2557
2558 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
2559 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
2560 texts according to their @menu entry positions.
2561
dd2fc525
JJ
25622014-05-11 Jakub Jelinek <jakub@redhat.com>
2563
2564 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
2565 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
2566 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
2567 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
2568 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
2569 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
2570 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
2571 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
2572 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
2573 * testsuite/libgomp.fortran/depend-1.f90: New test.
2574 * testsuite/libgomp.fortran/depend-2.f90: New test.
2575 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
2576 * testsuite/libgomp.fortran/simd1.f90: New test.
2577 * testsuite/libgomp.fortran/simd2.f90: New test.
2578 * testsuite/libgomp.fortran/simd3.f90: New test.
2579 * testsuite/libgomp.fortran/simd4.f90: New test.
2580 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
2581
95782571
JJ
25822014-05-02 Jakub Jelinek <jakub@redhat.com>
2583
2584 * testsuite/libgomp.c/simd-10.c: New test.
2585 * testsuite/libgomp.c/simd-11.c: New test.
2586 * testsuite/libgomp.c/simd-12.c: New test.
2587 * testsuite/libgomp.c/simd-13.c: New test.
2588
f7468577
JJ
25892014-04-24 Jakub Jelinek <jakub@redhat.com>
2590
42056eac
JJ
2591 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
2592 atomic type clauses in any order and optional comma in between.
2593 * testsuite/libgomp.c++/atomic-15.C: Likewise.
2594 * testsuite/libgomp.c/atomic-17.c: Likewise.
2595
f7468577
JJ
2596 * testsuite/libgomp.c/simd-7.c: New test.
2597 * testsuite/libgomp.c/simd-8.c: New test.
2598 * testsuite/libgomp.c/simd-9.c: New test.
2599 * testsuite/libgomp.c/loop-16.c: New test.
2600
ab18f2f5
RH
26012014-04-02 Richard Henderson <rth@redhat.com>
2602
2603 * config/linux/futex.h (futex_wait): Get error value from errno.
2604 (futex_wake): Likewise.
2605
8bcc90b0
JJ
26062014-03-25 Jakub Jelinek <jakub@redhat.com>
2607
2608 PR c++/60331
2609 * testsuite/libgomp.c++/udr-11.C: New test.
2610 * testsuite/libgomp.c++/udr-12.C: New test.
2611 * testsuite/libgomp.c++/udr-13.C: New test.
2612 * testsuite/libgomp.c++/udr-14.C: New test.
2613 * testsuite/libgomp.c++/udr-15.C: New test.
2614 * testsuite/libgomp.c++/udr-16.C: New test.
2615 * testsuite/libgomp.c++/udr-17.C: New test.
2616 * testsuite/libgomp.c++/udr-18.C: New test.
2617 * testsuite/libgomp.c++/udr-19.C: New test.
2618
18d73c7f
RS
26192014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2620
2621 Update copyright years
2622
f9030485
RS
26232014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2624
2625 * hashtab.h: Use the standard form for the copyright notice.
2626
98db73df
TB
26272014-01-02 Tobias Burnus <burnus@net-b.de>
2628
2629 * libgomp.texi: Bump @copying's copyright year.
2630
ae246f7f
AT
26312013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
2632
2633 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
2634 alloca () with __builtin_alloca ().
2635 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
2636 * testsuite/libgomp.c/lock-3.c: Likewise.
2637 * testsuite/libgomp.c/pr48591.c: Likewise.
2638
fa00a5fe
JJ
26392013-12-17 Jakub Jelinek <jakub@redhat.com>
2640
2641 PR testsuite/59534
2642 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
2643 comparisons.
2644
e9792e1d
JJ
26452013-12-16 Jakub Jelinek <jakub@redhat.com>
2646
2647 PR libgomp/58756
2648 * testsuite/libgomp.c/pr58756.c: New test.
2649
cab37c89
JJ
26502013-12-12 Jakub Jelinek <jakub@redhat.com>
2651
2652 PR libgomp/59467
2653 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
2654 !$omp parallel.
2655
de14871c
TS
26562013-11-07 Thomas Schwinge <thomas@codesourcery.com>
2657
1707a5de
TS
2658 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
2659 ALWAYS_CFLAGS.
2660 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
2661 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
2662 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
2663 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
2664 Likewise.
2665
70f05c43
TS
2666 * libgomp_g.h: Include <stddef.h> for size_t.
2667
de14871c
TS
2668 * libgomp.spec.in: Update comment about libgomp's dependencies.
2669 * configure.ac: Likewise.
2670 * configure: Regenerate.
2671
83fd6c5b
TB
26722013-10-16 Tobias Burnus <burnus@net-b.de>
2673
2674 * libgomp.texi: (Runtime Library Routines): Update references for
2675 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
2676 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
2677 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
2678 (Environment Variables): Update references for OpenMP 4.0. Add
2679 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
2680 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
2681 order.
2682
c8673881
JJ
26832013-10-14 Jakub Jelinek <jakub@redhat.com>
2684
2685 * env.c (parse_bind_var): Initialize value to avoid
2686 (false positive) warning.
2687
f89163fd
JJ
26882013-10-12 Jakub Jelinek <jakub@redhat.com>
2689
2690 PR libgomp/58691
2691 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
2692 to check variable.
2693 (gomp_init_num_threads): Move i variable declaration into
2694 #ifdef CPU_ALLOC_SIZE block.
2695 * config/linux/affinity.c (gomp_affinity_init_level): Test
2696 gomp_places_list_len == 0 rather than gomp_places_list == 0
2697 when checking for topology reading error.
2698 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
2699 * env.c (parse_affinity): Add ignore argument, if true, don't populate
2700 gomp_places_list, only parse env var and always return false.
2701 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
2702 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
2703 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
2704 and either of these variables were parsed correctly into a places
2705 list.
2706
1d340638
TS
27072013-10-11 Thomas Schwinge <thomas@codesourcery.com>
2708 Jakub Jelinek <jakub@redhat.com>
2709
2710 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
2711 of 5 loopfn matches.
2712 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2713 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2714 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
2715 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2716 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2717 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2718 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2719 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2720
71a81c21
TS
27212013-10-11 Thomas Schwinge <thomas@codesourcery.com>
2722
bd87f731
TS
2723 * Makefile.am (omp_lib.mod): Streamline rule.
2724 * Makefile.in: Regenerate.
2725
f5745bed
TS
2726 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
2727 exceptions.
2728
b5512c66
TS
2729 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
2730 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2731 * testsuite/libgomp.fortran/lib2.f: Likewise.
2732 * testsuite/libgomp.fortran/lib3.f: Likewise.
2733
451c19c4
TS
2734 * configure.ac: Typo fix.
2735 * configure: Regenerate.
2736
86a6016d
TS
2737 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
2738 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2739
71a81c21
TS
2740 * omp.h.in: Don't touch the user's namespace.
2741
acf0174b
JJ
27422013-10-11 Jakub Jelinek <jakub@redhat.com>
2743 Tobias Burnus <burnus@net-b.de>
2744 Richard Henderson <rth@redhat.com>
2745
2746 * target.c: New file.
2747 * Makefile.am (libgomp_la_SOURCES): Add target.c.
2748 * Makefile.in: Regenerated.
2749 * libgomp_g.h (GOMP_task): Add depend argument.
2750 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
2751 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
2752 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
2753 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
2754 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
2755 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
2756 GOMP_taskgroup_start, GOMP_taskgroup_end,
2757 GOMP_parallel_sections): New prototypes.
2758 * fortran.c (omp_is_initial_device): Add ialias_redirect.
2759 (omp_is_initial_device_): New function.
2760 (ULP, STR1, STR2, ialias_redirect): Removed.
2761 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
2762 omp_set_default_device_8_, omp_get_default_device_,
2763 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
2764 functions.
2765 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
2766 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
2767 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
2768 @@GOMP_4.0.
2769 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
2770 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
2771 omp_set_default_device, omp_set_default_device_,
2772 omp_set_default_device_8_, omp_get_default_device,
2773 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
2774 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
2775 omp_get_team_num_): Export @@OMP_4.0.
2776 * team.c (struct gomp_thread_start_data): Add place field.
2777 (gomp_thread_start): Clear thr->thread_pool and
2778 thr->task before returning. Use gomp_team_barrier_wait_final
2779 instead of gomp_team_barrier_wait. Initialize thr->place.
2780 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
2781 team_cancelled and task_queued_count fields.
2782 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
2783 before calling pthread_exit.
2784 (gomp_free_thread): No longer static. Use
2785 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
2786 (gomp_team_start): Add flags argument. Set
2787 thr->thread_pool->threads_busy to nthreads immediately after creating
2788 new pool. Use gomp_managed_threads_lock instead of
2789 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
2790 (gomp_team_end): Use gomp_managed_threads_lock instead of
2791 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
2792 of gomp_team_barrier_wait. If team->team_cancelled, call
2793 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
2794 rather than thr->ts.work_share.
2795 (initialize_team): Don't call gomp_sem_init here.
2796 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
2797 caller.
2798 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
2799 * env.c (gomp_global_icv): Add default_device_var, target_data and
2800 bind_var initializers.
2801 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
2802 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
2803 gomp_places_list_len): New variables.
2804 (parse_bind_var, parse_one_place, parse_places_var): New functions.
2805 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
2806 sized places.
2807 (gomp_cancel_var): New global variable.
2808 (parse_int): New function.
2809 (handle_omp_display_env): New function.
2810 (initialize_env): Use it. Initialize default_device_var.
2811 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
2812 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
2813 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
2814 been successfully parsed (and call gomp_init_affinity in that case).
2815 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2816 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2817 omp_get_team_num, omp_is_initial_device): New functions.
2818 * libgomp.h: Include stdlib.h.
2819 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
2820 Define.
2821 (struct target_mem_desc): Forward declare.
2822 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
2823 and thread_limit_var fields.
2824 (gomp_get_num_devices): New prototype.
2825 (gomp_cancel_var): New extern decl.
2826 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
2827 team_cancelled and task_queued_count fields. Add comments about
2828 task_{,queued_,running_}count.
2829 (gomp_cancel_kind): New enum.
2830 (gomp_work_share_end_cancel): New prototype.
2831 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
2832 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
2833 and depend fields.
2834 (struct gomp_taskgroup): New type.
2835 (struct gomp_task_depend_entry,
2836 struct gomp_dependers_vec): New types.
2837 (gomp_finish_task): Free depend_hash if non-NULL.
2838 (struct gomp_team_state): Add place_partition_off
2839 and place_partition_len fields.
2840 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
2841 gomp_places_list_len): New extern decls.
2842 (struct gomp_thread): Add place field.
2843 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
2844 (gomp_init_thread_affinity): Add place argument.
2845 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2846 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2847 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2848 gomp_affinity_init_level, gomp_affinity_print_place): New
2849 prototypes.
2850 (gomp_team_start): Add flags argument.
2851 (gomp_thread_limit_var, gomp_remaining_threads_count,
2852 gomp_remaining_threads_lock): Remove.
2853 (gomp_managed_threads_lock): New variable.
2854 (struct gomp_thread_pool): Add threads_busy field.
2855 (gomp_free_thread): New prototype.
2856 * task.c: Include hashtab.h.
2857 (hash_entry_type): New typedef.
2858 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
2859 (gomp_init_task): Clear dependers, depend_hash, depend_count,
2860 copy_ctors_done and taskgroup fields.
2861 (GOMP_task): Add depend argument, handle depend clauses. If
2862 gomp_team_barrier_cancelled or if it's taskgroup has been
2863 cancelled, don't queue or start new tasks. Set copy_ctors_done
2864 field if needed. Initialize taskgroup field. If copy_ctors_done
2865 and already cancelled, don't discard the task. If taskgroup is
2866 non-NULL, enqueue the task into taskgroup queue. Increment
2867 num_children field in taskgroup. Increment task_queued_count.
2868 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
2869 gomp_task_run_post_remove_taskgroup): New inline functions.
2870 (gomp_task_run_post_handle_depend_hash,
2871 gomp_task_run_post_handle_dependers,
2872 gomp_task_run_post_handle_depend): New functions.
2873 (GOMP_taskwait): Use them. If more than one new tasks
2874 have been queued, wake other threads if needed.
2875 (gomp_barrier_handle_tasks): Likewise. If
2876 gomp_team_barrier_cancelled, don't start any new tasks, just free
2877 all tasks.
2878 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
2879 * omp_lib.f90.in
2880 (omp_proc_bind_kind, omp_proc_bind_false,
2881 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
2882 omp_proc_bind_spread): New params.
2883 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2884 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2885 omp_get_team_num, omp_is_initial_device): New interfaces.
2886 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
2887 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
2888 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
2889 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
2890 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
2891 useless use omp_lib_kinds.
2892 * omp.h.in (omp_proc_bind_t): New typedef.
2893 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2894 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2895 omp_get_team_num, omp_is_initial_device): New prototypes.
2896 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
2897 through to gomp_team_start.
2898 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
2899 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
2900 Adjust gomp_parallel_loop_start callers.
2901 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
2902 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
2903 GOMP_loop_end_cancel): New functions.
2904 (GOMP_parallel_end): Add ialias_redirect.
2905 * hashtab.h: New file.
2906 * libgomp.texi (Environment Variables): Minor cleanup,
2907 update section refs to OpenMP 4.0rc2.
2908 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
2909 environment variables.
2910 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
2911 team->work_shares_to_free to thr->ts.work_share before calling
2912 free_work_share.
2913 (gomp_work_share_end_cancel): New function.
2914 * config/linux/proc.c: Include errno.h.
2915 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
2916 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
2917 sizeof (cpu_set_t) to determine number of iterations. Fix up check
2918 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
2919 gomp_cpuset_size is sizeof (cpu_set_t).
2920 (gomp_init_num_threads): Initialize gomp_cpuset_size,
2921 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
2922 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
2923 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
2924 contain any logical CPUs.
2925 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
2926 is NULL. Use gomp_cpusetp instead of &cpuset and pass
2927 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
2928 pthread_getaffinity_np. Check gomp_places_list instead of
2929 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
2930 * config/linux/bar.c (gomp_barrier_wait_end,
2931 gomp_barrier_wait_last): Use BAR_* defines.
2932 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
2933 from state where needed. Set work_share_cancelled to 0 on last
2934 thread.
2935 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
2936 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
2937 functions.
2938 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
2939 Add cpusetsize argument.
2940 (gomp_cpuset_size, gomp_cpusetp): Declare.
2941 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
2942 (affinity_counter): Remove.
2943 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
2944 if CPU_ALLOC_SIZE isn't defined.
2945 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
2946 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
2947 bind current thread to the first place.
2948 (gomp_init_thread_affinity): Rewritten. Add place argument, just
2949 pthread_setaffinity_np to gomp_places_list[place].
2950 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2951 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2952 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2953 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
2954 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
2955 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
2956 (gomp_barrier_t): Add awaited_final field.
2957 (gomp_barrier_init): Initialize awaited_final field.
2958 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
2959 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
2960 prototypes.
2961 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
2962 defines.
2963 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
2964 gomp_team_barrier_cancelled): New inline functions.
2965 (gomp_barrier_last_thread,
2966 gomp_team_barrier_set_task_pending,
2967 gomp_team_barrier_clear_task_pending,
2968 gomp_team_barrier_set_waiting_for_tasks,
2969 gomp_team_barrier_waiting_for_tasks,
2970 gomp_team_barrier_done): Use BAR_* defines.
2971 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
2972 (gomp_barrier_wait_end): Use BAR_* defines.
2973 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
2974 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
2975 Use BAR_* defines.
2976 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
2977 gomp_team_barrier_cancel): New functions.
2978 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
2979 argument.
2980 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2981 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2982 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2983 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
2984 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
2985 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
2986 (gomp_barrier_t): Add cancellable field.
2987 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
2988 gomp_team_barrier_cancel): New prototypes.
2989 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
2990 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
2991 gomp_team_barrier_cancelled): New inline functions.
2992 (gomp_barrier_wait_start, gomp_barrier_last_thread,
2993 gomp_team_barrier_set_task_pending,
2994 gomp_team_barrier_clear_task_pending,
2995 gomp_team_barrier_set_waiting_for_tasks,
2996 gomp_team_barrier_waiting_for_tasks,
2997 gomp_team_barrier_done): Use BAR_* defines.
2998 * barrier.c (GOMP_barrier_cancel): New function.
2999 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
3000 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
3001 omp_proc_bind_spread): New params.
3002 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
3003 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
3004 omp_get_team_num, omp_is_initial_device): New externals.
3005 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
3006 New functions.
3007 (gomp_resolve_num_threads): Adjust for thread_limit now being in
3008 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
3009 infinity. If not nested, just return minimum of max_num_threads
3010 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
3011 to the returned value. Otherwise, don't update atomically
3012 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
3013 (GOMP_parallel_end): Adjust for thread_limit now being in
3014 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
3015 infinity. Adjust threads_busy in the pool rather than
3016 gomp_remaining_threads_count. Remember team->nthreads and call
3017 gomp_team_end before adjusting threads_busy, if not nested
3018 afterwards, just set it to 1 non-atomically. Add ialias.
3019 (GOMP_parallel_start): Adjust gomp_team_start caller.
3020 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
3021 * testsuite/libgomp.c/affinity-1.c: New test.
3022 * testsuite/libgomp.c/atomic-15.c: New test.
3023 * testsuite/libgomp.c/atomic-16.c: New test.
3024 * testsuite/libgomp.c/atomic-17.c: New test.
3025 * testsuite/libgomp.c/cancel-for-1.c: New test.
3026 * testsuite/libgomp.c/cancel-for-2.c: New test.
3027 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
3028 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
3029 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
3030 * testsuite/libgomp.c/cancel-sections-1.c: New test.
3031 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
3032 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
3033 * testsuite/libgomp.c/depend-1.c: New test.
3034 * testsuite/libgomp.c/depend-2.c: New test.
3035 * testsuite/libgomp.c/depend-3.c: New test.
3036 * testsuite/libgomp.c/depend-4.c: New test.
3037 * testsuite/libgomp.c/for-1.c: New test.
3038 * testsuite/libgomp.c/for-1.h: New file.
3039 * testsuite/libgomp.c/for-2.c: New test.
3040 * testsuite/libgomp.c/for-2.h: New file.
3041 * testsuite/libgomp.c/for-3.c: New test.
3042 * testsuite/libgomp.c/pr58392.c: New test.
3043 * testsuite/libgomp.c/simd-1.c: New test.
3044 * testsuite/libgomp.c/simd-2.c: New test.
3045 * testsuite/libgomp.c/simd-3.c: New test.
3046 * testsuite/libgomp.c/simd-4.c: New test.
3047 * testsuite/libgomp.c/simd-5.c: New test.
3048 * testsuite/libgomp.c/simd-6.c: New test.
3049 * testsuite/libgomp.c/target-1.c: New test.
3050 * testsuite/libgomp.c/target-2.c: New test.
3051 * testsuite/libgomp.c/target-3.c: New test.
3052 * testsuite/libgomp.c/target-4.c: New test.
3053 * testsuite/libgomp.c/target-5.c: New test.
3054 * testsuite/libgomp.c/target-6.c: New test.
3055 * testsuite/libgomp.c/target-7.c: New test.
3056 * testsuite/libgomp.c/taskgroup-1.c: New test.
3057 * testsuite/libgomp.c/thread-limit-1.c: New test.
3058 * testsuite/libgomp.c/thread-limit-2.c: New test.
3059 * testsuite/libgomp.c/thread-limit-3.c: New test.
3060 * testsuite/libgomp.c/udr-1.c: New test.
3061 * testsuite/libgomp.c/udr-2.c: New test.
3062 * testsuite/libgomp.c/udr-3.c: New test.
3063 * testsuite/libgomp.c++/affinity-1.C: New test.
3064 * testsuite/libgomp.c++/atomic-10.C: New test.
3065 * testsuite/libgomp.c++/atomic-11.C: New test.
3066 * testsuite/libgomp.c++/atomic-12.C: New test.
3067 * testsuite/libgomp.c++/atomic-13.C: New test.
3068 * testsuite/libgomp.c++/atomic-14.C: New test.
3069 * testsuite/libgomp.c++/atomic-15.C: New test.
3070 * testsuite/libgomp.c++/cancel-for-1.C: New test.
3071 * testsuite/libgomp.c++/cancel-for-2.C: New test.
3072 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
3073 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
3074 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
3075 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
3076 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
3077 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
3078 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
3079 * testsuite/libgomp.c++/cancel-test.h: New file.
3080 * testsuite/libgomp.c++/for-9.C: New test.
3081 * testsuite/libgomp.c++/for-10.C: New test.
3082 * testsuite/libgomp.c++/for-11.C: New test.
3083 * testsuite/libgomp.c++/simd-1.C: New test.
3084 * testsuite/libgomp.c++/simd-2.C: New test.
3085 * testsuite/libgomp.c++/simd-3.C: New test.
3086 * testsuite/libgomp.c++/simd-4.C: New test.
3087 * testsuite/libgomp.c++/simd-5.C: New test.
3088 * testsuite/libgomp.c++/simd-6.C: New test.
3089 * testsuite/libgomp.c++/simd-7.C: New test.
3090 * testsuite/libgomp.c++/simd-8.C: New test.
3091 * testsuite/libgomp.c++/target-1.C: New test.
3092 * testsuite/libgomp.c++/target-2.C: New test.
3093 * testsuite/libgomp.c++/target-2-aux.cc: New file.
3094 * testsuite/libgomp.c++/target-3.C: New test.
3095 * testsuite/libgomp.c++/taskgroup-1.C: New test.
3096 * testsuite/libgomp.c++/udr-1.C: New test.
3097 * testsuite/libgomp.c++/udr-2.C: New test.
3098 * testsuite/libgomp.c++/udr-3.C: New test.
3099 * testsuite/libgomp.c++/udr-4.C: New test.
3100 * testsuite/libgomp.c++/udr-5.C: New test.
3101 * testsuite/libgomp.c++/udr-6.C: New test.
3102 * testsuite/libgomp.c++/udr-7.C: New test.
3103 * testsuite/libgomp.c++/udr-8.C: New test.
3104 * testsuite/libgomp.c++/udr-9.C: New test.
3105
bd599dea
JJ
31062013-09-20 Jakub Jelinek <jakub@redhat.com>
3107
3108 PR testsuite/57605
3109 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
3110 ALWAYS_CFLAGS.
3111
3cbe17f7
AM
31122013-09-20 Alan Modra <amodra@gmail.com>
3113
3114 * configure: Regenerate.
3115
4befd127
JJ
31162013-09-19 Jakub Jelinek <jakub@redhat.com>
3117
3118 * testsuite/libgomp.c/sections-2.c: New test.
3119
946c8f7b
MS
31202013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
3121
3122 * testsuite/libgomp.fortran/strassen.f90:
3123 Add dg-skip-if aarch64_tiny.
3124
1ef3b58e
IS
31252013-06-20 Iain Sandoe <iain@codesourcery.com>
3126 Cesar Philippidis <cesar@codesourcery.com>
3127
3128 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
3129 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
3130 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
3131 * testsuite/libgomp.fortran/fortran.exp: Likewise.
3132 * testsuite/libgomp.graphite/graphite.exp: Likewise.
3133 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
3134 Use dg-runtest rather than gfortran-dg-runtest.
3135
9275f73a
TS
31362013-06-10 Thomas Schwinge <thomas@codesourcery.com>
3137
3138 * testsuite/libgomp.c/icv-2.c: Extend current handling of
3139 Linux-based x86 systems to cover all GNU systems.
3140 * testsuite/libgomp.c/lock-3.c: Likewise.
3141 * testsuite/libgomp.c/pr48591.c: Likewise.
3142
492992e2
TS
31432013-06-06 Thomas Schwinge <thomas@codesourcery.com>
3144
48df3acb
TS
3145 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
3146 GNU/Hurd, as done for Linux-based systems.
3147
492992e2
TS
3148 * config/posix/ptrlock.h: Fix comment.
3149
4fed6b25
TB
31502013-05-27 Tobias Burnus <burnus@net-b.de>
3151
3152 PR fortran/57423
3153 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
3154 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
3155 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
3156 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
3157 omp_destroy_nest_lock): Correct arguments to match the one in
3158 the OpenMP spec.
3159 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
3160 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
3161 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
3162 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
3163
5a0f4dd3
JJ
31642013-05-16 Jakub Jelinek <jakub@redhat.com>
3165
3166 * testsuite/libgomp.c/loop-13.c: New test.
3167 * testsuite/libgomp.c/loop-14.c: New test.
3168 * testsuite/libgomp.c/loop-15.c: New test.
3169 * testsuite/libgomp.c++/loop-13.C: New test.
3170 * testsuite/libgomp.c++/loop-14.C: New test.
3171 * testsuite/libgomp.c++/loop-15.C: New test.
3172
6d840d99
JJ
31732013-02-06 Jakub Jelinek <jakub@redhat.com>
3174
3175 PR middle-end/56217
3176 * testsuite/libgomp.c++/pr56217.C: New test.
3177
bed8d8a6
AM
31782013-02-01 Alan Modra <amodra@gmail.com>
3179
3180 * task.c (GOMP_task, GOMP_taskwait): Comment.
3181
3b35cd04
DV
31822013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
3183 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
3184
3185 PR libgomp/55561
3186 * config/linux/wait.h (do_spin): Use atomic load for addr.
3187 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
3188 for intptr and ptrlock.
3189 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
3190 for ptrlock.
3191
9a647288
AM
31922013-01-22 Alan Modra <amodra@gmail.com>
3193
3194 PR libgomp/51376
3195 PR libgomp/56073
3196 * task.c (GOMP_task): Revert 2011-12-09 change.
3197 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
3198 barrier to read task->children..
3199 (gomp_barrier_handle_tasks): ..and matching atomic store with
3200 release barrier here when setting parent->children to NULL.
3201
f34dea03
JJ
32022013-01-16 Jakub Jelinek <jakub@redhat.com>
3203 Tobias Burnus <burnus@net-b.de>
3204
3205 PR driver/55884
3206 * testsuite/libgomp.fortran/fortran.exp: Use
3207 -fintrinsic-modules-path= instead of
3208 -fintrinsic-modules-path.
3209
8129609c
RS
32102013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
3211
3212 Update copyright years.
3213
aa86bf1e
TB
32142012-12-19 Tobias Burnus <burnus@net-b.de>
3215
3216 * testsuite/libgomp.fortran/fortran.exp: Set
3217 -fintrinsic-modules-path.
3218
2865ea66
TB
32192012-12-19 Tobias Burnus <burnus@net-b.de>
3220
3221 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
3222 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
3223
4c5ba8d0
JJ
32242012-11-21 Jakub Jelinek <jakub@redhat.com>
3225
3226 PR libgomp/55411
3227 * team.c (gomp_free_thread): Decrease gomp_managed_threads
3228 if pool had any threads_used.
3229
e9f958c2
JH
32302012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
3231
3232 * testsuite/libgomp.c++/pr24455.C: Use
3233 -Wl,-undefined,dynamic_lookup on darwin.
3234
a57d75dc
DE
32352012-11-07 David Edelsohn <dje.gcc@gmail.com>
3236
3237 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
3238
c6c08485
DH
32392012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
3240
3241 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
3242
c1f37c00
IB
32432012-10-23 Ian Bolton <ian.bolton@arm.com>
3244 Jim MacArthur <jim.macarthur@arm.com>
3245 Marcus Shawcroft <marcus.shawcroft@arm.com>
3246 Nigel Stephens <nigel.stephens@arm.com>
3247 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3248 Richard Earnshaw <rearnsha@arm.com>
3249 Sofiane Naci <sofiane.naci@arm.com>
3250 Stephen Thomas <stephen.thomas@arm.com>
3251 Tejas Belagod <tejas.belagod@arm.com>
3252 Yufeng Zhang <yufeng.zhang@arm.com>
3253
3254 * configure.tgt: Add AArch64.
3255
7c424acd
JM
32562012-10-04 Jason Merrill <jason@redhat.com>
3257
3258 * testsuite/libgomp.c++/tls-init1.C: New.
3259
6608378b
DE
32602012-09-14 David Edelsohn <dje.gcc@gmail.com>
3261
3262 * configure: Regenerated.
3263
c24dbebb
CLT
32642012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
3265
3266 * config/linux/mips/futex.h (sys_futex0): Change to static
3267 function with noinline, nomips16 attributes under MIPS16. Adjust
3268 asm statement to place 'li v0,SYS_futex' immediately before
3269 syscall insn.
3270
3d3949df
SL
32712012-07-04 Sandra Loosemore <sandra@codesourcery.com>
3272
3273 * libgomp.texi (Library Index): Renamed from "Index" to prevent
3274 conflict with index.html on case-insensitive file systems.
3275
68a12ef3
UB
32762012-07-03 Uros Bizjak <ubizjak@gmail.com>
3277
3278 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
3279 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
3280
33ad93b9 32812012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
3282 Michael Matz <matz@suse.de>
3283 Tobias Grosser <tobias@grosser.es>
3284 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
3285
3286 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
3287 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3288 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3289 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3290
e6fdc918
AS
32912012-06-28 Andreas Schwab <schwab@linux-m68k.org>
3292
3293 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
3294
62e0a1ed
RG
32952012-06-22 Richard Guenther <rguenther@suse.de>
3296
3297 Merge from graphite branch
3298 2012-01-13 Tobias Grosser <tobias@grosser.es>
3299
3300 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3301 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3302
26127932
JJ
33032012-06-07 Jakub Jelinek <jakub@redhat.com>
3304
3305 PR middle-end/53580
3306 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
3307 use GOMP_barrier () call instead.
3308 * testsuite/libgomp.c/pr26943-3.c: Likewise.
3309 * testsuite/libgomp.c/pr26943-4.c: Likewise.
3310 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
3311 call GOMP_barrier instead.
3312 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3313
43fa5db5
JJ
33142012-06-06 Jakub Jelinek <jakub@redhat.com>
3315
3316 PR libgomp/52993
3317 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
3318 argument to memset call.
3319
e6d5f8c9
L
33202012-05-16 H.J. Lu <hongjiu.lu@intel.com>
3321
3322 * configure: Regenerated.
3323
559d990c
MLI
33242012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3325
3326 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
3327
b9c23a61
L
33282012-03-31 H.J. Lu <hongjiu.lu@intel.com>
3329
3330 PR bootstrap/52812
3331 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
3332
c140ddf3
JJ
33332012-03-22 Jakub Jelinek <jakub@redhat.com>
3334
3335 PR middle-end/52547
3336 * testsuite/libgomp.c/pr52547.c: New test.
3337
6a26a74d
BRF
33382012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3339
3340 * testsuite/lib/libgomp.exp: load fortran-modules.exp
3341
b24513a1
RO
33422012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3343
3344 * configure.tgt (mips-sgi-irix6*): Remove.
3345
5c30094f
RO
33462012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3347
3348 * configure.tgt (alpha*-dec-osf*): Remove.
3349
3350 * config/osf/sem.h: Remove.
3351 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
3352
a339c9d6
EB
33532012-02-29 Eric Botcazou <ebotcazou@adacore.com>
3354
3355 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
3356
cc2de92d
RO
33572012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3358
3359 PR libstdc++/52188
3360 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
3361 Remove ENABLE_SYMVERS_SOL2.
3362 * configure: Regenerate.
3363 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
3364 (PREPROCESS): New variable.
3365 (libgomp.ver): New target.
3366 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
3367 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
3368 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
3369 Use libgomp.ver.
3370 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
3371 * Makefile.in: Regenerate.
3372
dd552284
WL
33732012-02-14 Walter Lee <walt@tilera.com>
3374
3375 * configure.tgt: Handle tilegx and tilepro.
3376 * config/linux/tile/futex.h: New file.
3377
31432e21
RG
33782012-02-08 Richard Guenther <rguenther@suse.de>
3379
3380 PR tree-optimization/46886
3381 * testsuite/libgomp.c/pr46886.c: New testcase.
3382
b9264b5f
MK
33832012-01-25 Matthias Klose <doko@ubuntu.com>
3384
3385 * config/linux/arm: Remove empty directory.
3386 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
3387
fbf7be80
AM
33882011-12-09 Alan Modra <amodra@gmail.com>
3389
3390 PR libgomp/51376
3391 * task.c (GOMP_taskwait): Don't access task->children outside of
3392 task_lock mutex region.
3393 (GOMP_task): Likewise.
3394
5de62d00
JJ
33952011-12-06 Jakub Jelinek <jakub@redhat.com>
3396
3397 PR libgomp/51132
3398 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
3399 to file scope.
3400 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3401 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3402 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3403 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3404 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3405
45608a43
AM
34062011-12-02 Alan Modra <amodra@gmail.com>
3407
3408 * config/linux/affinity.c: Use atomic rather than sync builtin.
3409 * config/linux/lock.c: Likewise.
3410 * config/linux/ptrlock.h: Likewise.
3411 * config/linux/ptrlock.c: Likewise.
3412 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
3413 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
3414 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
3415 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
3416 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
3417 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
3418 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
3419 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
3420 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
3421 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
3422
ab6dd406
AM
34232011-11-30 Alan Modra <amodra@gmail.com>
3424
3425 PR libgomp/51298
3426 * config/linux/bar.h: Use atomic rather than sync builtins.
3427 * config/linux/bar.c: Likewise. Add missing acquire
3428 synchronisation on generation field.
3429 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
3430 double unlock.
3431
b40c885f
AM
34322011-11-30 Alan Modra <amodra@gmail.com>
3433
3434 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
3435 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
3436 * config/linux/mutex.h: Use atomic rather than sync builtins.
3437 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
3438 * config/linux/omp-lock.h: Comment fix.
3439 * config/linux/arm/mutex.h: Delete.
3440 * config/linux/powerpc/mutex.h: Delete.
3441 * config/linux/ia64/mutex.h: Delete.
3442 * config/linux/mips/mutex.h: Delete.
3443
3e348fcc
AM
34442011-11-30 Alan Modra <amodra@gmail.com>
3445
3446 PR libgomp/51249
3447 * config/linux/sem.h: Rewrite.
3448 * config/linux/sem.c: Rewrite.
3449
cef86eb2
RH
34502011-11-28 Richard Henderson <rth@redhat.com>
3451
3452 * libgomp.h (enum memmodel): New.
3453
c6084f68
AT
34542011-11-21 Andreas Tobler <andreast@fgznet.ch>
3455
3456 * configure: Regenerate.
3457
06fe026c
MK
34582011-10-10 Matthias Klose <doko@ubuntu.com>
3459
3460 * config/posix95: Remove empty directory.
3461
a6c975bd
JJ
34622011-08-26 Jakub Jelinek <jakub@redhat.com>
3463
3464 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
3465
c26dffff
JJ
34662011-08-19 Jakub Jelinek <jakub@redhat.com>
3467
3468 PR fortran/49792
3469 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
3470 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
3471
ddaad3c8
RO
34722011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3473
3474 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
3475
98d03683
RO
34762011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3477
3478 PR libgomp/49965
3479 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
3480
e0b23d9f
UB
34812011-08-03 Uros Bizjak <ubizjak@gmail.com>
3482
3483 * config/linux/proc.h: New.
3484 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
3485 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
3486 (gomp_init_num_threads): Update call to cpuset_popcount.
3487 (get_num_procs): Ditto.
3488 * config/linux/affinity.c (gomp_init_affinity): Call
3489 gomp_cpuset_popcount.
3490
20906c66
JJ
34912011-08-02 Jakub Jelinek <jakub@redhat.com>
3492
3493 PR fortran/42041
3494 PR fortran/46752
3495 * omp.h.in (omp_in_final): New prototype.
3496 * omp_lib.f90.in (omp_in_final): New interface.
3497 (omp_integer_kind, omp_logical_kind): Remove
3498 and replace all its uses in the module with 4.
3499 (openmp_version): Change to 201107.
3500 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
3501 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
3502 kind for the parameters.
3503 (omp_in_final): New external.
3504 (openmp_version): Change to 201107.
3505 * task.c (omp_in_final): New function.
3506 (gomp_init_task): Initialize final_task.
3507 (GOMP_task): Remove unused attribute from flags. Handle final
3508 tasks.
3509 (GOMP_taskyield): New function.
3510 (omp_in_final): Return true if if (false) or final (true) task
3511 or descendant of final (true).
3512 * fortran.c (omp_in_final_): New function.
3513 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
3514 (GOMP_3.0): Export GOMP_taskyield.
3515 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
3516 variables.
3517 (parse_unsigned_long_list): New function.
3518 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
3519 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
3520 even if parse_affinity returned false.
3521 * config/linux/affinity.c (gomp_init_affinity): Handle
3522 gomp_cpu_affinity_len == 0.
3523 * libgomp_g.h (GOMP_taskyield): New prototype.
3524 * libgomp.h (struct gomp_task): Add final_task field.
3525 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
3526 * team.c (gomp_team_start): Override new task's nthreads_var icv
3527 if list form OMP_NUM_THREADS has been used and it has value for
3528 the new nesting level.
3529
3530 * testsuite/libgomp.c/atomic-11.c: New test.
3531 * testsuite/libgomp.c/atomic-12.c: New test.
3532 * testsuite/libgomp.c/atomic-13.c: New test.
3533 * testsuite/libgomp.c/atomic-14.c: New test.
3534 * testsuite/libgomp.c/reduction-6.c: New test.
3535 * testsuite/libgomp.c/task-5.c: New test.
3536 * testsuite/libgomp.c++/atomic-2.C: New test.
3537 * testsuite/libgomp.c++/atomic-3.C: New test.
3538 * testsuite/libgomp.c++/atomic-4.C: New test.
3539 * testsuite/libgomp.c++/atomic-5.C: New test.
3540 * testsuite/libgomp.c++/atomic-6.C: New test.
3541 * testsuite/libgomp.c++/atomic-7.C: New test.
3542 * testsuite/libgomp.c++/atomic-8.C: New test.
3543 * testsuite/libgomp.c++/atomic-9.C: New test.
3544 * testsuite/libgomp.c++/task-8.C: New test.
3545 * testsuite/libgomp.c++/reduction-4.C: New test.
3546 * testsuite/libgomp.fortran/allocatable7.f90: New test.
3547 * testsuite/libgomp.fortran/allocatable8.f90: New test.
3548 * testsuite/libgomp.fortran/crayptr3.f90: New test.
3549 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
3550 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
3551 * testsuite/libgomp.fortran/pointer1.f90: New test.
3552 * testsuite/libgomp.fortran/pointer2.f90: New test.
3553 * testsuite/libgomp.fortran/task4.f90: New test.
3554
35552011-08-02 Tobias Burnus <burnus@net-b.de>
3556
3557 * libgomp.texi: Update OpenMP spec references to 3.1.
3558 (omp_in_final,OMP_PROC_BIND): New sections.
3559 (OMP_NUM_THREADS): Document that the value can be now a list.
3560 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
3561
c01ecafc
L
35622011-08-02 H.J. Lu <hongjiu.lu@intel.com>
3563
3564 * config/linux/x86/futex.h: Check __x86_64__ instead of
3565 __LP64__.
3566
25142650
JJ
35672011-07-29 Jakub Jelinek <jakub@redhat.com>
3568
3569 PR middle-end/49897
3570 PR middle-end/49898
3571 * testsuite/libgomp.c/pr49897-1.c: New test.
3572 * testsuite/libgomp.c/pr49897-2.c: New test.
3573 * testsuite/libgomp.c/pr49898-1.c: New test.
3574 * testsuite/libgomp.c/pr49898-2.c: New test.
3575
f53d712f
L
35762011-07-28 H.J. Lu <hongjiu.lu@intel.com>
3577
3578 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
3579 for ia32 instead of ilp32.
3580
3581 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
3582 * testsuite/libgomp.c/atomic-6.c: Likewise.
3583
3689198d
SP
35842011-07-23 Sebastian Pop <sebastian.pop@amd.com>
3585
3586 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
3587 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
3588
1a79cb73
RO
35892011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3590
3591 PR libgomp/45351
3592 * config/osf/sem.h: New file.
3593 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
3594
c1f51484
RO
35952011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3596
3597 PR target/49541
3598 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
3599 ldflags.
3600
bfee0724
JJ
36012011-07-15 Jakub Jelinek <jakub@redhat.com>
3602
3603 * config/linux/wait.h (do_spin): New inline, largely copied
3604 from do_wait, just don't do futex_wait here, instead return true if
3605 it should be done.
3606 (do_wait): Implement using do_spin.
3607 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
3608 to prototype.
3609 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
3610 __sync_bool_compare_and_swap, pass the oldval to
3611 gomp_mutex_lock_slow.
3612 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
3613 If all mutex contenders are just spinning and not sleeping, don't
3614 change state to 2 unnecessarily. Optimize the loop when state has
3615 already become 2 to use just one atomic operation per loop instead
3616 of two.
3617 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
3618 to prototype.
3619 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
3620 __sync_bool_compare_and_swap, pass the oldval to
3621 gomp_mutex_lock_slow.
3622
fb79f500
JJ
36232011-06-22 Jakub Jelinek <jakub@redhat.com>
3624
3625 PR libgomp/49490
3626 * iter.c (gomp_iter_static_next): For chunk size 0
3627 only use n ceil/ nthreads size for the first
3628 n % nthreads threads in the team instead of
3629 all threads except for the last few ones which
3630 get less work or none at all.
3631 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
3632 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
3633 chunk argument, set run_sched_modifier to 0 for static
3634 resp. 1 for other kinds. If chunk argument is 0
3635 and not static, set value to 1.
3636
4577f730
JJ
36372011-05-19 Jakub Jelinek <jakub@redhat.com>
3638
ea93a47b
JJ
3639 PR c++/49043
3640 * testsuite/libgomp.c++/pr49043.C: New test.
3641
4577f730
JJ
3642 PR c++/48869
3643 * testsuite/libgomp.c++/pr48869.C: New test.
3644
e7385332
JJ
36452011-05-06 Jakub Jelinek <jakub@redhat.com>
3646
3647 PR fortran/48894
3648 * fortran.c: Include limits.h.
3649 (TO_INT): Define.
3650 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
3651 *set.
3652 (omp_set_num_threads_8_, omp_set_schedule_8_,
3653 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
3654 omp_get_team_size_8_): Use TO_INT macro.
3655 * testsuite/libgomp.fortran/pr48894.f90: New test.
3656
20790697
JJ
36572011-04-13 Jakub Jelinek <jakub@redhat.com>
3658
3659 PR middle-end/48591
3660 * testsuite/libgomp.c/pr48591.c: New test.
3661
bf382f5f
RO
36622011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3663
3664 PR bootstrap/48135
3665 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
3666 * configure: Regenerate.
3667
113a53c1
JJ
36682011-02-27 Jakub Jelinek <jakub@redhat.com>
3669
3670 PR fortran/47886
3671 * testsuite/libgomp.fortran/task3.f90: New test.
3672
0024f1af
TB
36732011-02-24 Tobias Burnus <burnus@net-b.de>
3674
3675 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
3676
21e1e594
JJ
36772011-02-23 Jakub Jelinek <jakub@redhat.com>
3678
3679 PR libgomp/47854
3680 * libgomp.texi (omp_get_wtime): Don't say time in the past
3681 must be Unix Epoch.
3682
67962076
JJ
36832011-02-18 Jakub Jelinek <jakub@redhat.com>
3684
3685 PR libgomp/47804
3686 * testsuite/libgomp.fortran/fortran.exp: Check for both
3687 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
3688 but $blddir != "", still append ${blddir}/${lang_library_path}
3689 to ld_library_path.
3690
3808007c
TB
36912011-02-16 Tobias Burnus <burnus@net-b.de>
3692
3693 PR libgomp/47758
3694 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
3695 of libquadmath.a before adding its libpath to ldflags.
3696
53b4d41d
JJ
36972011-02-14 Jakub Jelinek <jakub@redhat.com>
3698
3699 PR libgomp/47731
3700 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
3701 to FUTEX_WAIT futex syscall.
3702 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
3703
029c8f3e
RW
37042011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3705
3706 * configure: Regenerate.
3707
bddd6626
BK
37082011-01-20 Benjamin Kosnik <bkoz@redhat.com>
3709
3710 PR libstdc++/36104
3711 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
3712
f1d4ab26
GP
37132011-01-16 Gerald Pfeifer
3714
3715 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
3716
2b503136
JJ
37172010-12-14 Jakub Jelinek <jakub@redhat.com>
3718
3719 PR fortran/46874
3720 * libgomp.fortran/allocatable6.f90: New test.
3721
c0f9d583
RO
37222010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3723
3724 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
3725 * configure: Regenerate.
3726
7de6ba7a
DK
37272010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
3728
3729 PR target/40125
3730 PR lto/46695
3731 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
3732 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
3733 * aclocal.m4: Regenerate.
3734 * configure: Regenerate.
3735 * Makefile.in: Regenerate.
3736 * testsuite/Makefile.in: Regenerate.
3737
b7516041
JJ
37382010-12-02 Jakub Jelinek <jakub@redhat.com>
3739
edaadf74
JJ
3740 PR fortran/46753
3741 * libgomp.fortran/pr46753.f90: New test.
3742
4c698cf8
JJ
3743 PR libgomp/43706
3744 * env.c (initialize_env): Default to spin count 300000
3745 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
3746 is specified.
3747
b7516041
JJ
3748 PR libgomp/45240
3749 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
3750 at the end if sync builtins aren't supported.
3751
6b43a34c
RO
37522010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3753
3754 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
3755
950691fa
RO
37562010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3757
3758 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
3759
fb9041ea
IS
37602010-11-24 Iain Sandoe <iains@gcc.gnu.org>
3761
3762 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
3763
1ec601bf
FXC
37642010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3765 Tobias Burnus <burnus@net-b.de>
3766
3767 PR fortran/32049
3e348fcc 3768 * configure.ac:
1ec601bf
FXC
3769 * configure: Regenerate.
3770
d213e92e
MS
37712010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
3772
3773 * config/linux/futex.h: New.
3774 * config/linux/arm/mutex.h: New.
3775 * configure.tgt (arm*-*-linux*): Add config path.
3776
89d5c66f
SP
37772010-09-30 Sebastian Pop <sebastian.pop@amd.com>
3778
3779 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3780
87350d4a
TB
37812010-09-23 Tobias Burnus <burnus@net-b.de>
3782
3783 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
3784 Change Fortran datatype to LOGICAL.
3785 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
3786 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
3787
75bc9e5e
RW
37882010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3789
3790 * configure: Regenerate.
3791
acb5c916
JJ
37922010-07-26 Jakub Jelinek <jakub@redhat.com>
3793
3794 * libgomp.texi: Add function keyword to a couple of Fortran
3795 interfaces, use integer instead of int for Fortran.
3796
6a2ba183
AH
37972010-07-26 Aldy Hernandez <aldyh@redhat.com>
3798
3799 * libgomp.texi: Fix spelling and pasto problems throughout.
3800 Adjust prototypes to match code.
3801
df161b69
TB
38022010-07-24 Tobias Burnus <burnus@net-b.de>
3803
3804 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
3805 silence -fwhole-file warning.
3806
16c9d3b1
RO
38072010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3808
3809 * configure.tgt (*-*-solaris2.[56]*): Removed.
3810
6d28b933
RO
38112010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3812
3813 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
3814 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
3815 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
3816 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
3817 targetting solaris2*.
3818 * configure: Regenerate.
3819 * config.h.in: Regenerate.
3820
3821 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
3822 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
3823 Add libgomp_version_dep.
3824 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
3825 versioning.
3826 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
3827 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
3828 * Makefile.in: Regenerate.
3829
3830 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
3831 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
3832 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
3833 to common block, protected by
3834 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
3835
07a67d6a
GP
38362010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
3837
3838 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
3839
dbd34b89
IS
38402010-06-09 Iain Sandoe <iains@gcc.gnu.org>
3841
3842 PR bootstrap/43170
3843 * configure: Regenerate.
3844
13917ae3
RW
38452010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3846
3847 PR other/43620
3848 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
3849 * configure: Regenerate.
3850 * Makefile.in: Regenerate.
3851 * testsuite/Makefile.in: Regenerate.
3852
b83a701b
JJ
38532010-04-26 Jakub Jelinek <jakub@redhat.com>
3854
3855 PR c/43893
3856 * testsuite/libgomp.c/pr43893.c: New test.
3857 * testsuite/libgomp.c++/pr43893.C: New test.
3858
78db7d92
JJ
38592010-04-21 Jakub Jelinek <jakub@redhat.com>
3860
3861 PR middle-end/43570
3862 * testsuite/libgomp.fortran/vla8.f90: New test.
3863
5221d7a9
JJ
38642010-04-20 Jakub Jelinek <jakub@redhat.com>
3865
e4ba7a60
JJ
3866 PR libgomp/43706
3867 * config/linux/affinity.c (gomp_init_affinity): Decrease
3868 gomp_available_cpus if affinity mask confines the process to fewer
3869 CPUs.
3870 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
3871 non-NULL, just return gomp_available_cpus.
3872
5221d7a9
JJ
3873 PR libgomp/43569
3874 * sections.c (gomp_sections_init): Initialize ws->mode.
3875
289a9f86
UB
38762010-04-14 Uros Bizjak <ubizjak@gmail.com>
3877
3878 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
3879 not unused bar variable.
3880 * configure: Regenerate.
3881
4d9e8446
RW
38822010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3883
3884 * Makefile.in: Regenerate.
3885 * aclocal.m4: Regenerate.
3886 * testsuite/Makefile.in: Regenerate.
3887
80f046cc
JJ
38882010-03-22 Jakub Jelinek <jakub@redhat.com>
3889
3890 PR libgomp/42942
3891 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
3892 (initialize_env): Adjust callers.
3893 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
3894 when the argument is 0.
3895
3896 * testsuite/libgomp.c/pr42942.c: New test.
3897
b58543c3
SP
38982010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
3899
3900 PR middle-end/42644
3901 PR middle-end/42130
3902 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3903 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
3904
41d1138f
RO
39052010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3906
3907 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
3908 * testsuite/libgomp.c++/task-6.C: Likewise.
3909
6684eb28
SE
39102010-01-28 Steve Ellcey <sje@cup.hp.com>
3911
3912 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
3913
2122aa97
PB
39142010-01-26 Paolo Bonzini <bonzini@gnu.org>
3915
3916 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
3917 * configure: Regenerate.
3918
057dd91d
JJ
39192010-01-26 Jakub Jelinek <jakub@redhat.com>
3920
3921 PR fortran/42866
3922 * testsuite/libgomp.fortran/allocatable5.f90: New test.
3923
d0709b6a
PB
39242010-01-20 Paolo Bonzini <bonzini@gnu.org>
3925
3926 * configure.ac: Test for executability of GFORTRAN.
3927 * configure: Regenerate.
3928
b9497ab5
RO
39292010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3930
3931 * configure: Regenerate.
3932
45de5648
L
39332010-01-04 H.J. Lu <hongjiu.lu@intel.com>
3934
3935 PR libgomp/42602
3936 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
3937
e74003a1
RG
39382010-01-03 Richard Guenther <rguenther@suse.de>
3939
3940 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
3941
1b3abda8
SP
39422009-12-23 Sebastian Pop <sebpop@gmail.com>
3943
3944 * testsuite/libgomp.graphite/pr4118.c: New.
3945
e19977d3
IS
39462009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3947
3948 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
3949 for darwin, protect the test with require-effective-target tls_runtime.
3950 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
3951
1d32a772
IS
39522009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3953
3954 PR target/41605
3955 * testsuite/lib/libgomp.exp: Provide -B options to allow for
3956 link spec %s substitutions for static libraries.
3957
deb109b2
JH
39582009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
3959
3960 PR testsuite/42135
3961 * libgomp.graphite/force-parallel-2.c: Reduce array size.
3962
43e02a8a
RW
39632009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3964
3965 * Makefile.in: Regenerate.
3966 * configure: Regenerate.
3967 * testsuite/Makefile.in: Regenerate.
3968
17f35e23
DK
39692009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
3970
3971 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
3972 settings for LC_ALL and LANG.
3973
281e33e1
JJ
39742009-11-25 Jakub Jelinek <jakub@redhat.com>
3975
3976 PR fortran/42162
3977 * testsuite/libgomp.fortran/pr42162.f90: New test.
3978
2b32c27d
JJ
39792009-11-13 Jakub Jelinek <jakub@redhat.com>
3980
3981 PR middle-end/42029
281e33e1 3982 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 3983
89c74f4a
JJ
39842009-10-26 Jakub Jelinek <jakub@redhat.com>
3985
3986 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
3987 *s. Accept ld version without text in ()s.
3988 * configure: Regenerated.
3989
7e06c3d6
EB
39902009-10-22 Razya Ladelsky <razya@il.ibm.com>
3991
3992 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
3993
0046b1a7
RW
39942009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3995
3996 PR libgomp/41418
3997 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
3998 or a hyphen (happens with fortran language disabled).
3999 * configure: Regenerate.
4000
c82852f7
RW
40012009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4002
4003 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
4004 use sed script portable to Solaris /bin/sed for extracting ld
4005 version.
4006 * configure: Regenerate.
4007
98f3eb1f
AM
40082009-09-17 Alexander Monakov <amonakov@ispras.ru>
4009
4010 * testsuite/libgomp.graphite/bounds.c: New test.
4011
878f62e5
RW
40122009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4013
4014 * Makefile.am (libgomp_la_LINK): New.
4015 * Makefile.in: Regenerate.
4016
df58e648
RW
40172009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4018
4019 * configure.ac (AC_PREREQ): Bump to 2.64.
4020
5213506e
RW
40212009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4022
70fa0efa
RW
4023 * Makefile.am (install-html, install-pdf): Remove.
4024 * Makefile.in: Regenerate.
4025
5213506e
RW
4026 * Makefile.in: Regenerate.
4027 * aclocal.m4: Regenerate.
4028 * config.h.in: Regenerate.
4029 * configure: Regenerate.
4030 * testsuite/Makefile.in: Regenerate.
4031
84fec8a5
RW
40322009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4033
4034 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
4035 * Makefile.in: Regenerate.
4036
197c68cc
DK
40372009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
4038
4039 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
4040 * Makefile.in: Regenerate.
4041
693d54f2
TB
40422009-08-19 Tobias Burnus <burnus@net-b.de>
4043
4044 PR fortran/41102
4045 omp_lib.h.in: Fix -std=f95 errors.
4046
4047
8cac884c
DE
40482009-08-14 David Edelsohn <edelsohn@gnu.org>
4049
4050 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
4051 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
4052 * testsuite/libgomp.graphite/graphite.exp: New.
4053
78729ee2
AT
40542009-08-05 Andreas Tobler <a.tobler@schweiz.org>
4055
4056 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
4057 only build.
4058
b13b7f39
DD
40592009-08-04 David Daney <ddaney@caviumnetworks.com>
4060
4061 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
4062 needed memory barrier semantics.
4063 * config/linux/mips/mutex.h: New file.
4064
1b3b24c2
RW
40652009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4066
4067 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
4068
396b7fa4
JM
40692009-07-16 Joseph Myers <joseph@codesourcery.com>
4070
4071 * configure: Regenerate.
4072
33cde516
RS
40732009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
4074
4075 PR testsuite/40699
4076 PR testsuite/40707
4077 PR testsuite/40709
4078 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
4079 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
4080 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
4081
bc21bfa5
RS
40822009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
4083
4084 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
4085 options when choosing a multilib.
4086
b30bfd40
RS
40872009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
4088
4089 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
4090 ld_library_path. Use add_path. Add just find_libgcc_s to
4091 ld_library_path, not every libgcc multilib directory.
4092 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
4093 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
4094 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
4095 Use add_path.
4096 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
4097
479c15c2
NF
40982009-06-09 Nathan Froyd <froydnj@codesourcery.com>
4099
4100 * Makefile.am (LTLDFLAGS): Define.
4101 (LINK): Define.
4102 * Makefile.in: Regenerate.
4103
667e6f89
JB
41042009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
4105
4106 PR fortran/39718
4107 * testsuite/libgomp.fortran/fortran.exp: Don't link with
4108 libgfortranbegin, check existence of libgfortran.a instead of
4109 libgfortranbegin.a.
4110
6dea8e99
JJ
41112009-05-20 Jakub Jelinek <jakub@redhat.com>
4112
4113 PR libgomp/40174
4114 * team.c (gomp_thread_start): Destroy thr->release semaphore.
4115 (gomp_free_pool_helper): Likewise.
4116
34d01e1d
VL
41172009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
4118 Jakub Jelinek <jakub@redhat.com>
4119
4120 PR fortran/35423
4121 * testsuite/libgomp.fortran/workshare2.f90: New test.
4122
748086b7
JJ
41232009-04-09 Nick Clifton <nickc@redhat.com>
4124
4125 * iter.c: Change copyright header to refer to version 3 of the
4126 GNU General Public License with version 3.1 of the GCC Runtime
4127 Library Exception and to point readers at the COPYING3 and
4128 COPYING3.RUNTIME files and the FSF's license web page.
4129 * alloc.c: Likewise.
4130 * barrier.c: Likewise.
4131 * config/bsd/proc.c: Likewise.
4132 * config/linux/affinity.c: Likewise.
4133 * config/linux/alpha/futex.h: Likewise.
4134 * config/linux/bar.c: Likewise.
4135 * config/linux/bar.h: Likewise.
4136 * config/linux/ia64/futex.h: Likewise.
4137 * config/linux/ia64/mutex.h: Likewise.
4138 * config/linux/lock.c: Likewise.
4139 * config/linux/mips/futex.h: Likewise.
4140 * config/linux/mutex.c: Likewise.
4141 * config/linux/mutex.h: Likewise.
4142 * config/linux/powerpc/futex.h: Likewise.
4143 * config/linux/proc.c: Likewise.
4144 * config/linux/ptrlock.c: Likewise.
4145 * config/linux/ptrlock.h: Likewise.
4146 * config/linux/s390/futex.h: Likewise.
4147 * config/linux/sem.c: Likewise.
4148 * config/linux/sem.h: Likewise.
4149 * config/linux/sparc/futex.h: Likewise.
4150 * config/linux/wait.h: Likewise.
4151 * config/linux/x86/futex.h: Likewise.
4152 * config/mingw32/proc.c: Likewise.
4153 * config/mingw32/time.c: Likewise.
4154 * config/posix/affinity.c: Likewise.
4155 * config/posix/bar.c: Likewise.
4156 * config/posix/bar.h: Likewise.
4157 * config/posix/lock.c: Likewise.
4158 * config/posix/mutex.h: Likewise.
4159 * config/posix/proc.c: Likewise.
4160 * config/posix/ptrlock.h: Likewise.
4161 * config/posix/sem.c: Likewise.
4162 * config/posix/sem.h: Likewise.
4163 * config/posix/time.c: Likewise.
4164 * config/posix95/lock.c: Likewise.
4165 * critical.c: Likewise.
4166 * env.c: Likewise.
4167 * error.c: Likewise.
4168 * fortran.c: Likewise.
4169 * iter_ull.c: Likewise.
4170 * libgomp.h: Likewise.
4171 * libgomp_f.h.in: Likewise.
4172 * libgomp_g.h: Likewise.
4173 * loop.c: Likewise.
4174 * loop_ull.c: Likewise.
4175 * omp.h.in: Likewise.
4176 * omp_lib.f90.in: Likewise.
4177 * omp_lib.h.in: Likewise.
4178 * ordered.c: Likewise.
4179 * parallel.c: Likewise.
4180 * sections.c: Likewise.
4181 * single.c: Likewise.
4182 * task.c: Likewise.
4183 * team.c: Likewise.
4184 * work.c: Likewise.
4185
41862009-04-09 Jakub Jelinek <jakub@redhat.com>
4187
4188 * testsuite/config/default.exp: Change copyright header to refer to
4189 version 3 of the GNU General Public License and to point readers
4190 at the COPYING3 file and the FSF's license web page.
4191
4f0ae266
JJ
41922009-04-08 Jakub Jelinek <jakub@redhat.com>
4193
4194 PR middle-end/39573
4195 * libgomp.c++/pr39573.C: New test.
4196
03742a9b
JJ
41972009-04-01 Jakub Jelinek <jakub@redhat.com>
4198
4199 PR other/39591
4200 * testsuite/libgomp.c/pr39591-1.c: New test.
4201 * testsuite/libgomp.c/pr39591-2.c: New test.
4202 * testsuite/libgomp.c/pr39591-3.c: New test.
4203
e50ea10b
UB
42042009-03-25 Uros Bizjak <ubizjak@gmail.com>
4205
4206 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
4207 * testsuite/libgomp.c/atomic-6.c: Ditto.
4208
c5cdb03f
JJ
42092009-03-23 Jakub Jelinek <jakub@redhat.com>
4210
4211 PR c/39495
4212 * testsuite/libgomp.c/loop-12.c: New test.
4213 * testsuite/libgomp.c/loop-11.c: New test.
4214 * testsuite/libgomp.c++/loop-11.C: New test.
4215 * testsuite/libgomp.c++/loop-12.C: New test.
4216 * testsuite/libgomp.c++/for-8.C: New test.
4217
7a9d3fe8
RW
42182009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4219
4220 * configure: Regenerate.
4221
3ad6b266
JJ
42222009-02-11 Jakub Jelinek <jakub@redhat.com>
4223
4224 PR middle-end/39154
4225 * testsuite/libgomp.c/pr39154.c: New test.
4226
b39dea08
ILT
42272009-01-30 Ian Lance Taylor <iant@google.com>
4228
4229 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
4230 libgomp_ld_is_gold. Get gold version number.
4231 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
4232 * configure: Rebuild.
4233
72c66596
IS
42342009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
4235
e50ea10b 4236 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
4237 use libgfortran.a%s in their specs.
4238
876080ff
JJ
42392009-01-07 Jakub Jelinek <jakub@redhat.com>
4240
4241 PR libgomp/38086
4242 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
4243 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
4244 HAVE_AS_SYMVER_DIRECTIVE is not defined.
4245 * configure: Regenerated.
4246 * config.h.in: Likewise.
4247
e4ebaef3
JJ
42482008-12-28 Jakub Jelinek <jakub@redhat.com>
4249
4250 PR c++/38650
4251 * testsuite/libgomp.c/pr38650.c: New test.
4252 * testsuite/libgomp.c++/pr38650.C: New test.
4253
382017a6
JJ
42542008-12-27 Jakub Jelinek <jakub@redhat.com>
4255
4256 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
4257
79644b27
UB
42582008-12-26 Uros Bizjak <ubizjak@gmail.com>
4259
4260 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
4261
baafc534
RW
42622008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4263
4264 * configure: Regenerate.
4265
d9c194cb
JJ
42662008-12-08 Jakub Jelinek <jakub@redhat.com>
4267
4268 PR middle-end/36802
4269 * testsuite/libgomp.c/pr36802-1.c: New test.
4270 * testsuite/libgomp.c/pr36802-2.c: New test.
4271 * testsuite/libgomp.c/pr36802-3.c: New test.
4272
86a182bf
JJ
42732008-12-01 Janis Johnson <janis187@us.ibm.com>
4274
4275 PR libgomp/38270
4276 * config/linux/powerpc/mutex.h: New.
4277
956adfaf
JJ
42782008-12-01 Jakub Jelinek <jakub@redhat.com>
4279
a2d4cdc9
JJ
4280 PR c++/38257
4281 * testsuite/libgomp.c++/for-7.C: New test.
4282
956adfaf
JJ
4283 PR c++/38348
4284 * testsuite/libgomp.c++/for-6.C: New test.
4285
d4038ca2
JJ
42862008-11-26 Janis Johnson <janis187@us.ibm.com>
4287
4288 PR testsuite/28870
4289 * testsuite/lib/libgomp.exp: Include new timeout library files.
4290 (libgomp_target_compile): Set timeout value from new proc.
4291
8b159eea
SE
42922008-11-13 Steve Ellcey <sje@cup.hp.com>
4293
4294 PR libgomp/37938
4295 * config/linux/ia64/mutex.h: New.
4296
5c6ed53a
TB
42972008-11-04 Tobias Burnus <burnus@net-b.de>
4298
4299 PR libgomp/37935
4300 * libgomp.texi (Runtime library routines, environment variables):
4301 Update for OpenMP version 3.0.
4302
6b4a97ed
PG
43032008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
4304 Steve Ellcey <sje@cup.hp.com>
4305
4306 * configure: Regenerate for new libtool.
4307 * Makefile.in: Ditto.
4308 * testsuite/Makefile.in: Ditto.
4309
e2b34106
JJ
43102008-09-19 Jakub Jelinek <jakub@redhat.com>
4311 Andreas Tobler <a.tobler@schweiz.org>
4312
4313 * config/bsd/proc.c: New file.
8c3b3600 4314 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
4315 * configure.ac: Check for header <sys/sysctl.h>
4316 * configure: Regenerate.
4317 * config.h.in: Likewise.
4318
3606b8bf
JJ
43192008-09-05 Janis Johnson <janis187@us.ibm.com>
4320
4321 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
4322
6528b88d
AL
43232008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
4324
4325 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
4326 * Makefile.in: Regenerated.
4327 * testsuite/Makefile.in: Regenerated.
4328
d9b14b12 43292008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 4330
a16b68bb 4331 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
4332 depend on blddir if blddir exists.
4333 (libgomp_target_compile): Likewise.
4334 * testsuite/libgomp.c++/c++.exp: Likewise.
4335 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4336
70b1e376
RW
43372008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4338
4339 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
4340 Do not list GPL as Invariant Section.
4341
318e8c3f
IG
43422008-07-28 Ilie Garbacea <ilie@mips.com>
4343 Chao-ying Fu <fu@mips.com>
4344
4345 * configure.tgt: Enable futex for MIPS.
4346 * config/linux/mips/futex.h: New file.
4347
4db72361
JJ
43482008-07-16 Jakub Jelinek <jakub@redhat.com>
4349
4350 * team.c (gomp_team_end): Free team immediately if it has
4351 just one thread.
4352
87bd23b8
DE
43532008-07-08 David Edelsohn <edelsohn@gnu.org>
4354
4355 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
4356 * testsuite/libgomp.fortran/fortran.exp: Same.
4357 * testsuite/libgomp.c/c.exp: Same.
4358 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
4359 directory to library path first.
4360
323ff903
KW
43612008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
4362
4363 * env.c (parse_stacksize): Add cast to avoid warning.
4364 (parse_spincount): Likewise.
4365
b357f682
JJ
43662008-06-27 Jakub Jelinek <jakub@redhat.com>
4367
ca2b1311
JJ
4368 * testsuite/libgomp.c/loop-10.c: New test.
4369 * libgomp.c/loop-3.c (main): Add lastprivate clause.
4370 * libgomp.c++/loop-6.C (main): Likewise.
4371
b357f682
JJ
4372 PR debug/36617
4373 * testsuite/libgomp.c/debug-1.c: New test.
4374
09a46078
JJ
43752008-06-19 Jakub Jelinek <jakub@redhat.com>
4376
4377 * testsuite/libgomp.c/nqueens-1.c: New test.
4378
2368a460
JJ
4379 PR c++/36523
4380 * testsuite/libgomp.c++/task-7.C: New function.
4381
18c04407
RW
43822008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4383
4384 * configure: Regenerate.
4385
9c4e59e0
JDA
43862008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4387
4388 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
4389 mutex when HAVE_SYNC_BUILTINS isn't defined.
4390
6ccde948
RW
43912008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4392
4393 * libgomp.texi (omp_test_lock): Fix typo.
4394
b896f9fd
TB
43952008-06-12 Tobias Burnus <burnus@net-b.de>
4396
4397 * omp_lib.f90.in: Add "implicit none".
4398
c34938a8
JJ
43992008-06-12 Jakub Jelinek <jakub@redhat.com>
4400
4401 PR middle-end/36506
4402 * testsuite/libgomp.c/reduction-5.c: New test.
4403
976e44e3
JJ
44042008-06-11 Jakub Jelinek <jakub@redhat.com>
4405
5f836cbb
JJ
4406 * libgomp.h (struct gomp_task): Add in_tied_task field.
4407 * task.c (gomp_init_task): Initialize it.
4408 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
4409 unconditionally. Don't call gomp_team_barrier_wake if
4410 current task is implicit or if(0) from implicit and number of
4411 running tasks is equal to nthreads - 1.
4412
01501fc8
JJ
4413 PR libgomp/36471
4414 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
4415 omp_get_team_size_8): Fix pastos.
4416
976e44e3
JJ
4417 PR libgomp/36469
4418 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
4419 * configure: Regenerated.
4420 * config.h.in: Regenerated.
4421 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
4422 defined.
4423
e919209b
AT
44242008-06-06 Andreas Tobler <a.tobler@schweiz.org>
4425
4426 PR bootstrap/36452
4427 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
4428 (GOMP_loop_ull_dynamic_start): Likewise.
4429 (GOMP_loop_ull_guided_start): Likewise.
4430 (GOMP_loop_ull_ordered_static_start): Likewise.
4431 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
4432 (GOMP_loop_ull_ordered_guided_start): Likewise.
4433
a68ab351
JJ
44342008-06-06 Jakub Jelinek <jakub@redhat.com>
4435 Richard Henderson <rth@redhat.com>
4436 Ulrich Drepper <drepper@redhat.com>
4437 Jakob Blomer <jakob.blomer@ira.uka.de>
4438
4439 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
4440 Substitute also OMP_*LOCK_25*.
4441 * configure: Regenerated.
4442 * config.h.in: Regenerated.
4443 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
4444 ptrlock.c and task.c.
4445 * Makefile.in: Regenerated.
4446 * testsuite/Makefile.in: Regenerated.
4447 * task.c: New file.
4448 * loop_ull.c: New file.
4449 * iter_ull.c: New file.
4450 * libgomp.h: Include ptrlock.h.
4451 (enum gomp_task_kind): New type.
4452 (struct gomp_team): Add task_lock, task_queue, task_count,
4453 task_running_count, single_count fields. Add
4454 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
4455 Remove work_share_lock, generation_mask,
4456 oldest_live_gen, num_live_gen and init_work_shares fields, add
4457 work work_share_list_alloc, work_share_list_free and work_share_chunk
4458 fields. Change work_shares from pointer to pointers into an array.
4459 Change ordered_release field into gomp_sem_t ** from flexible array
4460 member. Add implicit_task and initial_work_shares fields.
4461 Move close to the end of the struct.
4462 (struct gomp_team_state): Add single_count, last_work_share,
4463 active_level and level fields, remove work_share_generation.
4464 (gomp_barrier_handle_tasks): New prototype.
4465 (gomp_finish_task): New inline function.
4466 (struct gomp_work_share): Move chunk_size, end, incr into
4467 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
4468 next_ll fields. Reshuffle fields. Add next_alloc,
4469 next_ws, next_free and inline_ordered_team_ids fields, change
4470 ordered_team_ids into pointer from flexible array member.
4471 Add mode field. Put lock and next into a different cache line
4472 from most of the write-once fields.
4473 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
4474 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
4475 gomp_iter_ull_guided_next): New prototypes.
4476 (gomp_new_icv): New prototype.
4477 (struct gomp_thread): Add thread_pool and task fields.
4478 (struct gomp_thread_pool): New type.
4479 (gomp_new_team): New prototype.
4480 (gomp_team_start): Change type of last argument.
4481 (gomp_new_work_share): Removed.
4482 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
4483 (gomp_work_share_init_done): New static inline.
4484 (gomp_throttled_spin_count_var, gomp_available_cpus,
4485 gomp_managed_threads): New extern decls.
4486 (gomp_init_task): New prototype.
4487 (gomp_spin_count_var): New extern var decl.
4488 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
4489 or no alias support, or if not PIC.
4490 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
4491 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
4492 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
4493 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
4494 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
4495 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
4496 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
4497 gomp_test_nest_lock_25): New prototypes.
4498 (omp_lock_symver, strong_alias): Define.
4499 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
4500 decls.
4501 (gomp_end_task): New.
4502 (struct gomp_task_icv, gomp_global_icv): New.
4503 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
4504 (struct gomp_task): New.
4505 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
4506 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
4507 (gomp_icv): New.
4508 (gomp_schedule_type): Reorder enum to match
4509 omp_sched_t.
4510 * team.c (struct gomp_thread_start_data): Add thread_pool and task
4511 fields.
4512 (gomp_thread_start): Add gomp_team_barrier_wait call.
4513 For non-nested case remove clearing of docked thread thr fields.
4514 Use pool fields instead of global gomp_* variables. Use
4515 gomp_barrier_wait_last when needed. Initialize ts.active_level.
4516 Create tasks for each member thread.
4517 (free_team): Only destroy team barrier, task_lock here and free it.
4518 (gomp_free_thread): Free last_team if non-NULL.
4519 (gomp_team_end): Call gomp_team_barrier_wait instead of
4520 gomp_barrier_wait. For nested case call one extra
4521 gomp_barrier_wait. Move here some destruction from free_team.
4522 Call free_team on pool->last_team if any, rather than freeing
4523 current team. Destroy work_share_list_free_lock ifndef
4524 HAVE_SYNC_BUILTINS.
4525 (gomp_new_icv): New function.
4526 (gomp_threads, gomp_threads_size, gomp_threads_used,
4527 gomp_threads_dock): Removed.
4528 (gomp_thread_destructor): New variable.
4529 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
4530 functions.
4531 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 4532 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
4533 Initialize thread_pool field for new threads. Clear single_count.
4534 Change last argument from ws to team, don't create
4535 new team, set ts.work_share to &team->work_shares[0] and clear
4536 ts.last_work_share. Don't clear ts.work_share_generation.
4537 If number of threads changed, adjust atomically gomp_managed_threads.
4538 Use gomp_init_task instead of gomp_new_task,
4539 set thr->task to the corresponding implicit_task array entry.
4540 Create tasks for each member thread. Initialize ts.level.
4541 (initialize_team): Call pthread_key_create on
4542 gomp_thread_destructor.
4543 (team_destructor): New function.
4544 (new_team): Removed.
4545 (gomp_new_team): New function.
4546 (free_team): Free gomp_work_share blocks chained through next_alloc,
4547 instead of freeing work_shares and destroying work_share_lock.
4548 (gomp_team_end): Call gomp_fini_work_share. If number of threads
4549 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
4550 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
4551 of gomp_barrier_wait.
4552 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
4553 instead of gomp_barrier_wait. Call gomp_work_share_init_done
4554 if gomp_work_share_start returned true. Don't unlock ws->lock.
4555 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
4556 of gomp_barrier_wait.
4557 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
4558 gomp_work_share_init_done if gomp_work_share_start returned true.
4559 Don't unlock ws->lock.
4560 * work.c: Include stddef.h.
4561 (free_work_share): Use work_share_list_free_lock instead
4562 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
4563 Call gomp_fini_work_share and then either free ws if orphaned, or
4564 put it into work_share_list_free list of the current team.
4565 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
4566 functions.
4567 (gomp_work_share_start, gomp_work_share_end,
4568 gomp_work_share_end_nowait): Rewritten.
4569 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
4570 (openmp_version): Set to 200805.
4571 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
4572 omp_sched_guided, omp_sched_auto): New parameters.
4573 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4574 omp_set_max_active_levels, omp_get_max_active_levels,
4575 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
4576 omp_get_active_level): New interfaces.
4577 * omp_lib.h.in (openmp_version): Set to 200805.
4578 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
4579 omp_sched_guided, omp_sched_auto): New parameters.
4580 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4581 omp_set_max_active_levels, omp_get_max_active_levels,
4582 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
4583 omp_get_active_level): New externals.
4584 * loop.c: Include limits.h.
4585 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
4586 GFS_AUTO.
4587 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
4588 Likewise. Use gomp_icv.
4589 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
4590 ts.static_trip here.
4591 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
4592 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
4593 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
4594 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
4595 don't unlock ws->lock, otherwise lock it.
4596 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
4597 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
4598 (gomp_parallel_loop_start): Call gomp_new_team instead of
4599 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
4600 Adjust gomp_team_start caller. Pass 0 as second argument to
4601 gomp_resolve_num_threads.
4602 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
4603 If adding ws->chunk_size nthreads + 1 times after end won't
4604 overflow, set ws->mode to 1.
4605 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
4606 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
4607 GOMP_loop_ull_ordered_static_start,
4608 GOMP_loop_ull_ordered_dynamic_start,
4609 GOMP_loop_ull_ordered_guided_start,
4610 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
4611 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
4612 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
4613 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
4614 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
4615 prototypes.
4616 * libgomp.map: Export lock routines also @@OMP_2.0.
4617 (GOMP_loop_ordered_dynamic_first,
4618 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
4619 GOMP_loop_ordered_static_first): Remove.
4620 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
4621 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
4622 GOMP_loop_ull_ordered_dynamic_next,
4623 GOMP_loop_ull_ordered_dynamic_start,
4624 GOMP_loop_ull_ordered_guided_next,
4625 GOMP_loop_ull_ordered_guided_start,
4626 GOMP_loop_ull_ordered_runtime_next,
4627 GOMP_loop_ull_ordered_runtime_start,
4628 GOMP_loop_ull_ordered_static_next,
4629 GOMP_loop_ull_ordered_static_start,
4630 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
4631 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
4632 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
4633 (omp_set_schedule, omp_get_schedule,
4634 omp_get_thread_limit, omp_set_max_active_levels,
4635 omp_get_max_active_levels, omp_get_level,
4636 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
4637 omp_set_schedule_, omp_set_schedule_8_,
4638 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
4639 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
4640 omp_get_max_active_levels_, omp_get_level_,
4641 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
4642 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
4643 New exports @@OMP_3.0.
4644 * omp.h.in (omp_sched_t): New type.
4645 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4646 omp_set_max_active_levels, omp_get_max_active_levels,
4647 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
4648 omp_get_active_level): New prototypes.
4649 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
4650 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
4651 gomp_thread_limit_var, gomp_remaining_threads_count,
4652 gomp_remaining_threads_lock): New variables.
4653 (parse_spincount): New function.
4654 (initialize_env): Call gomp_init_num_threads unconditionally.
4655 Initialize gomp_available_cpus. Call parse_spincount,
4656 initialize gomp_{,throttled_}spin_count_var
4657 depending on presence and value of OMP_WAIT_POLICY and
4658 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
4659 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
4660 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
4661 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
4662 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
4663 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
4664 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
4665 (gomp_global_icv): New.
4666 (parse_schedule): Use it. Parse "auto".
4667 (omp_set_num_threads): Use gomp_icv.
4668 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
4669 Likewise.
4670 (omp_get_max_threads): Move from parallel.c.
4671 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4672 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
4673 add ialias.
4674 (parse_stacksize, parse_wait_policy): New functions.
4675 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
4676 both wrappers for compatibility and new locks.
4677 (omp_set_schedule, omp_get_schedule,
4678 omp_get_thread_limit, omp_set_max_active_levels,
4679 omp_get_max_active_levels, omp_get_level,
4680 omp_get_ancestor_thread_num, omp_get_team_size,
4681 omp_get_active_level): New ialias_redirect.
4682 (omp_set_schedule_, omp_set_schedule_8_,
4683 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
4684 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
4685 omp_get_max_active_levels_, omp_get_level_,
4686 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
4687 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
4688 New functions.
4689 * parallel.c: Include limits.h.
4690 (gomp_resolve_num_threads): Add count argument. Rewritten.
4691 (GOMP_parallel_start): Call gomp_new_team and pass that as last
4692 argument to gomp_team_start. Pass 0 as second argument to
4693 gomp_resolve_num_threads.
4694 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
4695 if gomp_thread_limit_var != ULONG_MAX.
4696 (omp_in_parallel): Implement using ts.active_level.
4697 (omp_get_max_threads): Move to env.c.
4698 (omp_get_level, omp_get_ancestor_thread_num,
4699 omp_get_team_size, omp_get_active_level): New functions,
4700 add ialias.
4701 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
4702 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
4703 gomp_iter_dynamic_next instead of the _locked variant and don't take
4704 lock around it, otherwise acquire it before calling
4705 gomp_iter_dynamic_next_locked.
4706 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
4707 gomp_iter_dynamic_next instead of the _locked variant and don't take
4708 lock around it.
4709 (GOMP_parallel_sections_start): Call gomp_new_team instead of
4710 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
4711 Adjust gomp_team_start caller. Pass count as second argument to
4712 gomp_resolve_num_threads, don't adjust num_threads after the call.
4713 Use gomp_icv.
4714 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
4715 ws->chunk_size by incr.
4716 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
4717 code.
4718 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
4719 types.
4720 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
4721 (omp_check_defines): Check even the compat defines.
4722 * config/linux/ptrlock.c: New file.
4723 * config/linux/ptrlock.h: New file.
4724 * config/linux/wait.h: New file.
4725 * config/posix/ptrlock.c: New file.
4726 * config/posix/ptrlock.h: New file.
4727 * config/linux/bar.h (gomp_team_barrier_wait,
4728 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
4729 (gomp_team_barrier_set_task_pending,
4730 gomp_team_barrier_clear_task_pending,
4731 gomp_team_barrier_set_waiting_for_tasks,
4732 gomp_team_barrier_waiting_for_tasks,
4733 gomp_team_barrier_done): New inlines.
4734 (gomp_barrier_t): Rewritten.
4735 (gomp_barrier_state_t): New typedef.
4736 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
4737 gomp_barrier_wait_start): Rewritten.
4738 (gomp_barrier_wait_end): Change second argument to
4739 gomp_barrier_state_t.
4740 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
4741 inlines.
4742 * config/linux/bar.c: Include wait.h instead of libgomp.h and
4743 futex.h.
4744 (gomp_barrier_wait_end): Rewritten.
4745 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
4746 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
4747 * config/posix/bar.h (gomp_barrier_t): Add generation field.
4748 (gomp_barrier_state_t): New typedef.
4749 (gomp_team_barrier_wait,
4750 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
4751 (gomp_barrier_wait_start): Or all but low 2 bits from generation
4752 into the return value. Return gomp_barrier_state_t.
4753 (gomp_team_barrier_set_task_pending,
4754 gomp_team_barrier_clear_task_pending,
4755 gomp_team_barrier_set_waiting_for_tasks,
4756 gomp_team_barrier_waiting_for_tasks,
4757 gomp_team_barrier_done): New inlines.
4758 (gomp_barrier_wait_end): Change second argument to
4759 gomp_barrier_state_t.
4760 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
4761 inlines.
4762 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
4763 (gomp_barrier_wait_end): Change second argument to
3e348fcc 4764 gomp_barrier_state_t.
a68ab351
JJ
4765 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
4766 gomp_team_barrier_wake): New functions.
4767 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
4768 futex.h.
4769 (gomp_futex_wake, gomp_futex_wait): New variables.
4770 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
4771 * config/linux/lock.c: Rewrite to make locks task owned,
4772 for backwards compatibility provide the old entrypoints
4773 if symbol versioning. Include wait.h instead of libgomp.h and
4774 futex.h.
4775 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
4776 * config/posix95/lock.c: Rewrite to make locks task owned,
4777 for backwards compatibility provide the old entrypoints
4778 if symbol versioning.
4779 * config/posix/lock.c: Rewrite to make locks task owned,
4780 for backwards compatibility provide the old entrypoints
4781 if symbol versioning.
4782 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
4783 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
4784 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
4785 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4786 (sys_futex0): Return error code.
4787 (futex_wake, futex_wait): If ENOSYS was returned, clear
4788 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4789 (cpu_relax, atomic_write_barrier): New static inlines.
4790 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4791 (futex_wake, futex_wait): If ENOSYS was returned, clear
4792 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4793 (cpu_relax, atomic_write_barrier): New static inlines.
4794 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4795 (sys_futex0): Return error code.
4796 (futex_wake, futex_wait): If ENOSYS was returned, clear
4797 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4798 (cpu_relax, atomic_write_barrier): New static inlines.
4799 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4800 (sys_futex0): Return error code.
4801 (futex_wake, futex_wait): If ENOSYS was returned, clear
4802 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4803 (cpu_relax, atomic_write_barrier): New static inlines.
4804 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4805 (sys_futex0): Return error code.
4806 (futex_wake, futex_wait): If ENOSYS was returned, clear
4807 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4808 (cpu_relax, atomic_write_barrier): New static inlines.
4809 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4810 (sys_futex0): Return error code.
4811 (futex_wake, futex_wait): If ENOSYS was returned, clear
4812 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4813 (cpu_relax, atomic_write_barrier): New static inlines.
4814 * config/linux/sem.c: Include wait.h instead of libgomp.h and
4815 futex.h.
4816 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
4817 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
4818 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
4819 types.
4820 (omp_nest_lock_t): Change owner into void *, add lock field.
4821 * config/posix95/omp-lock.h: Include semaphore.h.
4822 (omp_lock_25_t, omp_nest_lock_25_t): New types.
4823 (omp_lock_t): Use sem_t instead of mutex if semaphores
4824 aren't broken.
4825 (omp_nest_lock_t): Likewise. Change owner to void *.
4826 * config/posix/omp-lock.h: Include semaphore.h.
4827 (omp_lock_25_t, omp_nest_lock_25_t): New types.
4828 (omp_lock_t): Use sem_t instead of mutex if semaphores
4829 aren't broken.
4830 (omp_nest_lock_t): Likewise. Add owner field.
4831
48322008-06-06 Jakub Jelinek <jakub@redhat.com>
4833
4834 * testsuite/libgomp.c/collapse-1.c: New test.
4835 * testsuite/libgomp.c/collapse-2.c: New test.
4836 * testsuite/libgomp.c/collapse-3.c: New test.
4837 * testsuite/libgomp.c/icv-1.c: New test.
4838 * testsuite/libgomp.c/icv-2.c: New test.
4839 * testsuite/libgomp.c/lib-2.c: New test.
4840 * testsuite/libgomp.c/lock-1.c: New test.
4841 * testsuite/libgomp.c/lock-2.c: New test.
4842 * testsuite/libgomp.c/lock-3.c: New test.
4843 * testsuite/libgomp.c/loop-4.c: New test.
4844 * testsuite/libgomp.c/loop-5.c: New test.
4845 * testsuite/libgomp.c/loop-6.c: New test.
4846 * testsuite/libgomp.c/loop-7.c: New test.
4847 * testsuite/libgomp.c/loop-8.c: New test.
4848 * testsuite/libgomp.c/loop-9.c: New test.
4849 * testsuite/libgomp.c/nested-3.c: New test.
4850 * testsuite/libgomp.c/nestedfn-6.c: New test.
4851 * testsuite/libgomp.c/sort-1.c: New test.
4852 * testsuite/libgomp.c/task-1.c: New test.
4853 * testsuite/libgomp.c/task-2.c: New test.
4854 * testsuite/libgomp.c/task-3.c: New test.
4855 * testsuite/libgomp.c/task-4.c: New test.
4856 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
4857 to C++ testsuite default compiler options.
4858 * testsuite/libgomp.c++/collapse-1.C: New test.
4859 * testsuite/libgomp.c++/collapse-2.C: New test.
4860 * testsuite/libgomp.c++/ctor-10.C: New test.
4861 * testsuite/libgomp.c++/for-1.C: New test.
4862 * testsuite/libgomp.c++/for-2.C: New test.
4863 * testsuite/libgomp.c++/for-3.C: New test.
4864 * testsuite/libgomp.c++/for-4.C: New test.
4865 * testsuite/libgomp.c++/for-5.C: New test.
4866 * testsuite/libgomp.c++/loop-8.C: New test.
4867 * testsuite/libgomp.c++/loop-9.C: New test.
4868 * testsuite/libgomp.c++/loop-10.C: New test.
4869 * testsuite/libgomp.c++/task-1.C: New test.
4870 * testsuite/libgomp.c++/task-2.C: New test.
4871 * testsuite/libgomp.c++/task-3.C: New test.
4872 * testsuite/libgomp.c++/task-4.C: New test.
4873 * testsuite/libgomp.c++/task-5.C: New test.
4874 * testsuite/libgomp.c++/task-6.C: New test.
4875 * testsuite/libgomp.fortran/allocatable1.f90: New test.
4876 * testsuite/libgomp.fortran/allocatable2.f90: New test.
4877 * testsuite/libgomp.fortran/allocatable3.f90: New test.
4878 * testsuite/libgomp.fortran/allocatable4.f90: New test.
4879 * testsuite/libgomp.fortran/collapse1.f90: New test.
4880 * testsuite/libgomp.fortran/collapse2.f90: New test.
4881 * testsuite/libgomp.fortran/collapse3.f90: New test.
4882 * testsuite/libgomp.fortran/collapse4.f90: New test.
4883 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
4884 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
4885 * testsuite/libgomp.fortran/lib4.f90: New test.
4886 * testsuite/libgomp.fortran/lock-1.f90: New test.
4887 * testsuite/libgomp.fortran/lock-2.f90: New test.
4888 * testsuite/libgomp.fortran/nested1.f90: New test.
4889 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
4890 * testsuite/libgomp.fortran/strassen.f90: New test.
4891 * testsuite/libgomp.fortran/tabs1.f90: New test.
4892 * testsuite/libgomp.fortran/tabs2.f: New test.
4893 * testsuite/libgomp.fortran/task1.f90: New test.
4894 * testsuite/libgomp.fortran/task2.f90: New test.
4895 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
4896 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4897 * testsuite/libgomp.c/pr26943-2.c: Likewise.
4898 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4899 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4900
7a0112e7
JJ
49012008-05-23 Jakub Jelinek <jakub@redhat.com>
4902
4903 PR c++/36308
4904 * testsuite/libgomp.c++/ctor-11.C: New test.
4905 * testsuite/libgomp.c++/ctor-12.C: New test.
4906
91a5b394
JJ
49072008-05-15 Janis Johnson <janis187@us.ibm.com>
4908
4909 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
4910
c18c98c0
JJ
49112008-05-07 Jakub Jelinek <jakub@redhat.com>
4912
4913 PR middle-end/36106
4914 * testsuite/libgomp.c/atomic-5.c: New test.
4915 * testsuite/libgomp.c/atomic-6.c: New test.
4916 * testsuite/libgomp.c/autopar-1.c: New test.
4917
6d26724a
RW
49182008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4919
4920 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
4921 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
4922 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
4923 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
4924 * configure: Regenerate.
4925 * Makefile.in, testsuite/Makefile.in: Likewise.
4926
deb984e6
PB
49272008-04-18 Paolo Bonzini <bonzini@gnu.org>
4928
4929 PR bootstrap/35457
4930 * aclocal.m4: Regenerate.
4931 * configure: Regenerate.
4932
9e775963
JJ
49332008-03-18 Jakub Jelinek <jakub@redhat.com>
4934
8119fc93
JJ
4935 PR middle-end/35611
4936 * testsuite/libgomp.c/atomic-4.c: New test.
4937
9e775963
JJ
4938 PR libgomp/35625
4939 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
4940 (gomp_iter_guided_next): Likewise.
4941 * testsuite/libgomp.c/pr35625.c: New test.
4942
38d24731
RW
49432008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4944
4945 * aclocal.m4: Regenerate.
4946 * configure: Likewise.
4947 * Makefile.in: Likewise.
4948 * testsuite/Makefile.in: Likewise.
4949
d0fb20be
JJ
49502008-03-13 Jakub Jelinek <jakub@redhat.com>
4951
4952 PR middle-end/35185
4953 * testsuite/libgomp.c++/pr35185.C: New test.
4954
7c8f7639
JJ
49552008-03-12 Jakub Jelinek <jakub@redhat.com>
4956
4957 PR middle-end/35549
4958 * testsuite/libgomp.c/pr35549.c: New test.
4959
251923f5
JJ
49602008-03-06 Jakub Jelinek <jakub@redhat.com>
4961
4962 * testsuite/libgomp.c/atomic-3.c: New test.
4963
f489fba1
FXC
49642008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4965
4966 PR fortran/33197
251923f5 4967 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
4968 .F08 file suffixes.
4969
a1b25e49
PG
49702008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
4971
4972 PR libgomp/33131
4973 * configure.ac: Add ACX_HEADER_STRING.
4974 * env.c: Include strings.h.
4975 * aclocal.m4: Regenerate.
4976 * config.h.in: Regenerate.
4977 * configure: Regenerate.
4978 * Makefile.in: Regenerate.
4979 * testsuite/Makefile.in: Regenerate.
4980
6837b3b8
JJ
49812008-02-15 Jakub Jelinek <jakub@redhat.com>
4982
ac84c062
JJ
4983 PR middle-end/35196
4984 * testsuite/libgomp.c/pr35196.c: New test.
4985
6837b3b8
JJ
4986 PR middle-end/35130
4987 * testsuite/libgomp.fortran/pr35130.f90: New test.
4988 * testsuite/libgomp.c/pr35130.c: New test.
4989
c256730c
JJ
49902008-01-25 Jakub Jelinek <jakub@redhat.com>
4991
4992 PR middle-end/33880
4993 * testsuite/libgomp.c/pr33880.c: New test.
4994 * testsuite/libgomp.fortran/pr33880.f90: New test.
4995
c8e95542 49962008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
4997
4998 * configure: Regenerate.
4999
0f3e711e
JJ
50002008-01-08 Jakub Jelinek <jakub@redhat.com>
5001
5002 * configure.ac: Move futex checking into ../config/futex.m4.
5003 * configure: Rebuilt.
5004 * aclocal.m4: Rebuilt.
5005 * Makefile.in: Rebuilt.
5006
5007 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
5008 2007-10-15 ../config/tls.m4 change.
5009
5259c813
JJ
50102007-12-19 Jakub Jelinek <jakub@redhat.com>
5011
5012 PR c++/34513
5013 * testsuite/libgomp.c/pr34513.c: New test.
5014 * testsuite/libgomp.c++/pr34513.C: New test.
5015
ae8d8879
JH
50162007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
5017
5018 PR target/32765
5019 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
5020
2b4cf991
JJ
50212007-12-04 Jakub Jelinek <jakub@redhat.com>
5022
5023 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
5024
d2dda7fe
JJ
50252007-12-03 Jakub Jelinek <jakub@redhat.com>
5026
5027 * testsuite/libgomp.c/private-1.c: New test.
5028
d683ec81
PB
50292007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
5030 Paolo Bonzini <bonzini@gnu.org>
5031
5032 * Makefile.am: Use space as vpath separator. Use 'vpath %'
5033 instead of 'VPATH ='.
5034 * Makefile.in: Regenerate.
5035
a7415017
MK
50362007-11-23 Matthias Klose <doko@ubuntu.com>
5037
5038 * configure.ac: Adjust makeinfo version check.
5039 * configure: Regenerate.
5040
78e47463
JJ
50412007-11-10 Jakub Jelinek <jakub@redhat.com>
5042
5043 PR fortran/34020
5044 * testsuite/libgomp.fortran/pr34020.f90: New test.
5045
239371f9
JJ
50462007-11-06 Jakub Jelinek <jakub@redhat.com>
5047
5048 PR c++/33894
5049 * testsuite/libgomp.c++/atomic-1.C: New test.
5050
98a5fa94
JJ
50512007-10-25 Jakub Jelinek <jakub@redhat.com>
5052
5053 PR libgomp/33275
5054 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
5055 Make x and y integers rather than (implicit) reals. Add private (j)
5056 clause to the last omp parallel.
5057
3afcaaf4
MR
50582007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
5059
5060 * configure: Regenerate following changes to ../config/tls.m4.
5061
bd69daef
JJ
50622007-09-28 Jakub Jelinek <jakub@redhat.com>
5063
5064 * testsuite/libgomp.fortran/stack.f90: New test.
5065
1d0bd356
DS
50662007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
5067
5068 * config/mingw32/proc.c: New file.
5069
b3172cab
UB
50702007-09-05 Uros Bizjak <ubizjak@gmail.com>
5071
5072 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
5073 (main): Use __get_cpuid to get i386 target fetaures.
5074 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
5075 (main): Use __get_cpuid to get x86_64 target fetaures.
5076
6da17392
JH
50772007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
5078
5079 PR target/32765
5080 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
5081 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
5082
e1c82219
JJ
50832007-07-12 Jakub Jelinek <jakub@redhat.com>
5084
5085 PR fortran/32550
5086 * testsuite/libgomp.fortran/pr32550.f90: New test.
5087 * testsuite/libgomp.fortran/crayptr2.f90: New test.
5088
12a27363
L
50892007-07-05 H.J. Lu <hongjiu.lu@intel.com>
5090
5091 * aclocal.m4: Regenerated.
5092
5349080d
TB
50932007-07-05 Tobias Burnus <burnus@net-b.de>
5094
5095 PR fortran/32359
5096 * testsuite/libgomp.fortran/pr32359.f90: New.
5097
4f9c450c
JJ
50982007-07-02 Jakub Jelinek <jakub@redhat.com>
5099
5100 PR libgomp/32468
5101 * sections.c (GOMP_parallel_sections_start): Only decrease
5102 number of threads to COUNT if dyn_var is true.
5103 * testsuite/libgomp.c/pr32468.c: New test.
5104
28c67ed7
RO
51052007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5106
5107 PR libgomp/26308
5108 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
5109
64964499
JJ
51102007-06-21 Jakub Jelinek <jakub@redhat.com>
5111
5112 PR middle-end/32362
5113 * testsuite/libgomp.c/pr32362-1.c: New test.
5114 * testsuite/libgomp.c/pr32362-2.c: New test.
5115 * testsuite/libgomp.c/pr32362-3.c: New test.
5116
46d8fbd1
JJ
51172007-06-07 Jakub Jelinek <jakub@redhat.com>
5118
5119 * team.c (gomp_team_start): Fix setting up thread_attr
5120 stack size.
5121
82a6cadf
PB
51222007-06-02 Paolo Bonzini <bonzini@gnu.org>
5123
5124 * configure: Regenerate.
5125
1cf3d07d
SE
51262007-05-23 Steve Ellcey <sje@cup.hp.com>
5127
5128 * Makefile.in: Regenerate.
5129 * configure: Regenerate.
5130 * aclocal.m4: Regenerate.
5131 * testsuite/Makefile.in: Regenerate.
5132
12aac30b
JJ
51332007-05-04 Jakub Jelinek <jakub@redhat.com>
5134
5135 * config/linux/proc.c: New file.
5136
f1028b02
JJ
5137 PR libgomp/28482
5138 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
5139
06785a48
DF
51402007-04-19 Daniel Franke <franke.daniel@gmail.com>
5141
5142 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
5143
b3b08ba0
MK
51442007-04-16 Matthias Klose <doko@debian.org>
5145
5146 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
5147 flags if not building with -m64.
5148 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
5149 flag for i?86-*-* targets, if current target matches -m64.
5150
6b2c5ce0
SE
51512007-04-14 Steve Ellcey <sje@cup.hp.com>
5152
5153 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
5154 * Makefile.in: Regenerate.
5155
dd56fe7c
JDA
51562007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5157
5158 PR testsuite/31369
5159 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
5160 ld_library_path.
5161 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5162
a0884cf0
JJ
51632007-04-04 Jakub Jelinek <jakub@redhat.com>
5164
5165 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
5166 decls.
5167 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
5168 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
5169 (parse_affinity): New function.
5170 (initialize_env): Call it and gomp_init_affinity.
5171 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
5172 create new pthread_attr_t and call gomp_init_thread_affinity
5173 on it for each thread before passing the attribute to pthread_create.
5174 * config/linux/affinity.c: New file.
5175 * config/posix/affinity.c: New file.
5176 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
5177 * configure: Rebuilt.
5178 * config.h.in: Rebuilt.
5179 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
5180 * Makefile.in: Rebuilt.
5181
1850744b
AT
51822007-03-23 Andreas Tobler <a.tobler@schweiz.org>
5183
5184 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
5185 *-*-darwin*.
5186 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
5187 and use it if found.
5188
516f1ed8
UB
51892007-03-18 Uros Bizjak <ubizjak@gmail.com>
5190
5191 * testsuite/config/default.exp: New file.
5192 * testsuite/lib/libgomp.exp: New file.
5193 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
5194 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
5195 load_lib *, load_gcc_lib *): Move to libgomp.exp.
5196 (libgomp_load): Remove.
5197 * testsuite/lib/libgomp.exp (libgomp_init): Compute
5198 always_ld_library_path, not ld_library_path. Set additional_flags
5199 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
5200 (target_compile): Do not call libgomp_init. Append lang_library_path
5201 and lang_link_flags to options.
5202 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
5203 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
5204 here.
5205 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
5206 always_ld_library_path. Set LD_LIBRARY_PATH here.
5207 * testsuite/libgomp.fortran/fortran.exp: Ditto.
5208 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
5209 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
5210 CX8 flag.
5211 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
5212 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
5213 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
5214 * testsuite/libgomp.c/pr29947-1.c: Ditto.
5215 * testsuite/libgomp.c/atomic-10.c: Ditto.
5216
2ada56f5
JJ
52172007-03-21 Jakub Jelinek <jakub@redhat.com>
5218
5219 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
5220 dg-final cleanup-modules line.
5221 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
5222 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
5223 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
5224 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5225 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5226 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5227 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5228
f210f1cd
AS
52292007-03-18 Andreas Schwab <schwab@suse.de>
5230
5231 * acinclude.m4: Adjust regular expression for ld version
5232 extraction.
5233 * configure: Regenerate.
5234
c4dc950d
BM
52352007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
5236
5237 * Makefile.am: Add install-pdf target as copied from
5238 automake v1.10 rules.
5239 * Makefile.in: Regenerate
5240
e02a048f
JJ
52412007-02-07 Jakub Jelinek <jakub@redhat.com>
5242
78e075d4
JJ
5243 PR libgomp/28486
5244 * configure: Regenerate.
5245
e02a048f
JJ
5246 PR c++/30703
5247 * testsuite/libgomp.c++/pr30703.C: New test.
5248
60def7ed
JJ
52492007-02-02 Jakub Jelinek <jakub@redhat.com>
5250
5251 Revert:
5252 2006-07-05 Eric Christopher <echristo@apple.com>
5253 * configure.ac: Depend addition of -pthread on host OS.
5254 * configure: Regenerate.
5255
f1b0882e
RW
52562007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5257
5258 * libgomp.texi: Fix spacing after abbreviations.
5259
748b9d7c
DF
52602007-01-31 Daniel Franke <franke.daniel@gmail.com>
5261
5262 PR libgomp/30546
5263 * configure.ac: Add check for makeinfo
5264 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
5265 if an appropiate version of makeinfo is found.
5266 * aclocal.m4: Regenerated.
5267 * configure: Regenerated.
5268 * Makefile.in: Regenerated.
5269 * testsuite/Makefile.in: Regenerated.
5270
14734fc7
DF
52712007-01-29 Daniel Franke <franke.daniel@gmail.com>
5272
5273 PR libgomp/30540
5274 * libgomp.texi: More about implementation-dependent settings.
5275
7befd5d2
TB
52762007-01-26 Tobias Burnus <burnus@net-b.de>
5277
5278 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
5279
4288fea2
JJ
52802007-01-24 Jakub Jelinek <jakub@redhat.com>
5281
5282 PR middle-end/30494
5283 * testsuite/libgomp.c/pr30494.c: New test.
5284
627ab4b8
TT
52852007-01-15 Tom Tromey <tromey@redhat.com>
5286
5287 * configure: Rebuilt.
5288 * configure.ac: Fixed comment.
5289
7c2b7f45
DF
52902007-01-14 Daniel Franke <franke.daniel@gmail.com>
5291
5292 * libgomp.texi: Document implementation specific default values of
5293 environment variables.
5294
3721b9e1
DF
52952006-12-21 Daniel Franke <franke.daniel@gmail.com>
5296
5297 PR libgomp/28209
5298 * libgomp.texi: New file.
5299 * configure.ac: Add --enable-generated-files-in-srcdir option.
5300 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
5301 files to srcdir.
5302 * Makefile.in: Regenerated.
5303 * config.h.in: Regenerated.
5304 * testsuite/Makefile.in: Regenerated.
5305 * NOTES: Removed.
5306
62bd6216
DF
53072006-12-04 Daniel Franke <franke.daniel@gmail.com>
5308
5309 PR libgomp/29949
5310 * env.c (omp_set_num_threads): Set illegal thread count to 1.
5311
aad741f4
EB
53122006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5313
5314 * configure: Regenerate.
5315
22568cc6
JJ
53162006-12-04 Jakub Jelinek <jakub@redhat.com>
5317
5318 PR libgomp/29947
5319 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
5320 start if there shouldn't be any loop iterations.
5321 (gomp_loop_ordered_static_start): Remove start == end test.
5322 * testsuite/libgomp.c/pr29947-1.c: New test.
5323 * testsuite/libgomp.c/pr29947-2.c: New test.
5324
a9690009
EB
53252006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
5326
5327 * configure.tgt: Force initial-exec TLS model on Linux only.
5328
597c25e6
DJ
53292006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
5330
5331 * configure: Regenerated.
5332
6acf0b38
UB
53332006-11-09 Uros Bizjak <ubizjak@gmail.com>
5334
5335 * env.c (parse_schedule): Reject out of range values.
5336 (parse_unsigned_long): Reject out of range, negative or zero values.
5337
a7a53ca5
JJ
53382006-10-29 Jakub Jelinek <jakub@redhat.com>
5339
5340 PR fortran/29629
5341 * testsuite/libgomp.fortran/pr29629.f90: New test.
5342
6d4d216a
EB
53432006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
5344
5345 PR libgomp/29494
5346 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
5347 * config/posix95: New directory.
5348 * config/posix95/omp-lock.h: New file.
5349 * config/posix95/lock.c: Likewise.
5350
5b043f08
GK
53512006-10-14 Geoffrey Keating <geoffk@apple.com>
5352
5353 * aclocal.m4: Regenerate.
5354 * configure: Regenerate.
5355
b50019f0
DS
53562006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
5357
5358 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
5359 '<' to '<='.
5360
8887708e
DS
53612006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
5362
5363 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
5364 test.
5365 * configure: Regenerate.
5366 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
5367
9b9e4cd6
JJ
53682006-09-26 Jakub Jelinek <jakub@redhat.com>
5369
a70ad3bb
JJ
5370 PR middle-end/25261
5371 PR middle-end/28790
5372 * testsuite/libgomp.c/nestedfn-4.c: New test.
5373 * testsuite/libgomp.c/nestedfn-5.c: New test.
5374 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
5375
9b9e4cd6
JJ
5376 PR fortran/29097
5377 * testsuite/libgomp.fortran/condinc1.f: New test.
5378 * testsuite/libgomp.fortran/condinc2.f: New test.
5379 * testsuite/libgomp.fortran/condinc3.f90: New test.
5380 * testsuite/libgomp.fortran/condinc4.f90: New test.
5381 * testsuite/libgomp.fortran/condinc1.inc: New file.
5382
2fb31455
TT
53832006-09-18 Tom Tromey <tromey@redhat.com>
5384
5385 * configure: Rebuilt.
5386
c663e301
JM
53872006-09-13 Joseph S. Myers <joseph@codesourcery.com>
5388
5389 PR c/28768
5390 PR preprocessor/14634
5391 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
5392 to AC_DEFINE.
5393 * configure: Regenerate.
5394
38371be9
SK
53952006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
5396
5397 * testsuite/libgomp.fortran/reduction3.f90: Change
5398 -2147483648 to -huge(i)-1 to avoid overflow.
5399 * testsuite/libgomp.fortran/reduction4.f90: Change
5400 Z'ffffffff' to not(0) to avoid overflow.
5401
571d5ac5
JM
54022006-08-26 Joseph S. Myers <joseph@codesourcery.com>
5403
5404 PR libgomp/25938
5405 * Makefile.am (libsubincludedir): New.
5406 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
5407 * Makefile.in: Regenerate.
5408
89b3e3cd
JJ
54092006-08-17 Jakub Jelinek <jakub@redhat.com>
5410
5411 PR libgomp/28725
5412 * env.c: Include ctype.h.
5413 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
5414 leading and/or trailing whitespace and compare strings case
5415 insensitively.
5416
742fae05
JJ
54172006-07-16 Jakub Jelinek <jakub@redhat.com>
5418
5419 PR fortran/28390
5420 * testsuite/libgomp.fortran/pr28390.f: New test.
5421
a1daed2d
EC
54222006-07-05 Eric Christopher <echristo@apple.com>
5423
5424 * configure.ac: Depend addition of -pthread on host OS.
5425 * configure: Regenerate.
5426
5d7b5199
JJ
54272006-06-21 Jakub Jelinek <jakub@redhat.com>
5428
5429 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
5430 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
5431 defined.
5432
fe5568e9
JJ
54332006-06-20 Jakub Jelinek <jakub@redhat.com>
5434
5435 PR libgomp/26175
5436 PR libgomp/26477
5437 * configure.ac: If neither --enable-linux-futex nor
5438 --disable-linux-futex is passed, determine the default by checking
5439 for compiling and/or running against NPTL. With --enable-linux-futex,
5440 check if SYS_gettid and SYS_futex are defined.
5441 * configure: Rebuilt.
5442
c3b11a40
RH
54432006-06-14 Richard Henderson <rth@redhat.com>
5444
5445 PR libgomp/28008
5446 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
5447 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
5448
d0d1b24d
RH
54492006-06-09 Richard Henderson <rth@redhat.com>
5450
5451 * env.c (gomp_nthreads_var): Change to unsigned long.
5452 (gomp_run_sched_chunk): Likewise.
5453 (parse_unsigned_long): Rename from parse_num_threads and generalize.
5454 (initialize_env): Initialize gomp_thread_attr.
5455 * libgomp.h (gomp_nthreads_var): Update decl.
5456 (gomp_run_sched_chunk): Likewise.
5457 (gomp_thread_attr): Declare.
5458 * team.c (gomp_thread_attr): Export.
5459 (initialize_team): Don't initialize it.
5460
cd75853e
JJ
54612006-06-09 Jakub Jelinek <jakub@redhat.com>
5462
5463 PR fortran/27916
5464 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
5465 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
5466
33815e0c
FXC
54672006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
5468
5469 * config/mingw32/time.c: New file.
5470 * configure.tgt: Use it.
5471
6667de0d
CD
54722006-05-23 Carlos O'Donell <carlos@codesourcery.com>
5473
5474 * Makefile.am: Add install-html target. Add install-html to .PHONY
5475 * Makefile.in: Regenerate.
5476
e962c46b
JDA
54772006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5478
5479 PR libgomp/27612
5480 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
5481 * testsuite/libgomp.c/critical-1.c: Likewise.
5482 * testsuite/libgomp.c/loop-1.c: Likewise.
5483 * testsuite/libgomp.c/loop-2.c: Likewise.
5484 * testsuite/libgomp.c/single-1.c: Likewise.
5485 * testsuite/libgomp.c/ordered-1.c: Likewise.
5486 * testsuite/libgomp.c/ordered-2.c: Likewise.
5487
eeb1d9e0
JJ
54882006-05-15 Jakub Jelinek <jakub@redhat.com>
5489
5490 PR middle-end/27416
5491 * libgomp.fortran/pr27416-1.f90: New test.
5492
693d710f
JJ
54932006-05-03 Jakub Jelinek <jakub@redhat.com>
5494
5495 PR fortran/27395
5496 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
5497 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
5498
8ca5b2a2
JJ
54992006-05-02 Jakub Jelinek <jakub@redhat.com>
5500
5501 PR c++/26943
5502 * testsuite/libgomp.c/pr26943-1.c: New test.
5503 * testsuite/libgomp.c/pr26943-2.c: New test.
5504 * testsuite/libgomp.c/pr26943-3.c: New test.
5505 * testsuite/libgomp.c/pr26943-4.c: New test.
5506 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
5507 * testsuite/libgomp.c++/pr26943.C: New test.
5508
077b0dfb
JJ
55092006-05-02 Jakub Jelinek <jakub@redhat.com>
5510
5511 PR middle-end/27337
5512 * testsuite/libgomp.c++/pr27337.C: New test.
5513
91b6c26d
JJ
55142006-04-26 Jakub Jelinek <jakub@redhat.com>
5515
5516 PR c/26171
5517 * testsuite/libgomp.c/pr26171.c: New test.
5518
60e1758f
RH
55192006-04-25 Richard Henderson <rth@redhat.com>
5520
5521 PR libgomp/25865
5522 * configure.ac: Use GCC_CHECK_TLS.
5523 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
5524 * Makefile.in, aclocal.m4, configure: Regenerate.
5525
615baed7
MK
55262006-04-10 Matthias Klose <doko@debian.org>
5527
5528 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
5529 directory names containing underscores.
5530
fae2b46b
JJ
55312006-03-21 Jakub Jelinek <jakub@redhat.com>
5532
5533 PR c++/26691
5534 * testsuite/libgomp.c++/pr26691.C: New test.
5535
11a5f608
JJ
55362006-03-13 Jakub Jelinek <jakub@redhat.com>
5537
5538 * testsuite/libgomp.fortran/retval2.f90: New test.
5539
1799e5d5
RH
55402006-03-09 Diego Novillo <dnovillo@redhat.com>
5541
5542 * testsuite/libgomp.c++: New directory.
5543
d349482e
AT
55442006-02-25 Shantonu Sen <ssen@opendarwin.org>
5545
5546 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
5547 * config/posix/sem.c: Implement the above.
5548
55492006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
5550
5551 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
5552 define HAVE_BROKEN_POSIX_SEMAPHORES.
5553 * configure: Rebuilt.
5554 * config.h.in: Rebuilt.
5555
124452c9
FXC
55562006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
5557
5558 PR bootstrap/26161
5559 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
5560 for the other pthread check.
5561 * configure: Regenerate.
5562 * config.h.in: Regenerate.
5563
dd8d6dfe
JJ
55642006-02-15 Jakub Jelinek <jakub@redhat.com>
5565
5566 PR libgomp/25938
5567 PR libgomp/25984
5568 * Makefile.am (fincludedir): New variable.
5569 (nodist_include_HEADERS): Remove Fortran files.
5570 (nodist_finclude_HEADERS): New variable.
5571 * Makefile.in: Regenerated.
5572
6c7a4dfd
JJ
55732006-02-13 Jakub Jelinek <jakub@redhat.com>
5574
5575 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
5576 Remove tests for returning assumed character length arrays.
5577
5142e08b
RS
55782006-02-12 Roger Sayle <roger@eyesopen.com>
5579 John David Anglin <dave@hiauly1.hia.nrc.ca>
5580
5581 PR libgomp/25936
5582 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 5583
5821fba8
UW
55842006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
5585
5586 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
5587
cb2bbc67
EB
55882006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
5589
5590 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
5591 part of LD_LIBRARY_PATH manually.
5592
f05ee80c
L
55932006-02-03 H.J. Lu <hongjiu.lu@intel.com>
5594
5595 PR libgomp/25852
5596 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
5597 libgomp_init.
5598
03b8fe49
PB
55992005-01-25 Paolo Bonzini <bonzini@gnu.org>
5600
5601 PR libgomp/25884
f05ee80c
L
5602 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
5603 * configure.ac (PERL): Don't set.
5604 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
5605 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
5606 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
5607 * omp.h.in: Wrap the new configure substitutions with @ characters.
5608 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
5609 * aclocal.m4, configure, Makefile.in: Regenerate.
5610 * mkomp_h.pl: Delete.
03b8fe49 5611
18cbfd85
PB
56122005-01-24 Paolo Bonzini <bonzini@gnu.org>
5613
5614 PR libgomp/25259
5615 * configure.ac: Use GCC_HEADER_STDINT.
5616 * libgomp.h: Include gstdint.h.
5617 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
5618 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
5619
c41303c6
RH
56202006-01-24 Richard Henderson <rth@redhat.com>
5621
5622 PR libgomp/25942
5623 * configure.ac: Add AM_MAINTAINER_MODE.
5624 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
5625
149b9553
DN
56262006-01-24 Diego Novillo <dnovillo@redhat.com>
5627
5628 * Makefile.in: Regenerate.
5629 * testsuite/Makefile.in: Regenerate.
5630 * aclocal.m4: Regenerate.
5631
192a50ad
AT
56322006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
5633
5634 * config/posix/proc.c: Conditional include of sys/loadavg.h for
5635 Solaris.
5636 * configure.ac: Add check for loadavg.h.
5637 (link_gomp): Adjust comment.
5638 * configure: Regenerate.
5639 * config.h.in: Regenerate.
5640
a55b8e18
SE
56412006-01-21 Steve Ellcey <sje@cup.hp.com>
5642
5643 PR libgomp/25877
5644 * configure.ac: Remove check for alloca.h.
5645 * configure: Regenerate.
5646 * config.h.in: Regenerate.
5647 * libgomp.h: define gomp_alloca to be __builtin_alloca.
5648 * team.c: Remove use of alloca.h.
5649 Call gomp_alloca instead of alloca.
5650
692eeb34
SE
56512006-01-20 Steve Ellcey <sje@cup.hp.com>
5652
5653 PR libgomp/25877
5654 * team.c: Add include of alloca.h.
5655 * configure.ac: Add check for alloca.h.
5656 * configure: Regenerate.
5657 * config.h.in: Regenerate.
5658
953ff289
DN
56592006-01-17 Jakub Jelinek <jakub@redhat.com>
5660
5661 PR fortran/25219
5662 * testsuite/libgomp.fortran/pr25219.f90: New test.
5663
56642005-12-05 Uros Bizjak <uros@kss-loka.si>
5665
5666 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
5667 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
5668 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
5669 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
5670 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
5671 testsuite/libgomp.fortran/threadprivate1.f90,
5672 testsuite/libgomp.fortran/threadprivate2.f90,
5673 testsuite/libgomp.fortran/threadprivate3.f90,
5674 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
5675 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
5676 testsuite/libgomp.fortran/omp_parse3.f90: Change required
5677 effective-target to TLS runtime.
5678
5679 * testsuite/libgomp.fortran/pr25162.f: Require
5680 effective-target TLS runtime.
5681
56822005-12-01 Jakub Jelinek <jakub@redhat.com>
5683
5684 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
5685 * testsuite/libgomp.c/nestedfn-3.c: New test.
5686
56872005-11-30 Jakub Jelinek <jakub@redhat.com>
5688
5689 PR fortran/25162
5690 * testsuite/libgomp.fortran/pr25162.f: New test.
5691
56922005-11-28 Jakub Jelinek <jakub@redhat.com>
5693
5694 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
5695 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
5696
56972005-11-25 Jakub Jelinek <jakub@redhat.com>
5698
5699 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
5700 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
5701 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
5702 single.c, team.c, work.c, config/linux/alpha/futex.h,
5703 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
5704 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
5705 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
5706 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
5707 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
5708 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
5709 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
5710 FSF address.
5711
57122005-11-18 Jakub Jelinek <jakub@redhat.com>
5713
5714 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
5715 to nodist_noinst_HEADERS.
5716 * Makefile.in: Rebuilt.
5717
5718 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
5719 add integer count field.
5720 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
5721 omp_nest_lock_t type change.
5722 (omp_init_nest_lock): Likewise. Initialize count to 0.
5723 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
5724 Increment count.
5725 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
5726 Decrement count.
5727 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
5728 Increment count if successful and return the new nesting level.
5729 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
5730 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
5731 * testsuite/libgomp.c/lib-1.c: New test.
5732 * testsuite/libgomp.fortran/lib1.f90: New test.
5733 * testsuite/libgomp.fortran/lib2.f: New test.
5734 * testsuite/libgomp.fortran/lib3.f: New test.
5735
57362005-11-17 Richard Henderson <rth@redhat.com>
5737
5738 PR 24845
5739 * Makefile.am (nodist_toolexeclib_HEADERS): New.
5740 * configure.ac (link_gomp): New. Substitute it.
5741 (AC_CONFIG_FILES): Add libgomp.spec.
5742 * libgomp.spec.in: New file.
5743 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
5744 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
5745
57462005-11-18 Jakub Jelinek <jakub@redhat.com>
5747
5748 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
5749 reduction(-:var) behaving the same as reduction(+:var).
5750 * testsuite/libgomp.c/reduction-4.c: New test.
5751
57522005-11-15 Uros Bizjak <uros@kss-loka.si>
5753
5754 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
5755 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
5756 testsuite/libgomp.c/copyin-3.c,
5757 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
5758 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
5759 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
5760 testsuite/libgomp.c++/pr24455.C,
5761 testsuite/libgomp.fortran/threadprivate1.f90,
5762 testsuite/libgomp.fortran/threadprivate2.f90,
5763 testsuite/libgomp.fortran/threadprivate3.f90,
5764 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
5765 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
5766 testsuite/libgomp.fortran/omp_parse3.f90: Require
5767 effective-target TLS.
5768
57692005-11-14 Diego Novillo <dnovillo@redhat.com>
5770
5771 * HEADER: Remove.
5772
57732005-11-13 Jakub Jelinek <jakub@redhat.com>
5774
5775 PR libgomp/24797
5776 * team.c (initialize_team): Pass NULL rather than free as
5777 pthread_key_create destructor. Initialize thread specific data
5778 pointer in initial thread to a static local variable rather than
5779 malloced memory.
5780
57812005-11-11 Uros Bizjak <uros@kss-loka.si>
5782
5783 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
5784 its location to ld_library_path.
5785
57862005-11-10 Diego Novillo <dnovillo@redhat.com>
5787
5788 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
5789
57902005-11-10 Diego Novillo <dnovillo@redhat.com>
5791
5792 * testsuite/libgomp.c: Rename from libgomp.dg.
5793
57942005-11-09 Diego Novillo <dnovillo@redhat.com>
5795
5796 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
5797 threadprivate variable 'i'.
5798
57992005-11-09 Jakub Jelinek <jakub@redhat.com>
5800
5801 * config/linux/s390/futex.h: New file.
5802 * configure.tgt: Use it.
5803
5804 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
5805 before the parallel.
5806
58072005-11-08 Jakub Jelinek <jakub@redhat.com>
5808
5809 PR c++/24734
5810 * testsuite/libgomp.c++/master-1.C: New test.
5811
58122005-11-07 Jakub Jelinek <jakub@redhat.com>
5813
5814 * testsuite/libgomp.dg/copyin-3.c: New test.
5815
58162005-11-07 Jakub Jelinek <jakub@redhat.com>
5817
5818 * testsuite/libgomp.fortran/retval1.f90: New test.
5819 * testsuite/libgomp.fortran/vla7.f90: New test.
5820
58212005-11-06 Jakub Jelinek <jakub@redhat.com>
5822
5823 * testsuite/libgomp.fortran/vla2.f90: New test.
5824 * testsuite/libgomp.fortran/vla3.f90: New test.
5825 * testsuite/libgomp.fortran/vla4.f90: New test.
5826 * testsuite/libgomp.fortran/vla5.f90: New test.
5827 * testsuite/libgomp.fortran/vla6.f90: New test.
5828
58292005-11-01 Jakub Jelinek <jakub@redhat.com>
5830
5831 * config/linux/sparc/futex.h: New file.
5832 * configure.tgt: Use it.
5833 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
5834
5835 * critical.c: Include stdlib.h.
5836 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
5837 ignoring return value.
5838 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
5839 LIBGOMP_CHECK_SYNC_BUILTINS check.
5840 * configure: Rebuilt.
5841
58422005-10-31 Jakub Jelinek <jakub@redhat.com>
5843
5844 * testsuite/libgomp.fortran/vla1.f90: New test.
5845
58462005-10-31 Richard Henderson <rth@redhat.com>
5847
5848 * testsuite/libgomp.fortran/character2.f90: Fix race condition
5849 setting 's' in different threads.
5850
58512005-10-31 Jakub Jelinek <jakub@redhat.com>
5852
5853 * libgomp.h (attribute_hidden, ialias): Define.
5854 * config/posix/proc.c (omp_get_num_procs): Add ialias.
5855 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
5856 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
5857 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
5858 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
5859 omp_test_lock, omp_test_nest_lock): Likewise.
5860 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
5861 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
5862 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
5863 omp_test_lock, omp_test_nest_lock): Likewise.
5864 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
5865 omp_get_dynamic, omp_get_nested): Likewise.
5866 * parallel.c (omp_get_num_threads, omp_get_max_threads,
5867 omp_get_thread_num, omp_in_parallel): Likewise.
5868 * fortran.c (ialias_redirect): Define.
5869 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
5870 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
5871 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
5872 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
5873 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
5874 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
5875 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
5876 omp_get_wtime): Add ialias_redirect.
5877
58782005-10-30 Jakub Jelinek <jakub@redhat.com>
5879
5880 * fortran.c: Include stdlib.h.
5881
58822005-10-29 Jakub Jelinek <jakub@redhat.com>
5883
5884 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
5885 * Makefile.in: Regenerated.
5886
58872005-10-28 Jakub Jelinek <jakub@redhat.com>
5888
5889 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
5890 * libgomp_f.h.in (omp_check_defines): New function.
5891 * env.c: Include libgomp_f.h.
5892 (initialize_env): Call omp_check_defines.
5893
5894 * testsuite/libgomp.dg/copyin-2.c: New test.
5895 * testsuite/libgomp.c++/copyin-2.C: New test.
5896 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
5897
5898 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
5899 * testsuite/libgomp.fortran/sharing2.f90: New test.
5900
5901 * testsuite/libgomp.dg/copyin-1.c: New test.
5902 * testsuite/libgomp.c++/copyin-1.C: New test.
5903
59042005-10-26 Jakub Jelinek <jakub@redhat.com>
5905
5906 * testsuite/libgomp.fortran/crayptr1.f90: New test.
5907
5908 * testsuite/libgomp.fortran/workshare1.f90: New test.
5909
5910 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
5911 only test.
5912 * libgomp.fortran/sharing1.f90: New test.
5913
59142005-10-24 Jakub Jelinek <jakub@redhat.com>
5915
5916 PR c++/24502
5917 * testsuite/libgomp.c++/loop-7.C: New test.
5918
5919 * testsuite/libgomp.dg/nestedfn-2.c: New test.
5920
5921 * testsuite/libgomp.dg/nestedfn-1.c: New test.
5922 * testsuite/libgomp.fortran/reduction6.f90: New test.
5923 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
5924
59252005-10-23 Richard Henderson <rth@redhat.com>
5926
5927 * testsuite/libgomp.c++/ctor-1.C: New.
5928 * testsuite/libgomp.c++/ctor-2.C: New.
5929 * testsuite/libgomp.c++/ctor-3.C: New.
5930 * testsuite/libgomp.c++/ctor-4.C: New.
5931 * testsuite/libgomp.c++/ctor-5.C: New.
5932 * testsuite/libgomp.c++/ctor-6.C: New.
5933 * testsuite/libgomp.c++/ctor-7.C: New.
5934 * testsuite/libgomp.c++/ctor-8.C: New.
5935 * testsuite/libgomp.c++/ctor-9.C: New.
5936
59372005-10-21 Diego Novillo <dnovillo@redhat.com>
5938
5939 PR 24455
5940 * testsuite/libgomp.c++/pr24455-1.C: New test.
5941 * testsuite/libgomp.c++/pr24455.C: New test.
5942 * testsuite/libgomp.dg/pr24455-1.c: New test.
5943 * testsuite/libgomp.dg/pr24455.c: New test.
5944
59452005-10-20 Richard Henderson <rth@redhat.com>
5946
5947 * testsuite/libgomp.c++/loop-6.C: New.
5948 * testsuite/libgomp.dg/loop-3.c: New.
5949
59502005-10-20 Jakub Jelinek <jakub@redhat.com>
5951
5952 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
5953 explicitly private.
5954 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
5955 explicitly shared.
5956
59572005-10-19 Diego Novillo <dnovillo@redhat.com>
5958
5959 * testsuite/libgomp.fortran/jacobi.f: New test.
5960
59612005-10-19 Richard Henderson <rth@redhat.com>
5962
5963 * configure.tgt (i?86-linux): Default to with_arch instead of
5964 CFLAGS. Add -mtune to match target_cpu.
5965 (x86_64-linux): Tune to i686.
5966
5967 * fortran.c (omp_test_nest_lock_): Fix typo.
5968
59692005-10-19 Jakub Jelinek <jakub@redhat.com>
5970
5971 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
5972 gomp_ordered_sync): Do nothing if team->nthreads == 1.
5973 * testsuite/libgomp.dg/ordered-3.c: New test.
5974
5975 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
5976 Remove volatile keyword.
5977
5978 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
5979 in COMMON block to avoid warnings on 64-bit targets.
5980
59812005-10-18 Diego Novillo <dnovillo@redhat.com>
5982
5983 * testsuite/libgomp.dg/shared-3.c: New test.
5984
59852005-10-18 Jakub Jelinek <jakub@redhat.com>
5986
5987 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
5988 * testsuite/libgomp.fortran/reduction5.f90: New test.
5989
59902005-10-18 Jakub Jelinek <jakub@redhat.com>
5991
5992 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
5993 dg-options.
5994 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
5995 flush loop now that __sync_synchronize has proper memory barrier.
5996 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
5997 Add -ffixed-form to dg-options.
5998
59992005-10-17 Diego Novillo <dnovillo@redhat.com>
6000
6001 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
6002 from subdirectories.
6003 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
6004 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
6005 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
6006 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
6007 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
6008 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
6009 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
6010 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
6011 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
6012 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
6013 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
6014 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
6015 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
6016 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
6017 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
6018 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
6019 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
6020 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
6021 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
6022 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
6023 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
6024 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
6025 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
6026 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
6027 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
6028
60292005-10-17 Jakub Jelinek <jakub@redhat.com>
6030
6031 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
6032 lang_library_path exists. Use find instead of glob to gather tests.
6033 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
6034
60352005-10-17 Diego Novillo <dnovillo@redhat.com>
6036
6037 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
6038 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
6039 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
6040 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
6041 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
6042 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
6043 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
6044 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
6045 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
6046 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
6047 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
6048 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
6049 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
6050
60512005-10-15 Jakub Jelinek <jakub@redhat.com>
6052
6053 * testsuite/libgomp.dg/vla-1.c: New test.
6054
6055 * testsuite/libgomp.fortran/reference2.f90: New test.
6056
6057 * testsuite/libgomp.fortran/character2.f90: Remove explicit
6058 declaration of omp_get_thread_num.
6059 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
6060 use omp_lib.
6061
6062 * testsuite/libgomp.fortran/reduction1.f90: New test.
6063 * testsuite/libgomp.fortran/reduction2.f90: New test.
6064 * testsuite/libgomp.fortran/reduction3.f90: New test.
6065 * testsuite/libgomp.fortran/reduction4.f90: New test.
6066
60672005-10-13 Richard Henderson <rth@redhat.com>
6068
6069 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
6070 * Makefile.in: Regenerate.
6071 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
6072 * libgomp.h: Include bar.h.
6073 (struct gomp_barrier): Remove.
6074 (struct gomp_team): Add barrier. Replace master_barrier with
6075 master_release. Replace threads with ordered_release.
6076 (struct gomp_thread): Replace barrier with release.
6077 * ordered.c (gomp_ordered_first): Update for ordered_release change.
6078 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
6079 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
6080 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
6081 (GOMP_single_copy_end): Likewise.
6082 * team.c (gomp_threads_dock): New.
6083 (gomp_barrier_init, gomp_barrier_destroy): Remove.
6084 (gomp_thread_start): Use gomp_barrier_wait.
6085 (new_team, free_team): Update for gomp_team changes.
6086 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
6087 (gomp_team_end): Use gomp_barrier_wait.
6088 (initialize_team): Update for gomp_thread changes.
6089 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
6090 (gomp_work_share_end_nowait): Use atomic ops when available.
6091 * config/linux/bar.c, config/linux/bar.h: New files.
6092 * config/posix/bar.c, config/posix/bar.h: New files.
6093
60942005-10-13 Jakub Jelinek <jakub@redhat.com>
6095
6096 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
6097 * testsuite/libgomp.dg/single-2.c: New test.
6098
6099 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
6100 lang_link_flags): Unset, so that they aren't inherited from previously
6101 sourced *.exp.
6102
6103 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
6104
61052005-10-12 Richard Henderson <rth@redhat.com>
6106
6107 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
6108 (libgomp_init): Use lang_test_file, lang_library_path, and
6109 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
6110
6111 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
6112 (lang_test_file, lang_link_flags): New.
6113 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
6114
6115 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
6116 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
6117 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
6118 testsuite/libgomp.c++/parallel-1.C,
6119 testsuite/libgomp.c++/reduction-1.C,
6120 testsuite/libgomp.c++/reduction-2.C,
6121 testsuite/libgomp.c++/reduction-3.C,
6122 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
6123 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
6124 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
6125 New files, largely cribbed from the C testsuite.
6126
61272005-10-12 Jakub Jelinek <jakub@redhat.com>
6128
6129 * testsuite/libgomp.fortran/character1.f90: New test.
6130 * testsuite/libgomp.fortran/character2.f90: New test.
6131
6132 * testsuite/libgomp.dg/nested-1.c: New test.
6133 * testsuite/libgomp.dg/nested-2.c: New test.
6134 * testsuite/libgomp.fortran/do1.f90: New test.
6135 * testsuite/libgomp.fortran/do2.f90: New test.
6136
6137 * testsuite/libgomp.fortran/reference1.f90: New test.
6138
61392005-10-11 Jakub Jelinek <jakub@redhat.com>
6140
6141 * testsuite/libgomp.dg/reduction-1.c: New test.
6142 * testsuite/libgomp.dg/reduction-2.c: New test.
6143 * testsuite/libgomp.dg/reduction-3.c: New test.
6144
61452005-10-10 Jakub Jelinek <jakub@redhat.com>
6146
6147 * testsuite/libgomp.dg/atomic-1.c: New test.
6148 * testsuite/libgomp.dg/atomic-2.c: New test.
6149
61502005-10-09 Richard Henderson <rth@redhat.com>
6151
6152 * critical.c (atomic_lock): New.
6153 (initialize_critical): Initialize it.
6154 (GOMP_atomic_start, GOMP_atomic_end): New.
6155 * libgomp.map: Export them.
6156 * libgomp_g.h: Declare them.
6157
6158 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
6159
61602005-10-02 Richard Henderson <rth@redhat.com>
6161
6162 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
6163 to XCFLAGS instead of CFLAGS.
6164
61652005-09-30 Richard Henderson <rth@redhat.com>
6166
6167 * configure.ac: Determine whether -pthread or -lpthread is needed.
6168 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
6169 * Makefine.in, configure: Rebuild.
6170
61712005-09-28 Richard Henderson <rth@redhat.com>
6172
6173 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
6174 * testsuite/libgomp.dg/omp-single-3.c: New test.
6175
61762005-09-28 Diego Novillo <dnovillo@redhat.com>
6177
6178 * testsuite/libgomp.dg/omp-single-2.c: New test.
6179 * testsuite/libgomp.dg/shared-2.c: Fix return code.
6180
61812005-09-27 Richard Henderson <rth@redhat.com>
6182
6183 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
6184 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
6185
61862005-09-27 Jakub Jelinek <jakub@redhat.com>
6187
6188 * testsuite/libgomp.dg/omp-loop03.c: New test.
6189
61902005-09-27 Diego Novillo <dnovillo@redhat.com>
6191
6192 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
6193
61942005-09-27 Diego Novillo <dnovillo@redhat.com>
6195
6196 * testsuite/libgomp.dg/omp-single-1.c: New test.
6197 * testsuite/libgomp.dg/shared-1.c: Return 0.
6198 Add prototype for abort.
6199 * testsuite/libgomp.dg/shared-2.c: Likewise.
6200
62012005-09-26 Jakub Jelinek <jakub@redhat.com>
6202
6203 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
6204 constructs.
6205
62062005-09-26 Diego Novillo <dnovillo@redhat.com>
6207
6208 * testsuite/libgomp.dg/shared-1.c: New test.
6209 * testsuite/libgomp.dg/shared-2.c: New test.
6210
62112005-09-24 Richard Henderson <rth@redhat.com>
6212
6213 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
6214
62152005-09-24 Richard Henderson <rth@redhat.com>
6216
6217 * iter.c (gomp_iter_static_next): Round up when computing number
6218 of iterations. Don't bother distributing a remainder equally.
6219
6220 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
6221 Don't call srand. Zero b before testing.
6222 (main): New.
6223
62242005-09-24 Jakub Jelinek <jakub@redhat.com>
6225
6226 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
6227 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
6228
62292005-09-23 Jakub Jelinek <jakub@redhat.com>
6230
6231 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
6232 without !$omp end do, followed immediately by subroutine end.
6233
62342005-09-23 Diego Novillo <dnovillo@redhat.com>
6235
6236 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
6237
62382005-09-22 Richard Henderson <rth@redhat.com>
6239
6240 * critical.c (GOMP_critical_name_start): Change argument to void**.
6241 Reuse the pointer space if the mutex fits.
6242 (GOMP_critical_name_end): Likewise.
6243 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
6244 * libgomp_g.h (GOMP_critical_name_start): Update decl.
6245 (GOMP_critical_name_end): Likewise.
6246 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
6247 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
6248
62492005-09-20 Richard Henderson <rth@redhat.com>
6250
6251 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
6252 (create_lock_lock): New.
6253 (initialize_critical): Initialize it.
6254 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
6255 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
6256
62572005-09-20 Diego Novillo <dnovillo@redhat.com>
6258
6259 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
6260
62612005-09-20 Diego Novillo <dnovillo@redhat.com>
6262
6263 * testsuite/libgomp.dg/omp-loop01.c: New test.
6264 * testsuite/libgomp.dg/omp-loop02.c: New test.
6265
62662005-09-20 Jakub Jelinek <jakub@redhat.com>
6267
6268 * configure.ac (AC_PROG_FC): Add.
6269 (USE_FORTRAN): New automake conditional.
6270 * configure: Rebuilt.
6271 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
6272 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
6273 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
6274 Add rules to build them.
6275 * Makefile.in: Rebuilt.
6276 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
6277 OMP_NEST_LOCK_KIND.
6278 * libgomp.map: Add Fortran wrappers.
6279 * libgomp_f.h.in: New file.
6280 * omp_lib.h.in: New file.
6281 * omp_lib.f90.in: New file.
6282 * fortran.c: New file.
6283 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
6284 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
6285 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
6286 libgfortran has been built.
6287 * testsuite/libgomp.fortran/fortran.exp: New file.
6288 * testsuite/libgomp.fortran/omp_cond1.f: New test.
6289 * testsuite/libgomp.fortran/omp_cond2.f: New test.
6290 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
6291 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
6292 * testsuite/libgomp.fortran/omp_hello.f: New test.
6293 * testsuite/libgomp.fortran/omp_orphan.f: New test.
6294 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
6295 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
6296 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
6297 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
6298 * testsuite/libgomp.fortran/omp_reduction.f: New test.
6299 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
6300 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
6301
63022005-08-30 Richard Henderson <rth@redhat.com>
6303
6304 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
6305 function for when aliases are not usable.
6306 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
6307 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
6308 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
6309 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
6310 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
6311 GOMP_loop_ordered_guided_next): Likewise.
6312 * ordered.c (GOMP_ordered_start): Likewise.
6313
63142005-08-01 Diego Novillo <dnovillo@redhat.com>
6315
6316 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
6317 * testsuite/libgomp.dg/omp_hello.c: Fix return code
6318 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
6319 * testsuite/libgomp.dg/omp_orphan.c: Likewise
6320 * testsuite/libgomp.dg/omp_reduction.c: Likewise
6321 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
6322 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
6323 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
6324 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
6325
63262005-07-07 Eric Christopher <echristo@redhat.com>
6327 Diego Novillo <dnovillo@redhat.com>
6328
6329 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
6330 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
6331 up code.
6332 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
6333 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
6334 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
6335 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
6336 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
6337 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
6338 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
6339
63402005-06-13 Diego Novillo <dnovillo@redhat.com>
6341
6342 * TOPLEVEL.patch: Remove.
6343
63442005-05-16 Richard Henderson <rth@redhat.com>
6345
6346 * configure.ac: Test for clock_gettime.
6347 * config.h.in, configure: Rebuild.
6348 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
6349 (omp_get_wtime): Use clock_gettime if available.
6350 (omp_get_wtick): Use clock_getres if available.
6351
63522005-05-11 Richard Henderson <rth@redhat.com>
6353
6354 * config/linux/ia64/futex.h: New file.
6355 * configure.tgt: Use it.
6356
6357 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
6358
63592005-05-07 Richard Henderson <rth@redhat.com>
6360
6361 * config/linux/powerpc/futex.h: New file.
6362 * configure.tgt: Use it.
6363
6364 * config/linux/i486/futex.h: Merge ...
6365 * config/linux/x86_64/futex.h: ... into ...
6366 * config/linux/x86/futex.h: ... here.
6367 * configure.tgt: Update to match.
6368
63692005-05-06 Richard Henderson <rth@redhat.com>
6370
6371 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
6372 * config/linux/i486/futex.h: Likewise.
6373 * config/linux/x86_64/futex.h: Likewise.
6374
6375 * config/linux/lock.c: New file.
6376 * config/linux/omp-lock.h: New file.
6377
6378 * critical.c, env.h: Don't include omp.h
6379 * config/posix/lock.c: Include libgomp.h instead of omp.h.
6380 * config/posix/time.c: Likewise.
6381 * config/posix/omp-lock.h: New file.
6382 * libgomp.h: Include omp-lock.h and omp.h.
6383 * Makefile.am (nodist_include_HEADERS): New.
6384 (omp.h): New rule.
6385 * configure.ac (PERL): New.
6386 * mkomp_h.pl: New file.
6387 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
6388 with templates.
6389 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
6390
6391 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
6392 build directory. Re-add -march=i486 hack.
6393
6394 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
6395 (libgomp_link_flags): Remove.
6396 (libgomp_initialized): Remove.
6397 (libgomp_init): Don't protect from reinitialization. Copy code
6398 from libstdc++ for getting the multilib set correctly.
6399
64002005-05-05 Richard Henderson <rth@redhat.com>
6401
6402 * config/linux/alpha/futex.h: New file.
6403 * configure.tgt (alpha*-*-linux*): Use it.
6404
6405 * config/posix/mutex.c: New file.
6406 * config/posix/sem.c: Use libgomp.h.
6407
6408 * configure.tgt (x86_64-linux): Also test CC for -m32.
6409 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
6410
a1daed2d 6411 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
6412 after $gccpath.
6413
6414 * Makefile.am (SUBDIRS): New.
6415 (libgomp_la_LDFLAGS): Add -lpthread.
6416 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
6417 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
6418
6419 * libgomp_g.h: New file.
6420 * libgomp.h: Split out all public declarations to libgomp_g.h.
6421 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
6422 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
6423 * config/linux/sem.h: Likewise.
6424 * config/posix/sem.h: Likewise.
6425
6426 * Makefile.am (AM_LDFLAGS): New.
6427 (libgomp_version_script): Split out from ...
6428 (libgomp_la_LDFLAGS): ... here.
6429 (libgomp_version_info): New.
6430 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
6431 (LIBGOMP_ENABLE): New.
6432 (LIBGOMP_CHECK_LINKER_FEATURES): New.
6433 (LIBGOMP_ENABLE_SYMVERS): New.
6434 * configure.ac (AC_INIT): Version 1.0.
6435 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
6436 (enable-linux-futex): Likewise. Rename from enable-futex.
6437 (libtool_VERSION): New.
6438 (LIBGOMP_ENABLE_SYMVERS): Use it.
6439 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
6440 * Makefile.in, aclocal.m4, configure: Rebuild.
6441
6442 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
6443 (gomp_mutex_unlock_slow): Fix typo.
6444 * config/linux/sem.c: Similarly.
6445 (gomp_sem_post_slow): Fix typo.
6446 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
6447 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
6448 [__PIC__] (sys_futex0): Don't use tmp output in asm.
6449
6450 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
6451 (libgomp_la_LDFLAGS): Add top_srcdir to path.
6452 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
6453 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
6454 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
6455 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
6456 LDFLAGS. Pull enable_futex check to top-level.
6457 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
6458 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
6459
6460 First attempt at real configury.
6461 * Makefile, config.h: Remove file.
6462 * Makefile.am, Makefile.in: New file.
6463 * acinclude.m4 aclocal.m4: New file.
6464 * configure.ac, configure.tgt, configure: New file.
6465
6466 * config/posix/lock.c: Rename from sys-lock.c.
6467 * config/posix/mutex.h: Rename from sys-mutex.h.
6468 * config/posix/sem.c: Rename from sys-sem.c.
6469 * config/posix/sem.h: Rename from sys-sem.h.
6470 * config/posix/proc.c: Rename from sys-proc.c.
6471 * config/posix/time.c: Rename from sys-proc.c.
6472
6473 * config/linux/mutex.c: New file.
6474 * config/linux/mutex.h: New file.
6475 * config/linux/sem.c: New file.
6476 * config/linux/sem.h: New file.
6477 * config/linux/i486/futex.h: New file.
6478 * config/linux/x86_64/futex.h: New file.
6479
64802005-05-04 Richard Henderson <rth@redhat.com>
6481
6482 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
6483 * libgomp.h: Declare them.
6484 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
6485 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
6486
64872005-05-04 Richard Henderson <rth@redhat.com>
6488
6489 * libgomp-1 code drop
6490
64912005-05-04 Richard Henderson <rth@redhat.com>
6492
6493 * iter.c (gomp_iter_static_next): Return tri-state on 0.
6494 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
6495 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
6496 (gomp_iter_static_next): Update.
6497 (gomp_ordered_static_next): Update.
6498 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
6499 (gomp_loop_ordered_static_start): Likewise. Exit early for a
6500 totally empty range.
6501 (gomp_loop_ordered_static_next): Refine test for calling
6502 gomp_ordered_static_next.
6503 * testsuite/ordered-1.c: Add case for more threads than iterations.
6504
6505 * iter.c (gomp_iter_runtime_next_locked): Remove.
6506 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 6507 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
6508 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6509 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
6510 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
6511 gomp_loop_ordered_guided_next): Downcase name, make static, add
6512 an external alias with the old name.
6513 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6514 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
6515 switch and call one of the above static functions.
6516 * libgomp.h: Update.
6517
6518 * work.c (gomp_work_share_start): Lock the mutex for !first too.
6519 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
6520 GOMP_loop_guided_start, GOMP_loop_runtime_start,
6521 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
6522 GOMP_loop_ordered_guided_start): Update to match.
6523 * sections.c (GOMP_sections_start): Likewise.
6524 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
6525
6526 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
6527 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
6528 Use bounds check instead of modulus.
6529 (gomp_ordered_sync): Split out of GOMP_ordered_start.
6530 (gomp_ordered_last): Don't sync with ordered_owner here.
6531 (gomp_ordered_next): Likewise.
6532 (gomp_ordered_static_loop_next): Likewise.
6533 * loop.c, libgomp.h: Update to match.
6534
6535 * libgomp.h (GOMP_barrier): Declare.
6536
6537 * testsuite/barrier-1.c: New file.
6538 * testsuite/critical-1.c: New file.
6539 * testsuite/ordered-2.c: New file.
6540 * testsuite/ordered-1.c: New file.
6541 * testsuite/sections-1.c: New file.
6542 * testsuite/single-1.c: New file.
6543 * testsuite/Makefile (TESTS): Add them.
6544
65452005-05-04 Richard Henderson <rth@redhat.com>
6546
6547 * libgomp.h (struct gomp_work_share): Add ordered_owner.
6548 * loop.c (GOMP_loop_static_start): If not the startup thread,
6549 acquire the mutex to wait for initialization complete.
6550 (GOMP_loop_ordered_static_start): Likewise.
6551 (GOMP_loop_ordered_runtime_start): Likewise.
6552 (GOMP_loop_ordered_static_first): Remove.
6553 (GOMP_loop_ordered_dynamic_first): Remove.
6554 (GOMP_loop_ordered_guided_first): Remove.
6555 (GOMP_loop_ordered_runtime_first): Remove.
6556 * ordered.c (gomp_ordered_loop_first): Post to own release when
6557 we're the first thread.
6558 (gomp_ordered_loop_last): Wait on release if not owner.
6559 (gomp_ordered_loop_next): Likewise.
6560 (gomp_ordered_static_loop_init): New.
6561 (gomp_ordered_static_loop_next): Use ordered_owner.
6562 (GOMP_ordered_start): Likewise.
6563 * work.c (gomp_new_work_share): Initialize ordered_owner.
6564
65652005-05-03 Richard Henderson <rth@redhat.com>
6566
6567 * Makefile (OPT): New.
6568 (CFLAGS): Use it.
6569
6570 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
6571 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
6572 * libgomp.h, libgomp.map, NOTES: Update to match.
6573
6574 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
6575 Add initialized and thr members.
6576 (gomp_thread_start): Pause when initially spawned to wait for
6577 the whole team to be created.
6578 (gomp_team_start): Release team members at the end.
6579
6580 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
6581 (f_foo_1): Use GOMP_loop_end.
6582 (f_foo_2): Use GOMP_loop_end_nowait.
6583
6584 * testsuite/loop-2.c: New file.
6585 * testsuite/Makefile (TESTS): Add it.
6586
65872005-05-03 Richard Henderson <rth@redhat.com>
6588
6589 * iter.c (gomp_iter_static_next): Fix overflow check typo.
6590 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
6591 * team.c (new_team): Initialize oldest_live_gen to 1 if no
6592 initial work_share.
6593
6594 * testsuite/Makefile: New file.
6595 * testsuite/loop-1.c: New file.
6596
65972005-05-03 Richard Henderson <rth@redhat.com>
6598
6599 Initial implementation and checkin.