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