]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Fix OpenMP offload handling for target-link variables for nvptx (PR81689)
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
2
3 PR libgomp/81689
4 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
5
6 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
7
8 PR libgomp/94251
9 * target.c (gomp_load_image_to_device): Fix link
10 variable handling.
11
12 2020-03-19 Jakub Jelinek <jakub@redhat.com>
13
14 PR c++/93931
15 * testsuite/libgomp.c++/pr93931.C: New test.
16
17 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
18
19 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
20 dg-allow-blank-lines-in-output.
21
22 2020-03-18 Julian Brown <julian@codesourcery.com>
23 Tobias Burnus <tobias@codesourcery.com>
24
25 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
26 it work concurrently.
27
28 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
29
30 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
31 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
32 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
33
34 2020-03-14 Jakub Jelinek <jakub@redhat.com>
35
36 PR middle-end/93566
37 * testsuite/libgomp.c/pr93566.c: New test.
38
39 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
40
41 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
42 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
43 integer(acc_device_property) for the type of the return value of
44 acc_get_property.
45
46 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
47
48 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
49 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
50 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
51 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
52 (acc_set_device_num): Fix Fortran argument name, use same name for C.
53 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
54 corrections; add note about the previous interface and named constant.
55 (OpenACC library and environment variables): Fix two typos.
56 * openacc.f90: Use for all procedures the argument names from the spec
57 as for …_h they are user visible.
58 (openacc_kinds): Rename acc_device_property to
59 acc_device_property_kinds and change value to int32 ; and update users.
60 Re-add acc_device_property for for backward compatibility.
61 (acc_get_property_string_h): Clean up as acc_device_property_kind
62 changed.
63 (acc_get_property_h): Likewise and return c_size_t instead of
64 acc_device_property.
65 (openacc): Also export acc_device_property_kinds.
66 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
67 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
68 handling; check against /= 0 instead of == 1 to match C.
69 * openacc_lib.h: Use for all procedures the argument names from the spec
70 as for …_h they are user visible. Place !GCC$ into the first column to
71 be active also for fixed-form souce form.
72 (acc_device_current, acc_device_property_kind, acc_device_property,
73 acc_property_memory, acc_property_free_memory, acc_property_name,
74 acc_property_vendor, acc_property_driver): New named constants.
75 (acc_get_property, acc_get_property_string): New generic interface.
76
77 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
78
79 PR libgomp/93481
80 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
81 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
82 optional.
83 (gomp_target_task_fn): Assert "devicep->async_run_func".
84 (clear_unsupported_flags): New function to remove unsupported flags
85 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
86 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
87 * testsuite/libgomp.c/target-33.c:
88 Remove xfail for offload_target_nvptx.
89 * testsuite/libgomp.c/target-34.c: Likewise.
90
91 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
92
93 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
94 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
95 * testsuite/libgomp.c/target-34.c: Likewise.
96 * testsuite/libgomp.c/target-link-1.c: Add xfail for
97 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
98
99 2020-02-09 Jakub Jelinek <jakub@redhat.com>
100
101 * testsuite/libgomp.c/target-38.c: New test.
102
103 2020-02-06 Jakub Jelinek <jakub@redhat.com>
104
105 PR libgomp/93515
106 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
107
108 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
109
110 * testsuite/lib/libgomp.exp
111 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
112 and not as 'source' argument to libgomp_target_compile.
113
114 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
115
116 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
117 (gcn_gfx801_s): Remove.
118 (isa_hsa_name): Remove gfx801.
119 (isa_gcc_name): Remove gfx801/carizzo.
120 (isa_code): Remove gfx801.
121
122 2020-02-03 Julian Brown <julian@codesourcery.com>
123 Tobias Burnus <tobias@codesourcery.com>
124
125 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
126 and *_finalize variants; document acc_attach and acc_detach; update
127 references from OpenACC 2.0 to 2.6.
128 * openacc.f90 (openacc_version): Update to 201711.
129 * openacc_lib.h (openacc_version): Update to 201711.
130 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
131 openacc_version to 201711.
132 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
133
134 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
135
136 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
137 and vgpr_count fields.
138 (struct kernel_info): Add a field for a hsa_kernel_description.
139 (run_kernel): Reduce the number of threads/workers if the requested
140 number would require too many VGPRs.
141 (init_basic_kernel_info): Initialize description field with
142 the hsa_kernel_description entry for the kernel.
143
144 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
145
146 PR bootstrap/93409
147 * plugin/configfrag.ac (enable_offload_targets): Skip
148 HSA and GCN plugin besides -m32 also for -mx32.
149 * configure: Regenerate.
150
151 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
152
153 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
154
155 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
156
157 * plugin-gcn.c (struct agent_info): Add fields "name" and
158 "vendor_name" ...
159 (GOMP_OFFLOAD_init_device): ... and init from here.
160 (struct hsa_context_info): Add field "driver_version_s" ...
161 (init_hsa_contest): ... and init from here.
162 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
163 implementation.
164 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
165 Enable test execution for amdgcn and host offloading targets.
166 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
167 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
168 (expect_device_properties): Split function into ...
169 (expect_device_string_properties): ... this new function ...
170 (expect_device_memory): ... and this new function.
171 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
172 Add test.
173
174 2020-01-28 Julian Brown <julian@codesourcery.com>
175
176 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
177 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
178 component/non-component variable refs in a single directive.
179 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
180
181 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
182
183 * configure.ac: Handle `--with-toolexeclibdir='.
184 * Makefile.in: Regenerate.
185 * aclocal.m4: Regenerate.
186 * configure: Regenerate.
187 * testsuite/Makefile.in: Regenerate.
188
189 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
190
191 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
192 (expect_device_properties): Remove "expected_free_mem" argument,
193 change "expected_total_mem" argument type to size_t;
194 change types of acc_get_property results to size_t,
195 adapt format strings.
196 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
197 Use %zu instead of %zd to print size_t values.
198 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
199 rename to ...
200 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
201 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
202 rename to ...
203 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
204
205 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
206
207 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
208 the device id.
209
210 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
211
212 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
213 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
214 Adjust test dimensions for amdgcn.
215 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
216 gang/worker/vector expectations dynamically.
217 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
218 (main): Likewise.
219 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
220 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
221 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
222 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
223 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
224 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
225 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
226 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
227 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
228 (acc_gang): Recognise acc_device_radeon.
229 (acc_worker): Likewise.
230 (acc_vector): Likewise.
231 (main): Set expectations for amdgcn.
232 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
233 (main): Adjust gang/worker/vector expectations dynamically.
234 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
235 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
236 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
237 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
238 for amdgcn.
239
240 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
241
242 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
243 acc_device_radeon.
244 (openacc): Likewise.
245 * openacc.f90 (openacc_kinds): Likewise.
246 (openacc): Likewise.
247 * openacc.h (acc_device_t): Likewise.
248 * openacc_lib.h: Likewise.
249 * testsuite/lib/libgomp.exp
250 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
251 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
252 (cb_compute_construct_end): Likewise.
253 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
254 (cb_enqueue_launch_start): Likewise.
255 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
256 (cb_enter_data_end): Likewise.
257 (cb_exit_data_start): Likewise.
258 (cb_exit_data_end): Likewise.
259 (cb_compute_construct_end): Likewise.
260 (cb_enqueue_launch_start): Likewise.
261 (cb_enqueue_launch_end): Likewise.
262 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
263 (main): Likewise.
264
265 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
266
267 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
268 to use this instead of 'enum gomp_device_property'.
269 (GOMP_OFFLOAD_get_property): Rename to...
270 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
271 * libgomp.h (struct gomp_device_descr): Move
272 'GOMP_OFFLOAD_openacc_get_property'...
273 (struct acc_dispatch_t): ... here. Adjust all users.
274 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
275
276 * target.c (gomp_map_vars_internal)
277 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
278 paths.
279
280 2020-01-10 Jakub Jelinek <jakub@redhat.com>
281
282 PR libgomp/93219
283 * libgomp.h (gomp_print_string): Change return type from void to int.
284 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
285 not all characters have been written.
286
287 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
288
289 * libgomp.texi: Fix typos, use https.
290
291 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
292
293 * testsuite/libgomp.fortran/optional-map.f90: Add test for
294 unallocated/disassociated actual arguments to nonallocatable/nonpointer
295 dummy arguments; those are/shall be regarded as absent arguments.
296 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
297 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
298
299 2020-01-01 Jakub Jelinek <jakub@redhat.com>
300
301 Update copyright years.
302
303 * libgomp.texi: Bump @copying's copyright year.
304
305 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
306
307 PR libgomp/93065
308 * oacc-init.c (goacc_runtime_deinitialize): New function.
309
310 2019-12-28 Jakub Jelinek <jakub@redhat.com>
311
312 PR bootstrap/93074
313 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
314 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
315
316 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
317 Frederik Harwath <frederik@codesourcery.com>
318 Thomas Schwinge <tschwinge@codesourcery.com>
319
320 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
321 * libgomp-plugin.h (gomp_device_property_value): New union.
322 (gomp_device_property_value): New prototype.
323 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
324 constant.
325 (acc_device_property_t): New enum.
326 (acc_get_property, acc_get_property_string): New prototypes.
327 * oacc-init.c (acc_get_device_type): Also assert that result
328 is not `acc_device_current'.
329 (get_property_any, acc_get_property, acc_get_property_string):
330 New functions.
331 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
332 `acc_property_memory', `acc_property_free_memory',
333 `acc_property_name', `acc_property_vendor' and
334 `acc_property_driver' constants. Add `acc_device_property' data
335 type.
336 (openacc_internal): Add `acc_get_property' and
337 `acc_get_property_string' interfaces. Add `acc_get_property_h',
338 `acc_get_property_string_h', `acc_get_property_l' and
339 `acc_get_property_string_l'.
340 * oacc-host.c (host_get_property): New function.
341 (host_dispatch): Wire it.
342 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
343 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
344 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
345 * libgomp.texi (OpenACC Runtime Library Routines): Add
346 `acc_get_property'.
347 (acc_get_property): New node.
348 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
349 function (stub).
350 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
351 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
352 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
353 calls.
354 (GOMP_OFFLOAD_get_property): New function.
355 (struct ptx_device): Add new field "name".
356 (cuda_driver_version_s): Add new static variable ...
357 (nvptx_init): ... and init from here.
358
359 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
360 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
361 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
362 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
363 with test helper functions.
364
365 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
366
367 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
368
369 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
370 variable.
371
372 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
373
374 * target.c (gomp_map_vars_internal): Restore 'omp declare target
375 link' handling.
376
377 2019-12-19 Julian Brown <julian@codesourcery.com>
378
379 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
380 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
381 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
382
383 2019-12-19 Julian Brown <julian@codesourcery.com>
384 Cesar Philippidis <cesar@codesourcery.com>
385
386 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
387 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
388 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
389 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
390 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
391 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
392 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
393 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
394 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
395 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
396 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
397 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
398 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
399
400 2019-12-19 Julian Brown <julian@codesourcery.com>
401
402 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
403 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
404 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
405 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
406 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
407 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
408 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
409 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
410 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
411 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
412 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
413 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
414
415 2019-12-19 Julian Brown <julian@codesourcery.com>
416
417 * libgomp.h (struct target_var_desc): Add do_detach flag.
418 * oacc-init.c (acc_shutdown_1): Free aux block if present.
419 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
420 struct components. Tidy up and add some new checks.
421 (goacc_enter_data_internal): Update call to find_group_last.
422 (goacc_exit_data_internal): Support detach operations and
423 GOMP_MAP_STRUCT.
424 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
425 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
426 attach/detach in enter/exit data detection code.
427 * target.c (gomp_map_vars_existing): Initialise do_detach field of
428 tgt_var_desc.
429 (gomp_map_vars_internal): Support attach.
430 (gomp_unmap_vars_internal): Support detach.
431
432 2019-12-19 Julian Brown <julian@codesourcery.com>
433 Thomas Schwinge <thomas@codesourcery.com>
434
435 * libgomp.h (struct splay_tree_aux): Add attach_count field.
436 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
437 * libgomp.map (OACC_2.6): New section. Add acc_attach,
438 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
439 acc_detach_finalize_async.
440 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
441 acc_detach, acc_detach_async, acc_detach_finalize,
442 acc_detach_finalize_async): New functions.
443 * openacc.h (acc_attach, acc_attach_async, acc_detach,
444 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
445 prototypes.
446 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
447 (gomp_remove_var_internal): Free attachment counts if present.
448 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
449 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
450
451 2019-12-19 Julian Brown <julian@codesourcery.com>
452 Cesar Philippidis <cesar@codesourcery.com>
453
454 * libgomp.h (gomp_map_val): Add prototype.
455 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
456 open-coding device-address calculation.
457 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
458 non-present case.
459
460 2019-12-19 Julian Brown <julian@codesourcery.com>
461
462 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
463 field for virtual_refcount.
464 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
465 (gomp_free_memmap): Remove prototype.
466 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
467 instead of calling gomp_free_memmap.
468 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
469 dynamic_refcount.
470 (acc_unmap_data): Open code instead of forcing target_mem_desc's
471 to_free field to NULL then calling gomp_unmap_vars. Handle
472 REFCOUNT_INFINITY on target blocks.
473 (goacc_enter_data): Rename to...
474 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
475 handling for mapping groups. Use virtual_refcount instead of
476 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
477 map_map_vars_async call. Re-do lookup for target pointer return value.
478 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
479 renamed goacc_enter_datum function.
480 (goacc_exit_data): Rename to...
481 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
482 (acc_delete, acc_delete_async, acc_delete_finalize,
483 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
484 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
485 goacc_exit_datum function.
486 (gomp_acc_remove_pointer, find_pointer): Remove functions.
487 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
488 New functions.
489 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
490 goacc_exit_data_internal helper functions.
491 * target.c (gomp_map_vars_internal): Handle
492 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
493 semantics.
494 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
495 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
496 virtual_refcount field instead of dynamic_refcount.
497 (gomp_free_memmap): Remove function.
498 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
499 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
500 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
501
502 2019-12-19 Julian Brown <julian@codesourcery.com>
503 Thomas Schwinge <thomas@codesourcery.com>
504
505 * libgomp.h (struct splay_tree_aux): New.
506 (struct splay_tree_key_s): Replace link_key field with aux pointer.
507 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
508 to aux struct.
509 (gomp_remove_var_internal): Free aux block if present.
510 (gomp_load_image_to_device): Zero-initialise aux field instead of
511 link_key field.
512 (omp_target_associate_pointer): Zero-initialise aux field.
513
514 2019-12-18 Jakub Jelinek <jakub@redhat.com>
515
516 PR middle-end/86416
517 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
518 q or none.
519 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
520 L or none.
521
522 2019-12-19 Julian Brown <julian@codesourcery.com>
523 Maciej W. Rozycki <macro@codesourcery.com>
524 Tobias Burnus <tobias@codesourcery.com>
525 Thomas Schwinge <thomas@codesourcery.com>
526
527 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
528 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
529 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
530 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
531 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
532 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
533 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
534 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
535 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
536
537 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
538
539 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
540 called...
541 (goacc_insert_pointer): ... from here, "present" case.
542 (goacc_insert_pointer): Inline function into...
543 (GOACC_enter_exit_data): ... here, and simplify.
544
545 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
546 called...
547 (goacc_insert_pointer): ... from here, "not present" case.
548
549 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
550 all users.
551
552 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
553 'goacc_enter_data', 'goacc_exit_data'.
554
555 * oacc-mem.c (delete_copyout): Refactor into...
556 (goacc_exit_data): ... this. Adjust all users.
557
558 * oacc-mem.c (present_create_copy): Refactor into...
559 (goacc_enter_data): ... this. Adjust all users.
560
561 * target.c (gomp_unmap_vars_internal): Add a safeguard to
562 'gomp_remove_var'.
563
564 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
565 like 'GOMP_MAP_FROM'.
566
567 PR libgomp/92726
568 PR libgomp/92970
569 PR libgomp/92984
570 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
571 fails.
572 (GOACC_enter_exit_data): Simplify accordingly.
573 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
574 subsuming...
575 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
576 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
577 file.
578 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
579 subsuming...
580 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
581 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
582 file.
583 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
584 subsuming...
585 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
586
587 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
588 'finalize' handling.
589
590 PR libgomp/92848
591 * oacc-mem.c (acc_map_data, present_create_copy)
592 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
593 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
594 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
595 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
596 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
597 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
598 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
599 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
600 Remove "XFAIL"s.
601
602 * target.c (gomp_unmap_tgt): Make it 'static'.
603 * libgomp.h (gomp_unmap_tgt): Remove.
604
605 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
606
607 PR middle-end/86416
608 * testsuite/libgomp.c/pr86416-1.c: New.
609 * testsuite/libgomp.c/pr86416-2.c: New.
610
611 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
612
613 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
614 all symbols as public except for the 'use …, only' imported symbol,
615 which is private.
616 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
617 all symbols from module openacc_kinds as PUBLIC
618 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
619 fix comment typo.
620 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
621
622 2019-12-13 Julian Brown <julian@codesourcery.com>
623
624 PR libgomp/92881
625
626 * libgomp.h (gomp_remove_var_async): Add prototype.
627 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
628 gomp_remove_var.
629 * target.c (gomp_unref_tgt): Change return type to bool, indicating
630 whether target_mem_desc was unmapped.
631 (gomp_unref_tgt_void): New.
632 (gomp_remove_var): Reimplement in terms of...
633 (gomp_remove_var_internal): ...this new helper function.
634 (gomp_remove_var_async): New, implemented using above helper function.
635 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
636 gomp_unref_tgt.
637
638 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
639
640 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
641 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
642 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
643 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
644 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
645 Likewise.
646 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
647 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
648
649 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
650
651 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
652 as public except for the 'use …, only' imported symbol, which is
653 private.
654 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
655 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
656 attributes for acc_copyout_finalize and acc_delete_finalize.
657
658 2019-12-11 Jakub Jelinek <jakub@redhat.com>
659
660 PR fortran/92899
661 * testsuite/libgomp.fortran/atomic1.f90: New test.
662
663 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
664
665 PR libgomp/92843
666 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
667 reference counting for structured 'REFCOUNT_INFINITY'. Add some
668 assertions.
669 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
670 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
671 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
672 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
673 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
674
675 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
676 * oacc-mem.c: ... here.
677 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
678 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
679 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
680 Remove.
681 * libgomp_g.h: Update.
682
683 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
684 * oacc-async.c: ... here.
685 * oacc-int.h (goacc_wait): Declare.
686 * libgomp_g.h: Update
687
688 PR libgomp/92854
689 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
690 New file.
691 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
692 Likewise.
693 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
694 Likewise.
695 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
696 Likewise.
697 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
698 Likewise.
699 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
700 Likewise.
701
702 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
703 Julian Brown <julian@codesourcery.com>
704
705 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
706 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
707
708 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
709
710 * omp_lib.h.in: Fix spelling of function declaration
711 omp_get_cancell(l)ation.
712 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
713 Fix typos.
714 * env.c: Fix comment typos.
715 * oacc-host.c: Likewise.
716 * ordered.c: Likewise.
717 * task.c: Likewise.
718 * team.c: Likewise.
719 * config/gcn/task.c: Likewise.
720 * config/gcn/team.c: Likewise.
721 * config/nvptx/task.c: Likewise.
722 * config/nvptx/team.c: Likewise.
723 * plugin/plugin-gcn.c: Likewise.
724 * testsuite/libgomp.fortran/jacobi.f: Likewise.
725 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
726 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
727
728 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
729
730 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
731 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
732 unnecessary 'dg-additional-options "-w"'.
733
734 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
735 Julian Brown <julian@codesourcery.com>
736
737 PR libgomp/92116
738 PR libgomp/92877
739
740 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
741 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
742 Adjust all users.
743 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
744 Remove XFAIL.
745 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
746 Likewise.
747 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
748
749 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
750
751 PR libgomp/92503
752 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
753 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
754 file.
755 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
756 Likewise.
757 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
758 Likewise.
759 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
760 Likewise.
761 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
762 Likewise.
763 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
764 Likewise.
765 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
766 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
767 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
768 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
769 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
770 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
771 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
772 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
773 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
774 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
775
776 PR libgomp/92840
777 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
778 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
779 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
780 New file.
781 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
782 Likewise.
783 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
784 Likewise.
785 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
786 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
787
788 PR libgomp/92511
789 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
790 this file...
791 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
792 this file...
793 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
794 file...
795 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
796 file...
797 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
798 ... with their content moved into, and extended in this new file.
799 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
800 New file.
801 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
802 Likewise.
803 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
804 Likewise.
805 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
806 Likewise.
807
808 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
809
810 PR libgomp/92854
811 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
812
813 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
814
815 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
816
817 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
818
819 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
820 unique.
821 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
822 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
823 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
824 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
825 Ditto.
826 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
827 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
828
829 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
830
831 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
832
833 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
834 Kwok Cheung Yeung <kcy@codesourcery.com>
835
836 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
837 if input it a NULL pointer.
838 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
839 diagnostic of NULL pointer.
840 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
841 * testsuite/libgomp.fortran/optional-map.f90: New.
842 * testsuite/libgomp.fortran/use_device_addr-1.f90
843 (test_dummy_opt_callee_1_absent): New.
844 (test_dummy_opt_call_1): Call it.
845 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
846 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
847 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
848 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
849 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
850 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
851 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
852 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
853 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
854 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
855 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
856 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
857 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
858 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
859 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
860 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
861
862 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
863
864 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
865 expect dg-output of 'Error termination.' for GCN.
866 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
867 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
868
869 2019-12-04 Jakub Jelinek <jakub@redhat.com>
870
871 PR fortran/92756
872 * testsuite/libgomp.fortran/teams1.f90: New test.
873 * testsuite/libgomp.fortran/teams2.f90: New test.
874
875 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
876
877 * oacc-init.c (acc_known_device_type): Add function.
878 (unknown_device_type_error): Add function.
879 (name_of_acc_device_t): Change to call unknown_device_type_error
880 on unknown type.
881 (resolve_device): Use acc_known_device_type.
882 (acc_init): Fail if acc_device_t argument is not valid.
883 (acc_shutdown): Likewise.
884 (acc_get_num_devices): Likewise.
885 (acc_set_device_type): Likewise.
886 (acc_get_device_num): Likewise.
887 (acc_set_device_num): Likewise.
888 (acc_on_device): Add comment that argument validity is not checked.
889
890 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
891
892 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
893 Recognize amdgcn.
894 (check_effective_target_openacc_amdgcn_accel_present): New proc.
895 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
896 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
897 * testsuite/libgomp.oacc-c/c.exp: Likewise.
898 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
899
900 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
901
902 PR libgomp/91938
903 * configure.tgt: Avoid IE tls on *-*-musl*.
904
905 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
906
907 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
908 adding a common-block test case.
909
910 2019-11-29 Jakub Jelinek <jakub@redhat.com>
911
912 PR c++/60228
913 * testsuite/libgomp.c++/udr-20.C: New test.
914 * testsuite/libgomp.c++/udr-21.C: New test.
915
916 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
917
918 * testsuite/lib/libgomp.exp
919 (check_effective_target_offload_target_nvptx): New proc.
920 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
921 'dg-skip-if'.
922 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
923 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
924 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
925
926 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
927
928 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
929 * testsuite/libgomp.c/pr39591-2.c: Likewise.
930 * testsuite/libgomp.c/pr39591-3.c: Likewise.
931 * testsuite/libgomp.c/private-1.c: Likewise.
932 * testsuite/libgomp.c/task-1.c: Likewise.
933 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
934
935 2019-11-20 Julian Brown <julian@codesourcery.com>
936
937 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
938 aq->mutex here.
939 (queue_push_launch): Lock aq->mutex before calling
940 wait_for_queue_nonfull.
941 (queue_push_callback): Likewise.
942 (queue_push_asyncwait): Likewise.
943 (queue_push_placeholder): Likewise.
944
945 2019-11-20 Julian Brown <julian@codesourcery.com>
946
947 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
948 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
949 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
950 return code.
951
952 2019-11-20 Julian Brown <julian@codesourcery.com>
953
954 PR libgomp/92511
955
956 * oacc-mem.c (present_create_copy): Fix device pointer return value in
957 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
958 in non-present/create case.
959 (delete_copyout): Change error condition to fail only on copies outside
960 of mapped block. Adjust error message accordingly.
961 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
962 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
963 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
964 message.
965 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
966 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
967 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
968
969 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
970
971 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
972 libatomic in build-tree testing.
973
974 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
975
976 * testsuite/Makefile.in: Regenerate.
977
978 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
979
980 * testsuite/libgomp.c/target-print-1.c: New file.
981 * testsuite/libgomp.fortran/target-print-1.f90: New file.
982 * testsuite/libgomp.oacc-c/print-1.c: New file.
983 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
984
985 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
986 Kwok Cheung Yeung <kcy@codesourcery.com>
987 Julian Brown <julian@codesourcery.com>
988 Tom de Vries <tom@codesourcery.com>
989
990 * plugin/Makefrag.am: Add amdgcn plugin support.
991 * plugin/configfrag.ac: Likewise.
992 * plugin/plugin-gcn.c: New file.
993 * configure: Regenerate.
994 * Makefile.in: Regenerate.
995 * testsuite/Makefile.in: Regenerate.
996
997 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
998
999 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1000 and use team_malloc variants.
1001 (gomp_gcn_exit_kernel): Use team_free.
1002 * libgomp.h (TEAM_ARENA_SIZE): Define.
1003 (TEAM_ARENA_START): Define.
1004 (TEAM_ARENA_FREE): Define.
1005 (TEAM_ARENA_END): Define.
1006 (team_malloc): New function.
1007 (team_malloc_cleared): New function.
1008 (team_free): New function.
1009 * team.c (gomp_new_team): Initialize and use team_malloc.
1010 (free_team): Use team_free.
1011 (gomp_free_thread): Use team_free.
1012 (gomp_pause_host): Use team_free.
1013 * work.c (gomp_init_work_share): Use team_malloc.
1014 (gomp_fini_work_share): Use team_free.
1015
1016 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1017 Kwok Cheung Yeung <kcy@codesourcery.com>
1018 Julian Brown <julian@codesourcery.com>
1019 Tom de Vries <tom@codesourcery.com>
1020
1021 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1022 * Makefile.in: Regenerate.
1023 * config.h.in (PLUGIN_GCN): Add new undef.
1024 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1025 * config/gcn/affinity-fmt.c: New file.
1026 * config/gcn/bar.c: New file.
1027 * config/gcn/bar.h: New file.
1028 * config/gcn/doacross.h: New file.
1029 * config/gcn/icv-device.c: New file.
1030 * config/gcn/oacc-target.c: New file.
1031 * config/gcn/simple-bar.h: New file.
1032 * config/gcn/target.c: New file.
1033 * config/gcn/task.c: New file.
1034 * config/gcn/team.c: New file.
1035 * config/gcn/time.c: New file.
1036 * configure.ac: Add amdgcn*-*-*.
1037 * configure: Regenerate.
1038 * configure.tgt: Add amdgcn*-*-*.
1039 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1040 * libgomp.h (gcn_thrs): Add amdgcn variant.
1041 (set_gcn_thrs): Likewise.
1042 (gomp_thread): Likewise.
1043 * oacc-int.h (goacc_thread): Likewise.
1044 * oacc-target.c: New file.
1045 * openacc.f90 (acc_device_gcn): New parameter.
1046 * openacc.h (acc_device_t): Add acc_device_gcn.
1047 * team.c (gomp_free_pool_helper): Add amdgcn support.
1048
1049 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1050 Julian Brown <julian@codesourcery.com>
1051
1052 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1053 parameter.
1054 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1055 queue constructor.
1056 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1057 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1058 device parameter.
1059
1060 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1061
1062 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1063 * config/nvptx/libgomp-plugin.c: Move ...
1064 * config/accel/libgomp-plugin.c: ... to here.
1065 * config/nvptx/lock.c: Move ...
1066 * config/accel/lock.c: ... to here.
1067 * config/nvptx/mutex.c: Move ...
1068 * config/accel/mutex.c: ... to here.
1069 * config/nvptx/mutex.h: Move ...
1070 * config/accel/mutex.h: ... to here.
1071 * config/nvptx/oacc-async.c: Move ...
1072 * config/accel/oacc-async.c: ... to here.
1073 * config/nvptx/oacc-cuda.c: Move ...
1074 * config/accel/oacc-cuda.c: ... to here.
1075 * config/nvptx/oacc-host.c: Move ...
1076 * config/accel/oacc-host.c: ... to here.
1077 * config/nvptx/oacc-init.c: Move ...
1078 * config/accel/oacc-init.c: ... to here.
1079 * config/nvptx/oacc-mem.c: Move ...
1080 * config/accel/oacc-mem.c: ... to here.
1081 * config/nvptx/oacc-plugin.c: Move ...
1082 * config/accel/oacc-plugin.c: ... to here.
1083 * config/nvptx/omp-lock.h: Move ...
1084 * config/accel/omp-lock.h: ... to here.
1085 * config/nvptx/openacc.f90: Move ...
1086 * config/accel/openacc.f90: ... to here.
1087 * config/nvptx/pool.h: Move ...
1088 * config/accel/pool.h: ... to here.
1089 * config/nvptx/proc.c: Move ...
1090 * config/accel/proc.c: ... to here.
1091 * config/nvptx/ptrlock.c: Move ...
1092 * config/accel/ptrlock.c: ... to here.
1093 * config/nvptx/ptrlock.h: Move ...
1094 * config/accel/ptrlock.h: ... to here.
1095 * config/nvptx/sem.c: Move ...
1096 * config/accel/sem.c: ... to here.
1097 * config/nvptx/sem.h: Move ...
1098 * config/accel/sem.h: ... to here.
1099 * config/nvptx/thread-stacksize.h: Move ...
1100 * config/accel/thread-stacksize.h: ... to here.
1101
1102 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1103 Tobias Burnus <tobias@codesourcery.com>
1104 Frederik Harwath <frederik@codesourcery.com>
1105 Thomas Schwinge <thomas@codesourcery.com>
1106
1107 libgomp/
1108 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1109 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1110 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1111
1112 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
1113 Kwok Cheung Yeung <kcy@codesourcery.com>
1114
1115 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1116 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1117
1118 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1119
1120 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1121
1122 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1123 run'.
1124 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1125 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1126
1127 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1128
1129 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1130 Add expected warnings about missing reduction clauses.
1131 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1132 Likewise.
1133 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1134 Likewise.
1135 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1136 Likewise.
1137
1138 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
1139
1140 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1141 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1142 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1143 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1144 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1145 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1146
1147 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
1148
1149 PR fortran/92305
1150 * testsuite/libgomp.fortran/allocatable2.f90: Use
1151 unique numbers with 'stop'.
1152 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1153 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1154 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1155 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1156 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1157
1158 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
1159
1160 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1161 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1162 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1163 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1164 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1165 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1166
1167 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1168
1169 * testsuite/libgomp.fortran/target9.f90: New.
1170
1171 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1172
1173 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1174 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1175 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1176 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1177 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1178 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1179 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1180 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1181 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1182 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1183 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1184 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1185 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1186 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1187 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1188 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1189 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1190 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1191 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1192 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1193 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1194 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1195 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1196 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1197 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1198 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1199 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1200 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1201 * testsuite/libgomp.fortran/character1.f90: Ditto.
1202 * testsuite/libgomp.fortran/character2.f90: Ditto.
1203 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1204 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1205 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1206 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1207 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1208 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1209 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1210 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1211 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1212 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1213 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1214 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1215 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1216 * testsuite/libgomp.fortran/do1.f90: Ditto.
1217 * testsuite/libgomp.fortran/do2.f90: Ditto.
1218 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1219 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1220 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1221 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1222 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1223 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1224 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1225 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1226 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1227 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1228 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1229 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1230 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1231 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1232 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1233 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1234 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1235 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1236 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1237 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1238 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1239 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1240 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1241 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1242 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1243 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1244 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1245 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1246 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1247 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1248 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1249 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1250 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1251 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1252 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1253 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1254 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1255 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1256 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1257 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1258 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1259 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1260 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1261 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1262 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1263 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1264 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1265 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1266 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1267 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1268 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1269 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1270 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1271 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1272 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1273 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1274 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1275 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1276 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1277 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1278 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1279 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1280 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1281 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1282 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1283 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1284 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1285 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1286 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1287 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1288 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1289 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1290 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1291 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1292 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1293 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1294 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1295 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1296 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1297 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1298 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1299 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1300 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1301 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1302 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1303 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1304 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1305 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1306 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1307 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1308 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1309 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1310 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1311 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1312 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1313 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1314 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1315 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1316 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1317 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1318 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1319 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1320 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1321 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1322 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1323 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1324 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1325 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1326 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1327 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1328 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1329 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1330 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1331 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1332 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1333 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1334 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1335 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1336 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1337 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1338 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1339 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1340 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1341 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1342 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1343 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1344 * testsuite/libgomp.fortran/stack.f90: Ditto.
1345 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1346 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1347 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1348 * testsuite/libgomp.fortran/target1.f90: Ditto.
1349 * testsuite/libgomp.fortran/target2.f90: Ditto.
1350 * testsuite/libgomp.fortran/target3.f90: Ditto.
1351 * testsuite/libgomp.fortran/target4.f90: Ditto.
1352 * testsuite/libgomp.fortran/target5.f90: Ditto.
1353 * testsuite/libgomp.fortran/target6.f90: Ditto.
1354 * testsuite/libgomp.fortran/target7.f90: Ditto.
1355 * testsuite/libgomp.fortran/target8.f90: Ditto.
1356 * testsuite/libgomp.fortran/task1.f90: Ditto.
1357 * testsuite/libgomp.fortran/task2.f90: Ditto.
1358 * testsuite/libgomp.fortran/task3.f90: Ditto.
1359 * testsuite/libgomp.fortran/task4.f90: Ditto.
1360 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1361 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1362 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1363 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1364 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1365 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1366 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1367 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1368 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1369 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1370 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1371 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1372 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1373 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1374 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1375 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1376 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1377 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1378 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1379 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1380 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1381 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1382 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1383 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1384 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1385 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1386 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1387 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1388 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1389 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1390 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1391 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1392 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1393 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1394
1395 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1396
1397 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1398 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1399 Ditto; add 'dg-do run' for torture testing.
1400 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1401 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1402 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1403 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1404 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1405 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1406 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1407 * testsuite/libgomp.fortran/task2.f90: Ditto.
1408 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1409 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1410 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1411 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1412 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1413 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1414
1415 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
1416
1417 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1418 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1419 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1420 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1421 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1422 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1423 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1424 Use 'stop' not abort().
1425 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1426 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1427 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1428 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1429 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1430 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1431 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1432 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1433 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1434 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1435 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1436 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1437 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1438 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1439 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1440 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1441 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1442 Ditto.
1443 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1444 Ditto.
1445 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1446 Ditto.
1447 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1448 Ditto.
1449 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1450 Ditto.
1451 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1452 Ditto.
1453 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1454 Ditto.
1455 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1456 Ditto.
1457 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1458 Ditto.
1459 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1460 Ditto.
1461 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1462 Ditto.
1463 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1464 Ditto.
1465 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1466 Ditto.
1467 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1468 Ditto.
1469 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1470 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1471 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1472 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1473 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1474 Likewise and also add 'dg-do run'.
1475 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1476 Ditto.
1477
1478 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1479 Tobias Burnus <tobias@codesourcery.com>
1480
1481 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1482 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1483 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1484
1485 2019-10-14 Jakub Jelinek <jakub@redhat.com>
1486
1487 PR libgomp/92081
1488 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1489 than 0.
1490
1491 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
1492
1493 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1494 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1495
1496 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1497
1498 PR middle-end/92036
1499 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1500 file.
1501
1502 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
1503
1504 PR testsuite/91884
1505 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1506 add -lquadmath.
1507 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1508
1509 2019-10-09 Jakub Jelinek <jakub@redhat.com>
1510
1511 PR libgomp/92028
1512 * target.c (gomp_map_vars_internal): Readd the previous
1513 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1514 though do that just in the !not_found_cnt case.
1515
1516 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
1517
1518 * gfortran.dg/gomp/target-simd.f90: New.
1519
1520 2019-10-02 Julian Brown <julian@codesourcery.com>
1521 Cesar Philippidis <cesar@codesourcery.com>
1522
1523 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1524 * target.c (FIELD_TGT_EMPTY): Define.
1525 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1526 as switch instead of list of ifs.
1527 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1528
1529 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1530
1531 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1532 include. Replace alloca () with __builtin_alloca ().
1533 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1534
1535 2019-10-01 Jakub Jelinek <jakub@redhat.com>
1536
1537 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1538 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1539 * oacc-parallel.c: Don't include "libgomp_g.h".
1540 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1541 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1542 * aclocal.m4: Regenerated.
1543 * config.h.in: Regenerated.
1544 * configure: Regenerated.
1545 * Makefile.in: Regenerated.
1546
1547 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1548
1549 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1550
1551 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
1552
1553 * configure: Regenerate.
1554
1555 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
1556
1557 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1558 string is initialized.
1559
1560 2019-09-06 Florian Weimer <fweimer@redhat.com>
1561
1562 * configure: Regenerate.
1563
1564 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1565
1566 PR other/79543
1567 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1568 scanning to conform to the GNU Coding Standards.
1569 * configure: Regenerate.
1570
1571 2019-08-28 Jakub Jelinek <jakub@redhat.com>
1572
1573 PR libgomp/91530
1574 * testsuite/libgomp.c/scan-21.c: New test.
1575 * testsuite/libgomp.c/scan-22.c: New test.
1576
1577 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1578
1579 PR libgomp/91530
1580 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1581 targets.
1582 * testsuite/libgomp.c/scan-12.c: Likewise.
1583 * testsuite/libgomp.c/scan-13.c: Likewise.
1584 * testsuite/libgomp.c/scan-14.c: Likewise.
1585 * testsuite/libgomp.c/scan-15.c: Likewise.
1586 * testsuite/libgomp.c/scan-16.c: Likewise.
1587 * testsuite/libgomp.c/scan-17.c: Likewise.
1588 * testsuite/libgomp.c/scan-18.c: Likewise.
1589 * testsuite/libgomp.c/scan-19.c: Likewise.
1590 * testsuite/libgomp.c/scan-20.c: Likewise.
1591 * testsuite/libgomp.c++/scan-9.C: Likewise.
1592 * testsuite/libgomp.c++/scan-10.C: Likewise.
1593 * testsuite/libgomp.c++/scan-11.C: Likewise.
1594 * testsuite/libgomp.c++/scan-12.C: Likewise.
1595 * testsuite/libgomp.c++/scan-14.C: Likewise.
1596 * testsuite/libgomp.c++/scan-15.C: Likewise.
1597 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1598 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1599 * testsuite/libgomp.c++/scan-16.C: Likewise.
1600
1601 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1602
1603 PR fortran/91473
1604 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1605 -std=legacy so invalid code in the test case is accepted.
1606
1607 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1608
1609 PR fortran/91422
1610 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1611 dimension.
1612
1613 2019-08-08 Jakub Jelinek <jakub@redhat.com>
1614
1615 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1616 perform the lookup in the first loop only if !not_found_cnt, otherwise
1617 perform lookups for it in the second loop guarded with
1618 if (not_found_cnt || has_firstprivate).
1619 * testsuite/libgomp.c/target-37.c: New test.
1620 * testsuite/libgomp.c++/target-22.C: New test.
1621
1622 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1623
1624 * testsuite/libgomp.c/target-18.c (struct S): New type.
1625 (foo): Use use_device_addr clause instead of use_device_ptr clause
1626 where required by OpenMP 5.0, add further tests for both use_device_ptr
1627 and use_device_addr clauses.
1628 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1629 (foo): Use use_device_addr clause instead of use_device_ptr clause
1630 where required by OpenMP 5.0, add further tests for both use_device_ptr
1631 and use_device_addr clauses. Add t and u arguments.
1632 (main): Adjust caller.
1633
1634 2019-08-06 Jakub Jelinek <jakub@redhat.com>
1635
1636 * testsuite/libgomp.c++/loop-13.C: New test.
1637 * testsuite/libgomp.c++/loop-14.C: New test.
1638 * testsuite/libgomp.c++/loop-15.C: New test.
1639
1640 2019-07-31 Jakub Jelinek <jakub@redhat.com>
1641
1642 PR middle-end/91301
1643 * testsuite/libgomp.c++/for-27.C: New test.
1644
1645 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1646
1647 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
1648 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1649
1650 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1651
1652 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1653
1654 2019-07-08 Jakub Jelinek <jakub@redhat.com>
1655
1656 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1657 * testsuite/libgomp.c++/scan-16.C: Likewise.
1658
1659 2019-07-06 Jakub Jelinek <jakub@redhat.com>
1660
1661 * testsuite/libgomp.c/scan-19.c: New test.
1662 * testsuite/libgomp.c/scan-20.c: New test.
1663
1664 * testsuite/libgomp.c/scan-11.c: New test.
1665 * testsuite/libgomp.c/scan-12.c: New test.
1666 * testsuite/libgomp.c/scan-13.c: New test.
1667 * testsuite/libgomp.c/scan-14.c: New test.
1668 * testsuite/libgomp.c/scan-15.c: New test.
1669 * testsuite/libgomp.c/scan-16.c: New test.
1670 * testsuite/libgomp.c/scan-17.c: New test.
1671 * testsuite/libgomp.c/scan-18.c: New test.
1672 * testsuite/libgomp.c++/scan-9.C: New test.
1673 * testsuite/libgomp.c++/scan-10.C: New test.
1674 * testsuite/libgomp.c++/scan-11.C: New test.
1675 * testsuite/libgomp.c++/scan-12.C: New test.
1676 * testsuite/libgomp.c++/scan-13.C: New test.
1677 * testsuite/libgomp.c++/scan-14.C: New test.
1678 * testsuite/libgomp.c++/scan-15.C: New test.
1679 * testsuite/libgomp.c++/scan-16.C: New test.
1680
1681 2019-07-04 Jakub Jelinek <jakub@redhat.com>
1682
1683 * testsuite/libgomp.c/scan-9.c: New test.
1684 * testsuite/libgomp.c/scan-10.c: New test.
1685
1686 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1687
1688 * testsuite/libgomp.c++/scan-1.C: New test.
1689 * testsuite/libgomp.c++/scan-2.C: New test.
1690 * testsuite/libgomp.c++/scan-3.C: New test.
1691 * testsuite/libgomp.c++/scan-4.C: New test.
1692 * testsuite/libgomp.c++/scan-5.C: New test.
1693 * testsuite/libgomp.c++/scan-6.C: New test.
1694 * testsuite/libgomp.c++/scan-7.C: New test.
1695 * testsuite/libgomp.c++/scan-8.C: New test.
1696 * testsuite/libgomp.c/scan-1.c: New test.
1697 * testsuite/libgomp.c/scan-2.c: New test.
1698 * testsuite/libgomp.c/scan-3.c: New test.
1699 * testsuite/libgomp.c/scan-4.c: New test.
1700 * testsuite/libgomp.c/scan-5.c: New test.
1701 * testsuite/libgomp.c/scan-6.c: New test.
1702 * testsuite/libgomp.c/scan-7.c: New test.
1703 * testsuite/libgomp.c/scan-8.c: New test.
1704
1705 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1706
1707 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1708 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1709 Likewise.
1710
1711 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1712 check.
1713
1714 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1715
1716 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1717 file.
1718
1719 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1720
1721 PR fortran/90743
1722 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1723 case.
1724 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1725 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1726 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1727 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1728
1729 PR testsuite/90861
1730 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1731
1732 PR middle-end/90862
1733 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1734
1735 2019-06-16 Tom de Vries <tdevries@suse.de>
1736
1737 PR tree-optimization/89376
1738 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1739
1740 2019-06-15 Tom de Vries <tdevries@suse.de>
1741
1742 PR tree-optimization/89713
1743 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1744 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1745
1746 2019-06-15 Jakub Jelinek <jakub@redhat.com>
1747
1748 PR middle-end/90779
1749 * testsuite/libgomp.c/pr90779.c: New test.
1750 * testsuite/libgomp.fortran/pr90779.f90: New test.
1751
1752 2019-06-15 Tom de Vries <tdevries@suse.de>
1753
1754 PR tree-optimization/90009
1755 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1756
1757 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1758
1759 PR tree-optimization/89713
1760 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1761
1762 2019-06-11 Jakub Jelinek <jakub@redhat.com>
1763
1764 PR target/90811
1765 * testsuite/libgomp.c/pr90811.c: New test.
1766
1767 2019-06-05 Jakub Jelinek <jakub@redhat.com>
1768
1769 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1770 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1771
1772 2019-06-04 Jakub Jelinek <jakub@redhat.com>
1773
1774 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1775 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1776 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1777 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1778
1779 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1780
1781 * configure.ac: Call AX_COUNT_CPUS.
1782 Substitute CPU_COUNT.
1783 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1784 count fallback.
1785 * aclocal.m4: Regenerate.
1786 * configure: Regenerate.
1787 * Makefile.in, testsuite/Makefile.in: Regenerate.
1788
1789 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1790
1791 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1792 to ...
1793 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1794 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1795 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1796
1797 2019-05-27 Jakub Jelinek <jakub@redhat.com>
1798
1799 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1800
1801 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1802
1803 PR libgomp/90641
1804 * work.c (gomp_init_work_share): Instead of aligning final ordered
1805 value to multiples of long long alignment, align to that the
1806 first part (ordered team ids) and if inline_ordered_team_ids
1807 is not on a long long alignment boundary within the structure,
1808 use __alignof__ (long long) - 1 pad size always.
1809 * loop.c (GOMP_loop_start): Fix *mem computation if
1810 inline_ordered_team_ids is not aligned on long long alignment boundary
1811 within the structure.
1812 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1813 * sections.c (GOMP_sections2_start): Likewise.
1814
1815 2019-05-24 Jakub Jelinek <jakub@redhat.com>
1816
1817 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1818 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1819
1820 PR libgomp/90585
1821 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1822 HAVE_INTTYPES_H is defined.
1823 (print_uint64_t): New typedef.
1824 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1825 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1826 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1827 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1828 before casting to void *.
1829 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1830 * oacc-mem.c: Don't include config.h nor stdint.h.
1831 * target.c: Don't include config.h.
1832 * oacc-cuda.c: Likewise.
1833 * oacc-host.c: Don't include stdint.h.
1834
1835 2019-05-20 Jakub Jelinek <jakub@redhat.com>
1836
1837 PR libgomp/90527
1838 * alloc.c (_GNU_SOURCE): Define.
1839
1840 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1841
1842 * acc_prof.h: New file.
1843 * oacc-profiling.c: Likewise.
1844 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1845 Add these, respectively.
1846 * Makefile.in: Regenerate.
1847 * env.c (initialize_env): Call goacc_profiling_initialize.
1848 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1849 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1850 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1851 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1852 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1853 acc_prof_register, acc_prof_unregister, and acc_register_library.
1854 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1855 GOMP_PLUGIN_goacc_thread.
1856 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1857 prof_callbacks_enabled members.
1858 (goacc_prof_enabled, goacc_profiling_initialize)
1859 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1860 (goacc_profiling_dispatch): Declare.
1861 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1862 (GOACC_PROFILING_SETUP_P): Define.
1863 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1864 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1865 OpenACC Profiling Interface.
1866 * oacc-cuda.c (acc_get_current_cuda_device)
1867 (acc_get_current_cuda_context, acc_get_cuda_stream)
1868 (acc_set_cuda_stream): Likewise.
1869 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1870 (acc_init, acc_set_device_type, acc_get_device_type)
1871 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1872 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1873 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1874 (acc_unmap_data, present_create_copy, delete_copyout)
1875 (update_dev_host): Likewise.
1876 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1877 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1878 Likewise.
1879 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1880 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1881 Likewise.
1882 * libgomp.texi: Update.
1883 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1884 file.
1885 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1886 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1887 Likewise.
1888 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1889 Likewise.
1890 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1891 Likewise.
1892 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1893 Likewise.
1894
1895 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1896
1897 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1898 (struct goacc_asyncqueue_list): Likewise.
1899 (goacc_aq): Likewise.
1900 (goacc_aq_list): Likewise.
1901 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1902 (GOMP_OFFLOAD_openacc_async_test): Remove.
1903 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1904 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1905 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1906 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1907 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1908 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1909 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1910 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1911 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1912 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1913 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1914 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1915 (GOMP_OFFLOAD_openacc_async_test): Declare.
1916 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1917 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1918 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1919 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1920 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1921
1922 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1923 (gomp_acc_insert_pointer): Adjust declaration.
1924 (gomp_copy_host2dev): New declaration.
1925 (gomp_copy_dev2host): Likewise.
1926 (gomp_map_vars_async): Likewise.
1927 (gomp_unmap_tgt): Likewise.
1928 (gomp_unmap_vars_async): Likewise.
1929 (gomp_fini_device): Likewise.
1930
1931 * oacc-async.c (get_goacc_thread): New function.
1932 (get_goacc_thread_device): New function.
1933 (lookup_goacc_asyncqueue): New function.
1934 (get_goacc_asyncqueue): New function.
1935 (acc_async_test): Adjust code to use new async design.
1936 (acc_async_test_all): Likewise.
1937 (acc_wait): Likewise.
1938 (acc_wait_async): Likewise.
1939 (acc_wait_all): Likewise.
1940 (acc_wait_all_async): Likewise.
1941 (goacc_async_free): New function.
1942 (goacc_init_asyncqueues): Likewise.
1943 (goacc_fini_asyncqueues): Likewise.
1944 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1945 design.
1946 (acc_set_cuda_stream): Likewise.
1947 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1948 (host_openacc_register_async_cleanup): Remove.
1949 (host_openacc_async_exec): New function.
1950 (host_openacc_async_test): Adjust parameters.
1951 (host_openacc_async_test_all): Remove.
1952 (host_openacc_async_wait): Remove.
1953 (host_openacc_async_wait_async): Remove.
1954 (host_openacc_async_wait_all): Remove.
1955 (host_openacc_async_wait_all_async): Remove.
1956 (host_openacc_async_set_async): Remove.
1957 (host_openacc_async_synchronize): New function.
1958 (host_openacc_async_serialize): New function.
1959 (host_openacc_async_host2dev): New function.
1960 (host_openacc_async_dev2host): New function.
1961 (host_openacc_async_queue_callback): New function.
1962 (host_openacc_async_construct): New function.
1963 (host_openacc_async_destruct): New function.
1964 (struct gomp_device_descr host_dispatch): Remove initialization of old
1965 interface, add initialization of new async sub-struct.
1966 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1967 (goacc_attach_host_thread_to_device): Remove old async code usage.
1968 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1969 (goacc_fini_asyncqueues): Likewise.
1970 (goacc_async_copyout_unmap_vars): Likewise.
1971 (goacc_async_free): Likewise.
1972 (get_goacc_asyncqueue): Likewise.
1973 (lookup_goacc_asyncqueue): Likewise.
1974 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1975 design.
1976 (present_create_copy): Adjust code to use new async design.
1977 (delete_copyout): Likewise.
1978 (update_dev_host): Likewise.
1979 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1980 async design.
1981 (gomp_acc_remove_pointer): Adjust code to use new async design.
1982 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1983 design.
1984 (GOACC_enter_exit_data): Likewise.
1985 (goacc_wait): Likewise.
1986 (GOACC_update): Likewise.
1987 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1988 when called, warn as obsolete in comment.
1989 * target.c (goacc_device_copy_async): New function.
1990 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1991 add goacc_device_copy_async case.
1992 (gomp_copy_dev2host): Likewise.
1993 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1994 (gomp_map_pointer): Likewise.
1995 (gomp_map_fields_existing): Likewise.
1996 (gomp_map_vars_internal): New always_inline function, renamed from
1997 gomp_map_vars.
1998 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1999 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2000 passing goacc_asyncqueue argument.
2001 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2002 (gomp_unref_tgt): New function.
2003 (gomp_unmap_vars_internal): New always_inline function, renamed from
2004 gomp_unmap_vars.
2005 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2006 (gomp_unmap_vars_async): Implement by calling
2007 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2008 (gomp_fini_device): New function.
2009 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2010 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2011 new async interface.
2012 (gomp_target_fini): Adjust code to call gomp_fini_device.
2013
2014 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2015 (struct ptx_stream): Remove.
2016 (struct nvptx_thread): Remove current_stream field.
2017 (cuda_map_create): Remove.
2018 (cuda_map_destroy): Remove.
2019 (map_init): Remove.
2020 (map_fini): Remove.
2021 (map_pop): Remove.
2022 (map_push): Remove.
2023 (struct goacc_asyncqueue): Define.
2024 (struct nvptx_callback): Define.
2025 (struct ptx_free_block): Define.
2026 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2027 stream_lock, and next fields.
2028 (enum ptx_event_type): Remove.
2029 (struct ptx_event): Remove.
2030 (ptx_event_lock): Remove.
2031 (ptx_events): Remove.
2032 (init_streams_for_device): Remove.
2033 (fini_streams_for_device): Remove.
2034 (select_stream_for_async): Remove.
2035 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2036 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2037 case.
2038 (nvptx_open_device): Add free_blocks initialization, remove
2039 init_streams_for_device call.
2040 (nvptx_close_device): Remove fini_streams_for_device call, add
2041 free_blocks destruct code.
2042 (event_gc): Remove.
2043 (event_add): Remove.
2044 (nvptx_exec): Adjust parameters and code.
2045 (nvptx_free): Likewise.
2046 (nvptx_host2dev): Remove.
2047 (nvptx_dev2host): Remove.
2048 (nvptx_set_async): Remove.
2049 (nvptx_async_test): Remove.
2050 (nvptx_async_test_all): Remove.
2051 (nvptx_wait): Remove.
2052 (nvptx_wait_async): Remove.
2053 (nvptx_wait_all): Remove.
2054 (nvptx_wait_all_async): Remove.
2055 (nvptx_get_cuda_stream): Remove.
2056 (nvptx_set_cuda_stream): Remove.
2057 (GOMP_OFFLOAD_alloc): Adjust code.
2058 (GOMP_OFFLOAD_free): Likewise.
2059 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2060 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2061 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2062 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2063 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2064 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2065 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2066 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2067 (cuda_free_argmem): New function.
2068 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2069 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2070 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2071 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2072 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2073 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2074 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2075 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2076 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2077 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2078 (cuda_callback_wrapper): New function.
2079 (cuda_memcpy_sanity_check): New function.
2080 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2081 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2082 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2083 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2084
2085 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2086
2087 PR target/87835
2088 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2089
2090 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2091
2092 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2093
2094 2019-03-27 Kevin Buettner <kevinb@redhat.com>
2095
2096 * team.c (gomp_team_start): Initialize pool->threads[0].
2097
2098 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2099
2100 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2101 "-foffload=$offload_target".
2102 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2103 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2104 * testsuite/lib/libgomp.exp
2105 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2106 as (conceptually) merged into
2107 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2108 users.
2109
2110 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2111 * testsuite/libgomp-test-support.exp.in: Adjust.
2112 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2113 openacc_device_types_s.
2114 (offload_target_to_openacc_device_type): New proc.
2115 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2116 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2117 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2118 * Makefile.in: Regenerate.
2119 * configure: Likewise.
2120 * testsuite/Makefile.in: Likewise.
2121
2122 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2123 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2124 instead of OFFLOAD_TARGETS.
2125 * target.c (gomp_target_init): Adjust.
2126 * testsuite/libgomp-test-support.exp.in: Likewise.
2127 * testsuite/lib/libgomp.exp: Likewise. Populate
2128 openacc_device_types_s instead of offload_targets_s_openacc.
2129 (check_effective_target_openacc_nvidia_accel_selected)
2130 (check_effective_target_openacc_host_selected): Adjust.
2131 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2132 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2133 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2134 * Makefile.in: Regenerate.
2135 * config.h.in: Likewise.
2136 * configure: Likewise.
2137 * testsuite/Makefile.in: Likewise.
2138
2139 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2140 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2141 "offloading: supported, but hardware not accessible".
2142 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2143 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2144
2145 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2146
2147 PR c/87924
2148 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2149 goacc_wait().
2150 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2151 and related adjustment.
2152
2153 2019-01-30 Jakub Jelinek <jakub@redhat.com>
2154
2155 PR c++/88988
2156 * testsuite/libgomp.c++/pr88988.C: New test.
2157
2158 2019-01-28 Jakub Jelinek <jakub@redhat.com>
2159
2160 PR middle-end/89002
2161 * testsuite/libgomp.c/pr89002.c: New test.
2162
2163 2019-01-28 Richard Biener <rguenther@suse.de>
2164
2165 PR testsuite/89064
2166 PR tree-optimization/86865
2167 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2168
2169 2019-01-24 Tom de Vries <tdevries@suse.de>
2170
2171 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2172 once instantiated_devices drops to 0.
2173
2174 2019-01-23 Tom de Vries <tdevries@suse.de>
2175
2176 PR target/PR88946
2177 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2178 cuMemFree.
2179 (nvptx_exec): Don't call map_push if mapnum == 0.
2180 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2181
2182 2019-01-23 Tom de Vries <tdevries@suse.de>
2183
2184 PR target/88941
2185 PR target/88939
2186 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2187 (map_fini): Remove "assert (!s->map->active)".
2188 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2189
2190 2019-01-23 Tom de Vries <tdevries@suse.de>
2191
2192 PR target/87835
2193 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2194 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2195
2196 2019-01-15 Tom de Vries <tdevries@suse.de>
2197
2198 PR target/80547
2199 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2200 New test.
2201
2202 2019-01-12 Tom de Vries <tdevries@suse.de>
2203
2204 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2205 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2206 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2207 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2208
2209 2019-01-12 Tom de Vries <tdevries@suse.de>
2210
2211 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2212
2213 2019-01-12 Tom de Vries <tdevries@suse.de>
2214
2215 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2216 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2217 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2218
2219 2019-01-12 Tom de Vries <tdevries@suse.de>
2220
2221 PR target/85486
2222 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2223 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2224
2225 2019-01-12 Tom de Vries <tdevries@suse.de>
2226
2227 PR target/85381
2228 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2229 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2230
2231 2019-01-12 Tom de Vries <tdevries@suse.de>
2232
2233 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2234 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2235 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2236
2237 2019-01-12 Tom de Vries <tdevries@suse.de>
2238
2239 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2240 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2241 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2242
2243 2019-01-12 Tom de Vries <tdevries@suse.de>
2244
2245 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2246 resources diagnostic.
2247
2248 2019-01-12 Tom de Vries <tdevries@suse.de>
2249
2250 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2251 vector length to be 128.
2252 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2253 length 2097152 to be reduced to 1024 instead of 32.
2254
2255 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2256 James Norris <jnorris@codesourcery.com>
2257
2258 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2259 Library Routines", and "Environment Variables".
2260
2261 2019-01-11 Tom de Vries <tdevries@suse.de>
2262
2263 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2264 num_workers 16.
2265
2266 2019-01-11 Tom de Vries <tdevries@suse.de>
2267
2268 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2269 -foffload=-w.
2270 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2271 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2272 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2273 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2274
2275 2019-01-11 Tom de Vries <tdevries@suse.de>
2276
2277 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2278 test.
2279
2280 2019-01-10 Nathan Sidwell <nathan@acm.org>
2281 Julian Brown <julian@codesourcery.com>
2282
2283 PR lto/71959
2284 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2285 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2286
2287 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2288
2289 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2290 and paste code.
2291
2292 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2293
2294 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2295 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2296 write.
2297
2298 2019-01-09 Tom de Vries <tdevries@suse.de>
2299
2300 PR target/88756
2301 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2302 #define instead of "const int".
2303 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2304 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2305 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2306 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2307
2308 2019-01-09 Tom de Vries <tdevries@suse.de>
2309
2310 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2311 one worker.
2312
2313 2019-01-07 Tom de Vries <tdevries@suse.de>
2314
2315 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2316 GOMP_OPENACC_DIM argument.
2317
2318 2019-01-03 Tom de Vries <tdevries@suse.de>
2319
2320 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2321 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2322
2323 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2324
2325 Update copyright years.
2326
2327 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2328
2329 * libgomp.texi: Bump @copying's copyright year.
2330
2331 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2332
2333 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2334 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2335 (GOACC_declare): Redefine the "device" argument to "flags".
2336
2337 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2338 Cesar Philippidis <cesar@codesourcery.com>
2339
2340 * target.c (struct gomp_coalesce_chunk): New structure.
2341 (struct gomp_coalesce_buf): Update the chunks member to use that
2342 type. Adjust all users.
2343
2344 2018-12-19 Tom de Vries <tdevries@suse.de>
2345
2346 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2347 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2348 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2349
2350 2018-12-19 Tom de Vries <tdevries@suse.de>
2351
2352 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2353 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2354 gcc/testsuite/gcc.dg/goacc.
2355 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2356
2357 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2358 Chung-Lin Tang <cltang@codesourcery.com>
2359
2360 * oacc-mem.c (acc_present_or_create): Remove definition and change
2361 to alias of acc_create.
2362 (acc_present_or_copyin): Remove definition and change to alias of
2363 acc_copyin.
2364 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2365 of acc_present_or_create.
2366 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2367 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2368 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2369 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2370 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2371 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2372 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2373 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2374 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2375 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2376 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2377 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2378 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2379 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2380 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2381 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2382
2383 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2384
2385 PR libgomp/88495
2386 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2387 "identical parameters".
2388 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2389 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2390
2391 PR libgomp/88484
2392 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2393 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2394
2395 PR libgomp/88407
2396 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2397 (nvptx_wait_async): Unseen async-argument is a no-op.
2398 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2399 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2400 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2401 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2402 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2403 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2404 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2405 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2406 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2407
2408 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2409 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2410
2411 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2412
2413 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2414 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2415 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2416
2417 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2418
2419 PR libgomp/88370
2420 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2421 (acc_set_cuda_stream): Clarify.
2422 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2423 "async_valid_p".
2424 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2425 acc_async_sync".
2426 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2427 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2428 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2429 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2430
2431 2018-12-14 Tom de Vries <tdevries@suse.de>
2432
2433 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2434 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2435 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2436 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2437 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2438
2439 2018-12-13 Tom de Vries <tdevries@suse.de>
2440
2441 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2442 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2443 * fortran.c (omp_display_affinity_): ... here.
2444 * libgomp.h (gomp_print_string): Declare.
2445 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2446 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2447 write.
2448
2449 2018-12-13 Jakub Jelinek <jakub@redhat.com>
2450
2451 PR libgomp/88460
2452 * testsuite/libgomp.c++/for-24.C (results): Include it in
2453 omp declare target region.
2454 (main): Use map (always, tofrom: results) instead of
2455 map (tofrom: results).
2456
2457 2018-12-12 Jakub Jelinek <jakub@redhat.com>
2458
2459 PR fortran/88463
2460 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2461 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2462
2463 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2464
2465 2018-12-12 Andreas Schwab <schwab@suse.de>
2466
2467 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2468 clobbered.
2469
2470 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2471
2472 PR fortran/88411
2473 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2474
2475 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2476 Jakub Jelinek <jakub@redhat.com>
2477
2478 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2479 devicep->host2dev_func.
2480
2481 2018-12-08 Jakub Jelinek <jakub@redhat.com>
2482
2483 PR libgomp/87995
2484 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2485 tls_runtime effective target.
2486 (t): New threadprivate variable.
2487 (main): Set t in threads which execute iterations of the worksharing
2488 loop. Propagate that to the task after the loop and don't abort
2489 if the current taskgroup hasn't been cancelled.
2490
2491 2018-12-02 Jakub Jelinek <jakub@redhat.com>
2492
2493 * testsuite/libgomp.c/task-reduction-3.c: New test.
2494
2495 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2496
2497 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2498
2499 PR libgomp/88288
2500 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2501 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2502
2503 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2504
2505 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2506
2507 2018-10-19 Richard Biener <rguenther@suse.de>
2508
2509 PR tree-optimization/88182
2510 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2511
2512 2018-11-26 Jakub Jelinek <jakub@redhat.com>
2513
2514 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2515 (RUNTEST): Don't define.
2516 (RUNTESTDEFAULTFLAGS): Add.
2517 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2518 (distclean-am): Depend on distclean-DEJAGNU.
2519 (check-am): If -j% option is present in MFLAGS and if
2520 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2521 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2522 * testsuite/Makefile.in: Regenerated.
2523
2524 2018-11-26 Richard Biener <rguenther@suse.de>
2525
2526 PR tree-optimization/88182
2527 * testsuite/libgomp.c++/pr88182.C: New testcase.
2528
2529 2018-11-20 Jakub Jelinek <jakub@redhat.com>
2530
2531 PR bootstrap/88106
2532 * config/mingw32/affinity-fmt.c: New file.
2533
2534 2018-11-09 Jakub Jelinek <jakub@redhat.com>
2535
2536 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2537 (gomp_display_affinity): Use __builtin_choose_expr to handle
2538 properly handle argument having integral, or pointer or some other
2539 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2540 with uint64_t type instead of %llx and unsigned long long.
2541
2542 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2543 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2544
2545 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2546
2547 * affinity.c: Include <string.h>, <stdio.h>.
2548 (gomp_display_affinity_place): Remove cpusetp.
2549 * teams.c: Include <limits.h>.
2550
2551 2018-11-08 Jakub Jelinek <jakub@redhat.com>
2552
2553 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2554 in_reduction clause for s[0].
2555
2556 * affinity.c (gomp_display_affinity_place): New function.
2557 * affinity-fmt.c: New file.
2558 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2559 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2560 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2561 Move these functions to ...
2562 * config/nvptx/teams.c: ... here. New file.
2563 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2564 New functions.
2565 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2566 functions.
2567 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2568 and _aligned_malloc.
2569 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2570 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2571 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2572 gomp_affinity_format_len): New variables.
2573 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2574 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2575 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2576 modifiers. Display (non-default) chunk sizes. Print
2577 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2578 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2579 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2580 * fortran.c: Include stdio.h and string.h.
2581 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2582 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2583 (omp_set_affinity_format_, omp_get_affinity_format_,
2584 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2585 omp_pause_resource_all_): New functions.
2586 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2587 switch.
2588 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2589 functions to ...
2590 * teams.c: ... here. New file.
2591 * libgomp_g.h: Include gstdint.h.
2592 (GOMP_loop_nonmonotonic_runtime_start,
2593 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2594 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2595 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2596 GOMP_parallel_loop_nonmonotonic_runtime,
2597 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2598 GOMP_loop_ull_nonmonotonic_runtime_start,
2599 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2600 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2601 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2602 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2603 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2604 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2605 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2606 GOMP_teams_reg): Declare.
2607 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2608 gomp_aligned_alloc uses fallback implementation.
2609 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2610 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2611 (struct gomp_doacross_work_share): Add extra field.
2612 (struct gomp_work_share): Add task_reductions field.
2613 (struct gomp_taskgroup): Add workshare and reductions fields.
2614 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2615 (gomp_thread_handle): New typedef.
2616 (gomp_display_affinity_place, gomp_set_affinity_format,
2617 gomp_display_string, gomp_display_affinity,
2618 gomp_display_affinity_thread): Declare.
2619 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2620 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2621 gomp_workshare_task_reduction_register): Declare.
2622 (gomp_team_start): Add taskgroup argument.
2623 (gomp_pause_host): Declare.
2624 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2625 to size_t.
2626 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2627 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2628 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2629 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2630 GOMP_loop_ull_doacross_start,
2631 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2632 GOMP_loop_maybe_nonmonotonic_runtime_next,
2633 GOMP_loop_maybe_nonmonotonic_runtime_start,
2634 GOMP_loop_nonmonotonic_runtime_next,
2635 GOMP_loop_nonmonotonic_runtime_start,
2636 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2637 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2638 GOMP_loop_ull_nonmonotonic_runtime_next,
2639 GOMP_loop_ull_nonmonotonic_runtime_start,
2640 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2641 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2642 GOMP_taskgroup_reduction_register,
2643 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2644 GOMP_teams_reg and GOMP_taskwait_depend.
2645 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2646 omp_{capture,display}_affinity{,_}, and
2647 omp_[gs]et_affinity_format{,_}.
2648 * loop.c: Include string.h.
2649 (GOMP_loop_runtime_next): Add ialias.
2650 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2651 (gomp_loop_static_start, gomp_loop_dynamic_start,
2652 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2653 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2654 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2655 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2656 or gomp_doacross_init callers.
2657 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2658 GOMP_loop_doacross_start): New functions.
2659 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2660 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2661 Mask off GFS_MONOTONIC bit.
2662 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2663 GOMP_loop_maybe_nonmonotonic_runtime_start,
2664 GOMP_loop_nonmonotonic_runtime_next,
2665 GOMP_loop_nonmonotonic_runtime_start,
2666 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2667 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2668 functions.
2669 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2670 gomp_team_start.
2671 * loop_ull.c: Include string.h.
2672 (GOMP_loop_ull_runtime_next): Add ialias.
2673 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2674 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2675 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2676 gomp_loop_ull_ordered_dynamic_start,
2677 gomp_loop_ull_ordered_guided_start,
2678 gomp_loop_ull_doacross_static_start,
2679 gomp_loop_ull_doacross_dynamic_start,
2680 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2681 and gomp_doacross_ull_init callers.
2682 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2683 GOMP_loop_ull_doacross_start): New functions.
2684 (GOMP_loop_ull_runtime_start,
2685 GOMP_loop_ull_ordered_runtime_start,
2686 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2687 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2688 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2689 GOMP_loop_ull_nonmonotonic_runtime_next,
2690 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2691 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2692 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2693 (omp_pause_resource_t, omp_depend_t): New typedefs.
2694 (enum omp_lock_hint_t): Renamed to ...
2695 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2696 enumerators using numbers and omp_lock_hint_* as their aliases.
2697 (omp_lock_hint_t): New typedef. Rename to ...
2698 (omp_sync_hint_t): ... this.
2699 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2700 omp_sync_hint_t instead of omp_lock_hint_t.
2701 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2702 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2703 Declare.
2704 (omp_target_is_present, omp_target_disassociate_ptr):
2705 Change first argument from void * to const void *.
2706 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2707 from void * to const void *.
2708 (omp_target_associate_ptr): Change first and second arguments from
2709 void * to const void *.
2710 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2711 omp_pause_hard): New parameters.
2712 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2713 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2714 New interfaces.
2715 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2716 omp_pause_hard): New parameters.
2717 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2718 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2719 New externals.
2720 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2721 EXTRA argument. If not needed to prepare array, if extra is 0,
2722 clear ws->doacross, otherwise allocate just doacross structure and
2723 extra payload. If array is needed, allocate also extra payload.
2724 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2725 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2726 doacross == NULL.
2727 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2728 gomp_team_start.
2729 (GOMP_parallel): Likewise. Formatting fix.
2730 (GOMP_parallel_reductions): New function.
2731 (GOMP_cancellation_point): If taskgroup has workshare
2732 flag set, check cancelled of prev taskgroup if any.
2733 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2734 on prev taskgroup if any.
2735 * sections.c: Include string.h.
2736 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2737 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2738 (GOMP_sections2_start): New function.
2739 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2740 Pass NULL as taskgroup to gomp_team_start.
2741 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2742 gomp_work_share_start callers.
2743 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2744 If taskgroup has workshare flag set, check cancelled on prev
2745 taskgroup if any. Guard all cancellation tests with
2746 gomp_cancel_var test.
2747 (omp_target_is_present, omp_target_disassociate_ptr):
2748 Change ptr argument from void * to const void *.
2749 (omp_target_memcpy): Change src argument from void * to const void *.
2750 (omp_target_memcpy_rect): Likewise.
2751 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2752 instead of char * where needed.
2753 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2754 from void * to const void *.
2755 (omp_pause_resource, omp_pause_resource_all): New functions.
2756 * task.c (gomp_task_handle_depend): Handle new depend array format
2757 in addition to the old. Handle mutexinoutset kinds the same as
2758 inout for now, handle unspecified kinds.
2759 (gomp_create_target_task): If taskgroup has workshare flag set, check
2760 cancelled on prev taskgroup if any. Guard all cancellation tests with
2761 gomp_cancel_var test. Handle new depend array format count in
2762 addition to the old.
2763 (GOMP_task): Likewise. Adjust function comment.
2764 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2765 cancelled on prev taskgroup if any. Guard all cancellation tests with
2766 gomp_cancel_var test.
2767 (GOMP_taskwait_depend): New function.
2768 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2769 format in addition to the old. Handle mutexinoutset kinds the same as
2770 inout for now, handle unspecified kinds. Fix a function comment typo.
2771 (gomp_taskgroup_init): New function.
2772 (GOMP_taskgroup_start): Use it.
2773 (gomp_reduction_register, gomp_create_artificial_team,
2774 GOMP_taskgroup_reduction_register,
2775 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2776 gomp_parallel_reduction_register,
2777 gomp_workshare_task_reduction_register,
2778 gomp_workshare_taskgroup_start,
2779 GOMP_workshare_task_reduction_unregister): New functions.
2780 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2781 check cancelled on prev taskgroup if any. Guard all cancellation
2782 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2783 by calling GOMP_taskgroup_reduction_register.
2784 * team.c (gomp_thread_attr): Remove comment.
2785 (struct gomp_thread_start_data): Add handle field.
2786 (gomp_thread_start): Call pthread_detach.
2787 (gomp_new_team): Adjust gomp_init_work_share caller.
2788 (gomp_free_pool_helper): Call pthread_detach.
2789 (gomp_team_start): Add taskgroup argument, initialize implicit
2790 tasks' taskgroup field to that. Don't call
2791 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2792 (gomp_team_end): Determine nesting by thr->ts.level != 0
2793 rather than thr->ts.team != NULL.
2794 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2795 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2796 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2797 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2798 if more than 1 allocate also extra payload at the end of array. Never
2799 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2800 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2801 return true instead of ws.
2802 * Makefile.in: Regenerated.
2803 * configure: Regenerated.
2804 * config.h.in: Regenerated.
2805 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2806 in some cases.
2807 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2808 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2809 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2810 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2811 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2812 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2813 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2814 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2815 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2816 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2817 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2818 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2819 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2820 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2821 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2822 define a different N(test), don't define N(f0) to N(f14), but instead
2823 define N(f20) to N(f34) using != comparisons.
2824 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2825 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2826 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2827 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2828 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2829 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2830 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2831 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2832 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2833 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2834 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2835 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2836 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2837 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2838 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2839 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2840 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2841 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2842 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2843 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2844 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2845 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2846 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2847 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2848 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2849 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2850 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2851 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2852 * testsuite/libgomp.c++/depend-1.C: New test.
2853 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2854 * testsuite/libgomp.c++/depobj-1.C: New test.
2855 * testsuite/libgomp.c++/for-16.C: New test.
2856 * testsuite/libgomp.c++/for-21.C: New test.
2857 * testsuite/libgomp.c++/for-22.C: New test.
2858 * testsuite/libgomp.c++/for-23.C: New test.
2859 * testsuite/libgomp.c++/for-24.C: New test.
2860 * testsuite/libgomp.c++/for-25.C: New test.
2861 * testsuite/libgomp.c++/for-26.C: New test.
2862 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2863 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2864 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2865 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2866 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2867 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2868 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2869 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2870 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2871 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2872 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2873 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2874 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2875 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2876 * testsuite/libgomp.c/task-reduction-1.c: New test.
2877 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2878 * testsuite/libgomp.c/task-reduction-2.c: New test.
2879 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2880 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2881 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2882 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2883 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2884 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2885 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2886 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2887 * testsuite/libgomp.c/teams-1.c: New test.
2888 * testsuite/libgomp.c/teams-2.c: New test.
2889 * testsuite/libgomp.c/thread-limit-4.c: New test.
2890 * testsuite/libgomp.c/thread-limit-5.c: New test.
2891 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2892
2893 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2894
2895 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2896 acc_memcpy_to/from_device functions, now with async parameter.
2897 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2898 (acc_memcpy_from_device): Likewise.
2899 (acc_memcpy_to_device_async): New API function.
2900 (acc_memcpy_from_device_async): Likewise.
2901 (present_create_copy): Add async parameter and async setting/unsetting.
2902 (acc_create): Adjust present_create_copy call.
2903 (acc_copyin): Likewise.
2904 (acc_present_or_create): Likewise.
2905 (acc_present_or_copyin): Likewise.
2906 (acc_create_async): New API function.
2907 (acc_copyin_async): New API function.
2908 (delete_copyout): Add async parameter and async setting/unsetting.
2909 (acc_delete): Adjust delete_copyout call.
2910 (acc_copyout): Likewise.
2911 (acc_delete_async): New API function.
2912 (acc_copyout_async): Likewise.
2913 (update_dev_host): Add async parameter and async setting/unsetting.
2914 (acc_update_device): Adjust update_dev_host call.
2915 (acc_update_self): Likewise.
2916 (acc_update_device_async): New API function.
2917 (acc_update_self_async): Likewise.
2918 * openacc.h (acc_copyin_async): Declare new API function.
2919 (acc_create_async): Likewise.
2920 (acc_copyout_async): Likewise.
2921 (acc_delete_async): Likewise.
2922 (acc_update_device_async): Likewise.
2923 (acc_update_self_async): Likewise.
2924 (acc_memcpy_to_device_async): Likewise.
2925 (acc_memcpy_from_device_async): Likewise.
2926 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2927 (acc_copyin_async_64_h): New subroutine.
2928 (acc_copyin_async_array_h): New subroutine.
2929 (acc_create_async_32_h): New subroutine.
2930 (acc_create_async_64_h): New subroutine.
2931 (acc_create_async_array_h): New subroutine.
2932 (acc_copyout_async_32_h): New subroutine.
2933 (acc_copyout_async_64_h): New subroutine.
2934 (acc_copyout_async_array_h): New subroutine.
2935 (acc_delete_async_32_h): New subroutine.
2936 (acc_delete_async_64_h): New subroutine.
2937 (acc_delete_async_array_h): New subroutine.
2938 (acc_update_device_async_32_h): New subroutine.
2939 (acc_update_device_async_64_h): New subroutine.
2940 (acc_update_device_async_array_h): New subroutine.
2941 (acc_update_self_async_32_h): New subroutine.
2942 (acc_update_self_async_64_h): New subroutine.
2943 (acc_update_self_async_array_h): New subroutine.
2944 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2945 (acc_copyin_async_64_h): New subroutine.
2946 (acc_copyin_async_array_h): New subroutine.
2947 (acc_create_async_32_h): New subroutine.
2948 (acc_create_async_64_h): New subroutine.
2949 (acc_create_async_array_h): New subroutine.
2950 (acc_copyout_async_32_h): New subroutine.
2951 (acc_copyout_async_64_h): New subroutine.
2952 (acc_copyout_async_array_h): New subroutine.
2953 (acc_delete_async_32_h): New subroutine.
2954 (acc_delete_async_64_h): New subroutine.
2955 (acc_delete_async_array_h): New subroutine.
2956 (acc_update_device_async_32_h): New subroutine.
2957 (acc_update_device_async_64_h): New subroutine.
2958 (acc_update_device_async_array_h): New subroutine.
2959 (acc_update_self_async_32_h): New subroutine.
2960 (acc_update_self_async_64_h): New subroutine.
2961 (acc_update_self_async_array_h): New subroutine.
2962 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2963 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2964 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2965 acc_memcpy_to_device_async*, acc_update_device_async*, and
2966 acc_update_self_async* entries.
2967 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2968 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2969 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2970
2971 2018-10-31 Joseph Myers <joseph@codesourcery.com>
2972
2973 PR bootstrap/82856
2974 * Makefile.am: Include multilib.am
2975 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2976 (CLEANFILES): Remove libgomp.info.
2977 * configure.ac: Remove AC_PREREQ.
2978 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2979 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2980 Regenerate.
2981
2982 2018-10-29 Joseph Myers <joseph@codesourcery.com>
2983 Julian Brown <julian@codesourcery.com>
2984
2985 * testsuite/libgomp.oacc-c++/this.C: New.
2986
2987 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2988
2989 * plugin/plugin-nvptx.c (struct cuda_map): New.
2990 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2991 h_tail with (cuda_map *) map.
2992 (cuda_map_create): New function.
2993 (cuda_map_destroy): New function.
2994 (map_init): Update to use a linked list of cuda_map objects.
2995 (map_fini): Likewise.
2996 (map_pop): Likewise.
2997 (map_push): Likewise. Return CUdeviceptr instead of void.
2998 (init_streams_for_device): Remove stales references to ptx_stream
2999 members.
3000 (select_stream_for_async): Likewise.
3001 (nvptx_exec): Update call to map_init.
3002
3003 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
3004 Julian Brown <julian@codesourcery.com>
3005
3006 PR middle-end/86336
3007 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3008
3009 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
3010 Thomas Koenig <tkoenig@gcc.gnu.org>
3011
3012 PR fortran/25829
3013 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3014 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3015 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3016 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3017 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3018 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3019 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3020
3021 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3022 Tom de Vries <tdevries@suse.de>
3023
3024 PR target/85590
3025 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3026 (cuOccupancyMaxPotentialBlockSize): Declare.
3027 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3028 CUDA_ONE_CALL_MAYBE_NULL.
3029 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3030 CUoccupancyB2DSize and declare
3031 cuOccupancyMaxPotentialBlockSize.
3032 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3033 default num_gangs and num_workers when the driver supports it.
3034
3035 2018-08-08 Tom de Vries <tdevries@suse.de>
3036
3037 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3038 CUDA_ONE_CALL_MAYBE_NULL.
3039 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3040 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3041 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3042 are not found.
3043
3044 2018-08-08 Tom de Vries <tdevries@suse.de>
3045
3046 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3047 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3048 present.
3049
3050 2018-08-08 Tom de Vries <tdevries@suse.de>
3051
3052 * plugin/plugin-nvptx.c
3053 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3054 (nvptx_open_device): Use
3055 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3056
3057 2018-08-08 Tom de Vries <tdevries@suse.de>
3058
3059 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3060 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3061
3062 2018-08-07 Tom de Vries <tdevries@suse.de>
3063
3064 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3065 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3066 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3067 corresponding call in CUDA_ONE_CALL. Add def/undef of
3068 CUDA_ONE_CALL_MAYBE_NULL.
3069 (CUDA_CALL_EXISTS): Define.
3070
3071 2018-08-07 Tom de Vries <tdevries@suse.de>
3072
3073 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3074 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3075 corresponding undefs right after.
3076
3077 2018-08-04 Tom de Vries <tdevries@suse.de>
3078
3079 * plugin/configfrag.ac: For --without-cuda-driver, set
3080 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3081 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3082 * configure: Regenerate.
3083
3084 2018-08-02 Tom de Vries <tdevries@suse.de>
3085
3086 PR target/86660
3087 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3088 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3089 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3090 Same.
3091 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3092 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3093 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3094
3095 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3096 Thomas Schwinge <thomas@codesourcery.com>
3097
3098 * config/nvptx/oacc-parallel.c: Truncate.
3099
3100 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3101 James Norris <jnorris@codesourcery.com>
3102
3103 * plugin/plugin-nvptx.c (struct map): Removed.
3104 (map_init, map_pop): Remove use of struct map.
3105 (map_push): Likewise and change argument list.
3106 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3107
3108 2018-08-01 Tom de Vries <tdevries@suse.de>
3109
3110 * plugin/cuda-lib.def: New file. Factor out of ...
3111 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3112 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3113 using CUDA_CALLS.
3114
3115 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3116
3117 Revert 'AsyncI/O patch committed'.
3118 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3119 Thomas Koenig <tkoenig@gcc.gnu.org>
3120
3121 PR fortran/25829
3122 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3123 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3124 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3125 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3126 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3127 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3128 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3129
3130 2018-07-30 Tom de Vries <tdevries@suse.de>
3131
3132 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3133 (nvptx_exec): Ensure worker and vector default dims don't exceed
3134 targ_fn->max_threads_per_block.
3135
3136 2018-07-30 Tom de Vries <tdevries@suse.de>
3137
3138 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3139 (nvptx_open_device): Init default_dims for device.
3140 (nvptx_exec): Use default_dims from device.
3141
3142 2018-07-26 Jakub Jelinek <jakub@redhat.com>
3143
3144 PR testsuite/86660
3145 * testsuite/libgomp.c++/for-15.C (results): Include it in
3146 omp declare target region.
3147 (main): Use map (always, tofrom: results) instead of
3148 map (tofrom: results).
3149
3150 PR middle-end/86660
3151 * testsuite/libgomp.c/pr86660.c: New test.
3152
3153 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3154 Tom de Vries <tdevries@suse.de>
3155
3156 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3157 sufficient resources to launch a kernel, and give a hint on how to fix
3158 it.
3159
3160 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3161 Tom de Vries <tdevries@suse.de>
3162
3163 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3164 max_threads_per_block and max_threads_per_multiprocessor fields.
3165 (nvptx_open_device): Initialize new fields.
3166 (nvptx_exec): Use num_sms, and new fields.
3167
3168 2018-07-26 Tom de Vries <tdevries@suse.de>
3169
3170 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3171 to correct locations. Remove xfail.
3172
3173 2018-07-26 Tom de Vries <tdevries@suse.de>
3174
3175 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3176 acc_wait. Move acc_async_test calls to correct locations. Remove
3177 xfail.
3178
3179 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3180 Thomas Koenig <tkoenig@gcc.gnu.org>
3181
3182 PR fortran/25829
3183 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3184 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3185 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3186 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3187 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3188 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3189 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3190
3191 2018-07-17 Jakub Jelinek <jakub@redhat.com>
3192
3193 PR middle-end/86542
3194 * testsuite/libgomp.c++/pr86542.C: New test.
3195
3196 PR middle-end/86539
3197 * testsuite/libgomp.c++/pr86539.C: New test.
3198
3199 2018-07-11 Jakub Jelinek <jakub@redhat.com>
3200
3201 PR c++/86443
3202 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3203 (results): Make sure the variable is not inside declare target region.
3204 (qux): Remove unused function.
3205
3206 2018-07-10 Jakub Jelinek <jakub@redhat.com>
3207
3208 PR c++/86443
3209 * testsuite/libgomp.c++/for-15.C: New test.
3210
3211 2018-06-26 Jakub Jelinek <jakub@redhat.com>
3212
3213 PR c++/86291
3214 * testsuite/libgomp.c++/pr86291.C: New test.
3215
3216 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3217
3218 * libgomp.texi (Top): Move www.openmp.org to https.
3219 (Enabling OpenMP): Ditto.
3220 (omp_get_active_level): Ditto.
3221 (omp_get_ancestor_thread_num): Ditto.
3222 (omp_get_cancellation): Ditto.
3223 (omp_get_default_device): Ditto.
3224 (omp_get_dynamic): Ditto.
3225 (omp_get_level): Ditto.
3226 (omp_get_max_active_levels): Ditto.
3227 (omp_get_max_task_priority): Ditto.
3228 (omp_get_max_threads): Ditto.
3229 (omp_get_nested): Ditto.
3230 (omp_get_num_devices): Ditto.
3231 (omp_get_num_procs): Ditto.
3232 (omp_get_num_teams): Ditto.
3233 (omp_get_num_threads): Ditto.
3234 (omp_get_proc_bind): Ditto.
3235 (omp_get_schedule): Ditto.
3236 (omp_get_team_num): Ditto.
3237 (omp_get_team_size): Ditto.
3238 (omp_get_thread_limit): Ditto.
3239 (omp_get_thread_num): Ditto.
3240 (omp_in_parallel): Ditto.
3241 (omp_in_final): Ditto.
3242 (omp_is_initial_device): Ditto.
3243 (omp_set_default_device): Ditto.
3244 (omp_set_dynamic): Ditto.
3245 (omp_set_max_active_levels): Ditto.
3246 (omp_set_nested): Ditto.
3247 (omp_set_num_threads): Ditto.
3248 (omp_set_schedule): Ditto.
3249 (omp_init_lock): Ditto.
3250 (omp_set_lock): Ditto.
3251 (omp_test_lock): Ditto.
3252 (omp_unset_lock): Ditto.
3253 (omp_destroy_lock): Ditto.
3254 (omp_init_nest_lock): Ditto.
3255 (omp_set_nest_lock): Ditto.
3256 (omp_test_nest_lock): Ditto.
3257 (omp_unset_nest_lock): Ditto.
3258 (omp_destroy_nest_lock): Ditto.
3259 (omp_get_wtick): Ditto.
3260 (omp_get_wtime): Ditto.
3261 (OMP_CANCELLATION): Ditto.
3262 (OMP_DISPLAY_ENV): Ditto.
3263 (OMP_DEFAULT_DEVICE): Ditto.
3264 (OMP_DYNAMIC): Ditto.
3265 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3266 (OMP_MAX_TASK_PRIORITY): Ditto.
3267 (OMP_NESTED): Ditto.
3268 (OMP_NUM_THREADS): Ditto.
3269 (OMP_PROC_BIND): Ditto.
3270 (OMP_PLACES): Ditto.
3271 (OMP_STACKSIZE): Ditto.
3272 (OMP_SCHEDULE): Ditto.
3273 (OMP_THREAD_LIMIT): Ditto.
3274 (OMP_WAIT_POLICY): Ditto.
3275
3276 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3277 James Norris <jnorris@codesourcery.com>
3278 Julian Brown <julian@codesourcery.com>
3279 Thomas Schwinge <thomas@codesourcery.com>
3280 Tom de Vries <tom@codesourcery.com>
3281
3282 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3283 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3284 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3285 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3286 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3287 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3288 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3289 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3290 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3292 Likewise.
3293 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3294 Likewise.
3295 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3296 Likewise.
3297 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3298 Likewise.
3299 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3300 Likewise.
3301 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3302 Likewise.
3303 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3304 Likewise.
3305 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3306 Likewise.
3307 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3308 Likewise.
3309 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3310 Likewise.
3311 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3312 Likewise.
3313 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3314 Likewise.
3315 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3316 Likewise.
3317 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3318 Likewise.
3319 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3320 Likewise.
3321 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3322 Likewise.
3323 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3324 Likewise.
3325 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3326 Likewise.
3327 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3328 Likewise.
3329 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3330 Likewise.
3331 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3332 Likewise.
3333 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3334 Likewise.
3335 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3336 Likewise.
3337 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3338 Likewise.
3339 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3340 Likewise.
3341 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3342 Likewise.
3343 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3344 Likewise.
3345 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3346 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3347 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3348 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3349 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3350 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3351 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3352 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3353 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3354 Likewise.
3355 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3356 Likewise.
3357 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3358 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3359 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3360 Likewise.
3361 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3362 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3363 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3364 Likewise.
3365 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3366 Likewise.
3367 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3368 Likewise.
3369 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3370 Likewise.
3371 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3372 Likewise.
3373 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3374 Likewise.
3375 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3376 Likewise.
3377 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3378 Likewise.
3379 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3380 Likewise.
3381 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3382 Likewise.
3383 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3384 Likewise.
3385 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3386 Likewise.
3387 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3388 Likewise.
3389 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3390 Likewise.
3391 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3392 Likewise.
3393 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3394 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3395 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3396 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3397 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3398 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3399 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3400
3401 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3402 Thomas Schwinge <thomas@codesourcery.com>
3403 Cesar Philippidis <cesar@codesourcery.com>
3404
3405 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3406 (gomp_acc_remove_pointer): Update declaration.
3407 (gomp_acc_declare_allocate): Declare.
3408 (gomp_remove_var): Declare.
3409 * libgomp.map (OACC_2.5): Define.
3410 * oacc-mem.c (acc_map_data): Update refcount.
3411 (acc_unmap_data): Likewise.
3412 (present_create_copy): Likewise.
3413 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3414 (acc_copyin): Likewise.
3415 (FLAG_FINALIZE): Define.
3416 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3417 (acc_delete_finalize): New function.
3418 (acc_delete_finalize_async): New function.
3419 (acc_copyout_finalize): New function.
3420 (acc_copyout_finalize_async): New function.
3421 (gomp_acc_insert_pointer): Update refcounts.
3422 (gomp_acc_remove_pointer): Return if data is not present on the
3423 accelerator.
3424 * oacc-parallel.c (find_pset): Rename to find_pointer.
3425 (find_pointer): Add support for GOMP_MAP_POINTER.
3426 (handle_ftn_pointers): New function.
3427 (GOACC_parallel_keyed): Update refcounts of variables.
3428 (GOACC_enter_exit_data): Add support for finalized data mappings.
3429 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3430 of fortran arrays.
3431 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3432 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3433 for GOMP_MAP_FORCE_FROM.
3434 * openacc.f90 (module openacc_internal): Add
3435 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3436 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3437 acc_copyout_finalize and acc_delete_finalize.
3438 (acc_copyout_finalize_32_h): New subroutine.
3439 (acc_copyout_finalize_64_h): New subroutine.
3440 (acc_copyout_finalize_array_h): New subroutine.
3441 (acc_delete_finalize_32_h): New subroutine.
3442 (acc_delete_finalize_64_h): New subroutine.
3443 (acc_delete_finalize_array_h): New subroutine.
3444 * openacc.h (acc_copyout_finalize): Declare.
3445 (acc_copyout_finalize_async): Declare.
3446 (acc_delete_finalize): Declare.
3447 (acc_delete_finalize_async): Declare.
3448 * openacc_lib.h (acc_copyout_finalize): New interface.
3449 (acc_delete_finalize): New interface.
3450 * target.c (gomp_map_vars): Update dynamic_refcount.
3451 (gomp_remove_var): New function.
3452 (gomp_unmap_vars): Use it.
3453 (gomp_unload_image_from_device): Likewise.
3454 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3455 case to utilize OpenACC 2.5 data clause semantics.
3456 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3457 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3458 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3459 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3460 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3461 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3462 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3463 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3464 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3465 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3466 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3467 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3468 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3469 utilize OpenACC 2.5 data clause semantics.
3470 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3471 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3472 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3473 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3474 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3475 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3476 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3477 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3478 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3479
3480 2018-05-21 Janus Weil <janus@gcc.gnu.org>
3481
3482 PR fortran/85841
3483 PR testsuite/85865
3484 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3485 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3486 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3487 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3488 * testsuite/libgomp.fortran/task2.f90: Ditto.
3489 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3490 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3491 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3492 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3493 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3494 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3495 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3496 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3497 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3498
3499 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3500
3501 PR c++/85782
3502 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3503
3504 2018-05-09 Tom de Vries <tom@codesourcery.com>
3505
3506 PR libgomp/82901
3507 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3508 to GOACC_enter_exit_data.
3509
3510 2018-05-09 Tom de Vries <tom@codesourcery.com>
3511
3512 PR libgomp/83792
3513 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3514 (async_synchronous_p): New function.
3515 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3516 async_valid_p.
3517 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3518 async_valid_stream_id_p.
3519 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3520 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3521
3522 2018-05-07 Tom de Vries <tom@codesourcery.com>
3523
3524 PR testsuite/85677
3525 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3526 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3527
3528 2018-05-03 Tom de Vries <tom@codesourcery.com>
3529
3530 PR testsuite/85106
3531 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3532 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3533 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3534 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3535
3536 2018-05-02 Tom de Vries <tom@codesourcery.com>
3537
3538 PR libgomp/85411
3539 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3540 GOMP_OPENACC_DIM ...
3541 * env.c (parse_gomp_openacc_dim): ... here. New function.
3542 (initialize_env): Call parse_gomp_openacc_dim.
3543 (goacc_default_dims): Define.
3544 * libgomp.h (goacc_default_dims): Declare.
3545 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3546 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3547 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3548 GOMP_PLUGIN_acc_default_dim.
3549 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3550 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3551
3552 2018-05-02 Tom de Vries <tom@codesourcery.com>
3553
3554 PR testsuite/83791
3555 * testsuite/libgomp.c++/udr-9.C: Update.
3556 * testsuite/libgomp.c++/atomic-16.C: Remove.
3557 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3558 * testsuite/libgomp.c++/loop-13.C: Remove.
3559 * testsuite/libgomp.c++/loop-14.C: Remove.
3560 * testsuite/libgomp.c++/loop-15.C: Remove.
3561 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3562 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3563 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3564 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3565 * testsuite/libgomp.c++/ordered-1.C: Remove.
3566 * testsuite/libgomp.c++/pr45784.C: Remove.
3567 * testsuite/libgomp.c++/pr64824.C: Remove.
3568 * testsuite/libgomp.c++/pr64868.C: Remove.
3569 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3570 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3571 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3572 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3573 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3574 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3575 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3576 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3577 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3578 * testsuite/libgomp.c++/pr69389.C: Remove.
3579 * testsuite/libgomp.c++/simd10.C: Remove.
3580 * testsuite/libgomp.c++/simd11.C: Remove.
3581 * testsuite/libgomp.c++/simd12.C: Remove.
3582 * testsuite/libgomp.c++/simd13.C: Remove.
3583 * testsuite/libgomp.c++/target-1.C: Remove.
3584 * testsuite/libgomp.c++/target-3.C: Remove.
3585 * testsuite/libgomp.c++/target-4.C: Remove.
3586 * testsuite/libgomp.c++/target-5.C: Remove.
3587 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3588 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3589 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3590 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3591 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3592 * testsuite/libgomp.c++/udr-9.C: Remove.
3593 * testsuite/libgomp.c++/for-10.C: Remove.
3594 * testsuite/libgomp.c++/for-11.C: Remove.
3595 * testsuite/libgomp.c++/for-12.C: Remove.
3596 * testsuite/libgomp.c++/for-13.C: Remove.
3597 * testsuite/libgomp.c++/for-14.C: Remove.
3598 * testsuite/libgomp.c++/for-9.C: Remove.
3599 * testsuite/libgomp.c/atomic-18.c: Move ...
3600 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3601 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3602 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3603 * testsuite/libgomp.c/loop-13.c: Move ...
3604 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3605 * testsuite/libgomp.c/loop-14.c: Move ...
3606 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3607 * testsuite/libgomp.c/loop-15.c: Remove.
3608 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3609 * testsuite/libgomp.c/monotonic-1.c: Move ...
3610 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3611 * testsuite/libgomp.c/monotonic-2.c: Move ...
3612 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3613 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3614 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3615 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3616 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3617 * testsuite/libgomp.c/ordered-4.c: Move ...
3618 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3619 * testsuite/libgomp.c/pr45784.c: Move ...
3620 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3621 * testsuite/libgomp.c/pr64824.c: Move ...
3622 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3623 * testsuite/libgomp.c/pr64868.c: Move ...
3624 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3625 * testsuite/libgomp.c/pr66199-1.c: Move ...
3626 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3627 * testsuite/libgomp.c/pr66199-2.c: Move ...
3628 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3629 * testsuite/libgomp.c/pr66199-3.c: Move ...
3630 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3631 * testsuite/libgomp.c/pr66199-4.c: Move ...
3632 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3633 * testsuite/libgomp.c/pr66199-5.c: Move ...
3634 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3635 * testsuite/libgomp.c/pr66199-6.c: Move ...
3636 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3637 * testsuite/libgomp.c/pr66199-7.c: Move ...
3638 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3639 * testsuite/libgomp.c/pr66199-8.c: Move ...
3640 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3641 * testsuite/libgomp.c/pr66199-9.c: Move ...
3642 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3643 * testsuite/libgomp.c/pr69389.c: Move ...
3644 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3645 * testsuite/libgomp.c/simd-14.c: Move ...
3646 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3647 * testsuite/libgomp.c/simd-15.c: Move ...
3648 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3649 * testsuite/libgomp.c/simd-16.c: Move ...
3650 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3651 * testsuite/libgomp.c/simd-17.c: Move ...
3652 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3653 * testsuite/libgomp.c/target-1.c: Move ...
3654 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3655 * testsuite/libgomp.c/target-10.c: Move ...
3656 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3657 * testsuite/libgomp.c/target-13.c: Move ...
3658 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3659 * testsuite/libgomp.c/target-2.c: Move ...
3660 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3661 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3662 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3663 * testsuite/libgomp.c/taskloop-1.c: Move ...
3664 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3665 * testsuite/libgomp.c/taskloop-2.c: Move ...
3666 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3667 * testsuite/libgomp.c/taskloop-3.c: Move ...
3668 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3669 * testsuite/libgomp.c/taskloop-4.c: Move ...
3670 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3671 * testsuite/libgomp.c/udr-1.c: Move ...
3672 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3673 * testsuite/libgomp.c/for-1.c: Move ...
3674 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3675 * testsuite/libgomp.c/for-1.h: Move ...
3676 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3677 * testsuite/libgomp.c/for-2.c: Move ...
3678 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3679 * testsuite/libgomp.c/for-2.h: Move ...
3680 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3681 * testsuite/libgomp.c/for-3.c: Move ...
3682 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3683 * testsuite/libgomp.c/for-4.c: Move ...
3684 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3685 * testsuite/libgomp.c/for-5.c: Move ...
3686 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3687 * testsuite/libgomp.c/for-6.c: Move ...
3688 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3689
3690 2018-05-02 Tom de Vries <tom@codesourcery.com>
3691
3692 PR libgomp/82428
3693 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3694 __builtin_goacc_parlevel_{id,size}.
3695 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3696 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3697 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3698 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3699 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3700 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3701 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3702 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3703 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3704 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3705 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3706 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3707 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3708 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3709 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3710 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3711 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3712 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3713 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3714 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3715 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3716 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3717 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3718
3719 2018-05-02 Tom de Vries <tom@codesourcery.com>
3720
3721 PR testsuite/85106
3722 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3723
3724 2018-05-02 Tom de Vries <tom@codesourcery.com>
3725
3726 PR testsuite/85106
3727 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3728
3729 2018-04-29 Julian Brown <julian@codesourcery.com>
3730 Tom de Vries <tom@codesourcery.com>
3731
3732 PR testsuite/85527
3733 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3734 arbitrary order for iterations of atomic subtract check.
3735
3736 2018-04-28 Tom de Vries <tom@codesourcery.com>
3737
3738 PR testsuite/85527
3739 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3740 atomic capture results obtained in parallel loop to an array, instead of
3741 to a scalar.
3742
3743 2018-04-26 Tom de Vries <tom@codesourcery.com>
3744
3745 PR libgomp/84020
3746 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3747 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3748 (process_GOMP_NVPTX_JIT): New function.
3749 (link_ptx): Use process_GOMP_NVPTX_JIT.
3750
3751 2018-04-26 Richard Biener <rguenther@suse.de>
3752 Tom de Vries <tom@codesourcery.com>
3753
3754 PR lto/85422
3755 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3756
3757 2018-04-26 Tom de Vries <tom@codesourcery.com>
3758
3759 PR target/85519
3760 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3761 recursion depth from 25 to 23.
3762 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3763
3764 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3765
3766 * configure: Regenerated.
3767
3768 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3769 Tom de Vries <tom@codesourcery.com>
3770
3771 PR target/85445
3772 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3773
3774 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3775
3776 PR libgomp/85463
3777 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3778 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3779 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3780 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3781 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3782 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3783
3784 PR libfortran/85166
3785 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3786 abort".
3787 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3788
3789 2018-04-19 Jakub Jelinek <jakub@redhat.com>
3790
3791 * configure: Regenerated.
3792
3793 2018-04-18 David Malcolm <dmalcolm@redhat.com>
3794
3795 PR jit/85384
3796 * configure: Regenerate.
3797
3798 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3799 Tom de Vries <tom@codesourcery.com>
3800
3801 PR middle-end/84955
3802 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3803 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3804
3805 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3806
3807 PR fortran/83064
3808 PR testsuite/85346
3809 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3810 test from gfortran.dg to here.
3811
3812 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3813
3814 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3815 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3816
3817 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3818
3819 PR middle-end/84955
3820 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3821 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3822
3823 2018-04-05 Tom de Vries <tom@codesourcery.com>
3824
3825 PR target/85204
3826 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3827
3828 2018-03-26 Tom de Vries <tom@codesourcery.com>
3829
3830 PR tree-optimization/85063
3831 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3832 * testsuite/libgomp.c/switch-conversion.c: New test.
3833 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3834 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3835
3836 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3837
3838 PR fortran/84381
3839 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3840 call abort by STOP n.
3841 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3842 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3843 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3844 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3845 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3846 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3847 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3848 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3849 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3850 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3851 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3852 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3853 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3854 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3855 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3856 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3857 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3858 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3859 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3860 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3861 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3862 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3863 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3864 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3865 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3866 * testsuite/libgomp.fortran/character1.f90: Likewise.
3867 * testsuite/libgomp.fortran/character2.f90: Likewise.
3868 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3869 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3870 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3871 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3872 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3873 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3874 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3875 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3876 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3877 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3878 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3879 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3880 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3881 * testsuite/libgomp.fortran/do1.f90: Likewise.
3882 * testsuite/libgomp.fortran/do2.f90: Likewise.
3883 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3884 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3885 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3886 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3887 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3888 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3889 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3890 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3891 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3892 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3893 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3894 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3895 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3896 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3897 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3898 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3899 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3900 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3901 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3902 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3903 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3904 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3905 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3906 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3907 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3908 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3909 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3910 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3911 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3912 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3913 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3914 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3915 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3916 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3917 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3918 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3919 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3920 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3921 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3922 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3923 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3924 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3925 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3926 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3927 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3928 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3929 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3930 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3931 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3932 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3933 * testsuite/libgomp.fortran/lib2.f: Likewise.
3934 * testsuite/libgomp.fortran/lib3.f: Likewise.
3935 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3936 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3937 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3938 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3939 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3940 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3941 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3942 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3943 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3944 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3945 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3946 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3947 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3948 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3949 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3950 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3951 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3952 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3953 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3954 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3955 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3956 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3957 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3958 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3959 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3960 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3961 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3962 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3963 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3964 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3965 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3966 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3967 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3968 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3969 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3970 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3971 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3972 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3973 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3974 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3975 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3976 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3977 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3978 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3979 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3980 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3981 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3982 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3983 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3984 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3985 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3986 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3987 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3988 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3989 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3990 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3991 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3992 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3993 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3994 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3995 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3996 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3997 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3998 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3999 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4000 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4001 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4002 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4003 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4004 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4005 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4006 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4007 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4008 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4009 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4010 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4011 * testsuite/libgomp.fortran/stack.f90: Likewise.
4012 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4013 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4014 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4015 * testsuite/libgomp.fortran/target1.f90: Likewise.
4016 * testsuite/libgomp.fortran/target2.f90: Likewise.
4017 * testsuite/libgomp.fortran/target3.f90: Likewise.
4018 * testsuite/libgomp.fortran/target4.f90: Likewise.
4019 * testsuite/libgomp.fortran/target5.f90: Likewise.
4020 * testsuite/libgomp.fortran/target6.f90: Likewise.
4021 * testsuite/libgomp.fortran/target7.f90: Likewise.
4022 * testsuite/libgomp.fortran/target8.f90: Likewise.
4023 * testsuite/libgomp.fortran/task1.f90: Likewise.
4024 * testsuite/libgomp.fortran/task2.f90: Likewise.
4025 * testsuite/libgomp.fortran/task3.f90: Likewise.
4026 * testsuite/libgomp.fortran/task4.f90: Likewise.
4027 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4028 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4029 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4030 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4031 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4032 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4033 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4034 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4035 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4036 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4037 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4038 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4039 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4040 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4041 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4042 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4043 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4044 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4045 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4046 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4047 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4048 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4049 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4050 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4051 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4052 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4053 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4054 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4055 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4056 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4057 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4058 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4059 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4060 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4061 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4062 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4063 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4064 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4065 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4066 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4067 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4068 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4069 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4070 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4071 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4072 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4073 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4074 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4075 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4076 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4077 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4078 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4079 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4080 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4081 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4082 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4083 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4084 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4085 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4086 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4087 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4088 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4089 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4090 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4091 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4092 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4093 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4094 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4095 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4096 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4097 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4098 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4099 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4100 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4101 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4102 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4103 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4104 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4105 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4106 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4107 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4108 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4109 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4110 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4111 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4112 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4113 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4114 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4115 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4116 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4117 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4118 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4119 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4120 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4121 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4122 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4123 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4124 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4125 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4126 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4127 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4128 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4129 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4130 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4131 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4132 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4133 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4134 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4135 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4136 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4137 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4138 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4139 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4140 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4141 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4142 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4143 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4144 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4145 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4146 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4147 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4148 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4149 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4150 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4151 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4152 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4153
4154 2018-03-20 Richard Biener <rguenther@suse.de>
4155
4156 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4157 parallelizable loop.
4158
4159 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4160
4161 PR target/84148
4162 * configure: Regenerate.
4163
4164 2018-02-16 Jakub Jelinek <jakub@redhat.com>
4165
4166 PR fortran/84418
4167 * libgomp.fortran/pr84418-1.f90: New test.
4168 * libgomp.fortran/pr84418-2.f90: New test.
4169
4170 2018-02-14 Jakub Jelinek <jakub@redhat.com>
4171
4172 PR fortran/84313
4173 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4174 -std=f2003 -fall-intrinsics into dg-additional-options.
4175
4176 2018-02-08 Martin Jambor <mjambor@suse.cz>
4177
4178 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4179 clonable.
4180
4181 2018-02-08 Martin Jambor <mjambor@suse.cz>
4182
4183 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4184
4185 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4186
4187 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4188 [__cplusplus]: Declare extern "C".
4189
4190 2018-02-07 Tom de Vries <tom@codesourcery.com>
4191
4192 PR libgomp/84217
4193 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4194
4195 2018-01-29 Christoph Spiel <cspiel@freenet.de>
4196 Jakub Jelinek <jakub@redhat.com>
4197
4198 PR libgomp/84096
4199 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4200 instead of omp_lock_t.
4201
4202 2018-01-25 Tom de Vries <tom@codesourcery.com>
4203
4204 PR target/84028
4205 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4206
4207 2018-01-24 Tom de Vries <tom@codesourcery.com>
4208
4209 PR target/83589
4210 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4211
4212 2018-01-24 Tom de Vries <tom@codesourcery.com>
4213
4214 PR target/81352
4215 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4216
4217 2018-01-19 Tom de Vries <tom@codesourcery.com>
4218 Cesar Philippidis <cesar@codesourcery.com>
4219
4220 PR target/83920
4221 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4222 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4223
4224 2018-01-03 Jakub Jelinek <jakub@redhat.com>
4225
4226 Update copyright years.
4227
4228 * libgomp.texi: Bump @copying's copyright year.
4229
4230 2017-12-30 Tom de Vries <tom@codesourcery.com>
4231
4232 PR libgomp/83046
4233 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4234 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4235
4236 2017-12-27 Tom de Vries <tom@codesourcery.com>
4237
4238 PR c++/83046
4239 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4240 (test_nonstatic): Fix return type to workaround PR83046.
4241
4242 2017-12-05 Jakub Jelinek <jakub@redhat.com>
4243
4244 PR testsuite/83281
4245 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4246 j suffix instead of i.
4247 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4248 Likewise.
4249
4250 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4251
4252 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4253 call to acc_wait (1).
4254
4255 2017-11-24 Jakub Jelinek <jakub@redhat.com>
4256
4257 PR fortran/81304
4258 * testsuite/libgomp.fortran/pr81304.f90: New test.
4259
4260 2017-11-23 Jakub Jelinek <jakub@redhat.com>
4261
4262 PR fortran/81841
4263 * libgomp.fortran/pr81841.f90: New test.
4264
4265 2017-11-22 Jakub Jelinek <jakub@redhat.com>
4266
4267 PR libgomp/83106
4268 * target.c (gomp_target_init): Compute lengths just once and
4269 use them in both malloc size and subsequent copying.
4270
4271 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4272
4273 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4274 * acinclude.m4: Add cet.m4.
4275 * configure: Regenerate.
4276 * Makefile.in: Likewise.
4277 * testsuite/Makefile.in: Likewise.
4278
4279 2017-11-15 Tom de Vries <tom@codesourcery.com>
4280
4281 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4282 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4283 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4284 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4285 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4286 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4287
4288 2017-11-14 Tom de Vries <tom@codesourcery.com>
4289
4290 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4291 non-nvidia devices.
4292
4293 2017-11-07 Jakub Jelinek <jakub@redhat.com>
4294
4295 PR c++/82835
4296 * testsuite/libgomp.c++/pr82835.C: New test.
4297
4298 2017-11-06 Martin Liska <mliska@suse.cz>
4299
4300 * testsuite/libgomp.c++/loop-2.C: Return a value
4301 for functions with non-void return type, or change type to void,
4302 or add -Wno-return-type for test.
4303 * testsuite/libgomp.c++/loop-4.C: Likewise.
4304 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4305 * testsuite/libgomp.c++/shared-1.C: Likewise.
4306 * testsuite/libgomp.c++/single-1.C: Likewise.
4307 * testsuite/libgomp.c++/single-2.C: Likewise.
4308
4309 2017-10-31 Tom de Vries <tom@codesourcery.com>
4310
4311 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4312 "do {} while (false)".
4313 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4314 after HSA_DEBUG call.
4315
4316 2017-10-28 Jakub Jelinek <jakub@redhat.com>
4317
4318 * target.c (struct gomp_coalesce_buf): New type.
4319 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4320 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4321 (gomp_copy_host2dev): Add CBUF argument, if copying into
4322 the cached ranges, memcpy into buffer instead of copying
4323 into device.
4324 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4325 Add CBUF argument, pass it through to other calls.
4326 (gomp_map_vars): Aggregate copies from host to device if small enough
4327 and with small enough gaps in between into memcpy into a buffer and
4328 fewer host to device copies from the buffer.
4329 (gomp_update): Adjust gomp_copy_host2dev caller.
4330
4331 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4332
4333 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4334 run" directive.
4335 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4336 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4337 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4338 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4339
4340 2017-10-16 Tom de Vries <tom@codesourcery.com>
4341
4342 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4343 openacc_nvidia_accel_selected.
4344 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4345 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4346 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4347 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4348 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4349 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4350 openacc_nvidia_accel_selected. Skip for shared memory device.
4351 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4352 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4353
4354 2017-10-09 Martin Jambor <mjambor@suse.cz>
4355
4356 PR hsa/82416
4357 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4358
4359 2017-10-07 Tom de Vries <tom@codesourcery.com>
4360
4361 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4362 Remove acc_device_nvidia references.
4363 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4364 Same.
4365
4366 2017-10-05 Tom de Vries <tom@codesourcery.com>
4367
4368 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4369 vector_length(32) clause from acc parallel directive.
4370 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4371
4372 2017-10-04 Tom de Vries <tom@codesourcery.com>
4373
4374 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4375 (main): Reduce sum of arr elements. Assert that hres is exactly
4376 representable in 32-bit floating point.
4377 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4378 (main): Reduce sum of arr elements. Assert that hres and hmres are
4379 exactly representable in 32-bit floating point.
4380 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4381
4382 2017-09-28 Tom de Vries <tom@codesourcery.com>
4383
4384 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4385 setting.
4386 * testsuite/libgomp.c++/pr69393.C: Same.
4387 * testsuite/libgomp.c++/taskloop-1.C: Same.
4388 * testsuite/libgomp.c++/taskloop-3.C: Same.
4389 * testsuite/libgomp.c++/taskloop-4.C: Same.
4390 * testsuite/libgomp.c/for-4.c: Same.
4391 * testsuite/libgomp.c/pr66199-3.c: Same.
4392 * testsuite/libgomp.c/pr66199-4.c: Same.
4393 * testsuite/libgomp.c/pr66199-6.c: Same.
4394 * testsuite/libgomp.c/taskloop-1.c: Same.
4395 * testsuite/libgomp.c/taskloop-3.c: Same.
4396 * testsuite/libgomp.c/taskloop-4.c: Same.
4397 * testsuite/libgomp.fortran/aligned1.f03: Same.
4398 * testsuite/libgomp.fortran/condinc1.f: Same.
4399 * testsuite/libgomp.fortran/condinc3.f90: Same.
4400 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4401 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4402 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4403 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4404 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4405 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4406 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4407 * testsuite/libgomp.fortran/recursion1.f90: Same.
4408 * testsuite/libgomp.fortran/target2.f90: Same.
4409 * testsuite/libgomp.fortran/target5.f90: Same.
4410 * testsuite/libgomp.fortran/task3.f90: Same.
4411
4412 2017-09-28 Tom de Vries <tom@codesourcery.com>
4413
4414 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4415 vector_length(32) clause from acc parallel directive.
4416 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4417
4418 2017-09-27 Tom de Vries <tom@codesourcery.com>
4419
4420 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4421 Remove acc_device_nvidia references.
4422
4423 2017-09-16 Tom de Vries <tom@codesourcery.com>
4424
4425 PR c/81875
4426 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4427
4428 2017-09-14 Tom de Vries <tom@codesourcery.com>
4429
4430 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4431 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4432 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4433 * testsuite/libgomp.c/c.exp: Include test-cases from
4434 libgomp.c-c++-common.
4435 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4436 files.
4437
4438 2017-09-14 Jakub Jelinek <jakub@redhat.com>
4439
4440 PR c++/81314
4441 * testsuite/libgomp.c++/pr81314.C: New test.
4442
4443 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4444
4445 * libgomp.texi (Top): www.openacc.org now uses https.
4446 (Enabling OpenACC): Ditto.
4447 (acc_get_num_devices): Ditto.
4448 (acc_set_device_type): Ditto.
4449 (acc_get_device_type): Ditto.
4450 (acc_set_device_num): Ditto.
4451 (acc_get_device_num): Ditto.
4452 (acc_async_test): Ditto.
4453 (acc_async_test_all): Ditto.
4454 (acc_wait): Ditto.
4455 (acc_wait_all): Ditto.
4456 (acc_wait_all_async): Ditto.
4457 (acc_wait_async): Ditto.
4458 (acc_init): Ditto.
4459 (acc_shutdown): Ditto.
4460 (acc_on_device): Ditto.
4461 (acc_malloc): Ditto.
4462 (acc_free): Ditto.
4463 (acc_copyin): Ditto.
4464 (acc_present_or_copyin): Ditto.
4465 (acc_create): Ditto.
4466 (acc_present_or_create): Ditto.
4467 (acc_copyout): Ditto.
4468 (acc_delete): Ditto.
4469 (acc_update_device): Ditto.
4470 (acc_update_self): Ditto.
4471 (acc_map_data): Ditto.
4472 (acc_unmap_data): Ditto.
4473 (acc_deviceptr): Ditto.
4474 (acc_hostptr): Ditto.
4475 (acc_is_present): Ditto.
4476 (acc_memcpy_to_device): Ditto.
4477 (acc_memcpy_from_device): Ditto.
4478 (acc_get_current_cuda_device): Ditto.
4479 (acc_get_current_cuda_context): Ditto.
4480 (acc_get_cuda_stream): Ditto.
4481 (acc_set_cuda_stream): Ditto.
4482 (ACC_DEVICE_TYPE): Ditto.
4483 (ACC_DEVICE_NUM): Ditto.
4484 (OpenACC Library Interoperability): Ditto.
4485
4486 2017-08-09 Jakub Jelinek <jakub@redhat.com>
4487
4488 PR c/81687
4489 * testsuite/libgomp.c/pr81687-1.c: New test.
4490 * testsuite/libgomp.c/pr81687-2.c: New test.
4491
4492 2017-08-07 Jakub Jelinek <jakub@redhat.com>
4493
4494 PR c/69389
4495 * testsuite/libgomp.c/pr69389.c: New test.
4496 * testsuite/libgomp.c++/pr69389.C: New test.
4497
4498 2017-08-07 Tom de Vries <tom@codesourcery.com>
4499
4500 PR middle-end/78266
4501 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4502 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4503
4504 2017-07-27 Jakub Jelinek <jakub@redhat.com>
4505
4506 PR c/45784
4507 * testsuite/libgomp.c/pr45784.c: New test.
4508 * testsuite/libgomp.c++/pr45784.C: New test.
4509
4510 2017-07-19 Tom de Vries <tom@codesourcery.com>
4511
4512 * testsuite/libgomp.oacc-c/vec.c: New test.
4513
4514 2017-07-03 Tom de Vries <tom@codesourcery.com>
4515
4516 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4517
4518 2017-06-27 Tom de Vries <tom@codesourcery.com>
4519
4520 * plugin/plugin-nvptx.c (notify_var): New function.
4521 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4522
4523 2017-06-27 Tom de Vries <tom@codesourcery.com>
4524
4525 * env.c (parse_unsigned_long_1): Factor out of ...
4526 (parse_unsigned_long): ... here.
4527 (parse_int_1): Factor out of ...
4528 (parse_int): ... here.
4529 (parse_int_secure): New function.
4530 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4531 * secure_getenv.h: Factor out of ...
4532 * plugin/plugin-hsa.c: ... here.
4533 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4534
4535 2017-06-21 Jakub Jelinek <jakub@redhat.com>
4536
4537 PR c++/81130
4538 * testsuite/libgomp.c++/pr81130.C: New test.
4539
4540 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4541
4542 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4543 default args.
4544 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4545 dg-xfail-run-if default args.
4546
4547 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4548
4549 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4550 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4551
4552 2017-05-30 Jakub Jelinek <jakub@redhat.com>
4553
4554 PR libgomp/80822
4555 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4556 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4557 sibling lists, depending on level just pick up what CPUs to put
4558 together into a place vs. whether add multiple ordered places.
4559
4560 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4561
4562 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4563 * libgomp.map (OACC_2.0.1): Add these.
4564 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4565 for "acc_wait", and "acc_wait_all", respectively.
4566 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4567 for "acc_wait", and "acc_wait_all", respectively.
4568 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4569 * libgomp.texi (acc_wait, acc_wait_all): Update.
4570 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4571 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4572 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4573
4574 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4575 acc_present_or_copyin and acc_present_or_create procedures,
4576 respectively.
4577 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4578 generally different variants of OpenACC Runtime Library functions.
4579 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4580
4581 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4582 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4583
4584 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4585 of preprocessor definitions.
4586 * libgomp.h (strong_alias): Guard by "#ifdef
4587 HAVE_ATTRIBUTE_ALIAS".
4588 * oacc-mem.c: Provide "acc_pcreate" as alias for
4589 "acc_present_or_create", and "acc_pcopyin" as alias for
4590 "acc_present_or_copyin".
4591 * libgomp.map: New version "OACC_2.0.1".
4592 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4593 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4594 its content into...
4595 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4596 Extend testing.
4597
4598 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4599 when disabling nvptx offloading.
4600
4601 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4602
4603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4604 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4605 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4606
4607 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4608 * testsuite/lib/libgomp.exp
4609 (check_effective_target_openacc_nvidia_accel_configured): New
4610 proc.
4611 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4612 (check_effective_target_c++): New procs.
4613 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4614 (check_effective_target_c++): Likewise.
4615
4616 2017-05-22 Jakub Jelinek <jakub@redhat.com>
4617
4618 PR middle-end/80809
4619 * testsuite/libgomp.c/pr80809-2.c: New test.
4620 * testsuite/libgomp.c/pr80809-3.c: New test.
4621
4622 PR middle-end/80809
4623 * testsuite/libgomp.c/pr80809-1.c: New test.
4624
4625 PR middle-end/80853
4626 * testsuite/libgomp.c/pr80853.c: New test.
4627
4628 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4629
4630 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4631 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4632 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4633 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4634 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4635
4636 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4637 Debug output for failure.
4638
4639 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4640
4641 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4642
4643 2017-04-27 Jakub Jelinek <jakub@redhat.com>
4644
4645 PR bootstrap/80531
4646 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4647 bootstrap compare failures.
4648
4649 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
4650
4651 * testsuite/libgomp.c/target-36.c: New testcase.
4652
4653 2017-04-13 Jakub Jelinek <jakub@redhat.com>
4654
4655 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4656 instead of char.
4657
4658 2017-04-11 Jakub Jelinek <jakub@redhat.com>
4659
4660 PR libgomp/80394
4661 * testsuite/libgomp.c/pr80394.c: New test.
4662
4663 2017-04-04 Jakub Jelinek <jakub@redhat.com>
4664
4665 PR libgomp/79876
4666 * config/posix/thread-stacksize.h: New file.
4667 * config/darwin/thread-stacksize.h: New file.
4668 * config/nvptx/thread-stacksize.h: New file.
4669 * env.c: Include thread-stacksize.h.
4670 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4671 instead of 0. Call pthread_attr_setstacksize even if
4672 GOMP_DEFAULT_STACKSIZE is non-zero.
4673
4674 2017-03-30 Jakub Jelinek <jakub@redhat.com>
4675
4676 * env.c (initialize_env): Initialize stacksize to 0.
4677
4678 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4679
4680 PR c++/80029
4681 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4682
4683 2017-03-08 Jakub Jelinek <jakub@redhat.com>
4684
4685 PR c/79940
4686 * testsuite/libgomp.c/pr79940.c: New test.
4687
4688 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4689
4690 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4691 targets.
4692 Add __float128 options.
4693
4694 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
4695
4696 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4697 hppa*-*-* dg-skip-if directive.
4698
4699 2017-02-09 Jakub Jelinek <jakub@redhat.com>
4700
4701 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4702 dg-skip-if directive into a comment.
4703
4704 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4705 Chung-Lin Tang <cltang@codesourcery.com>
4706
4707 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4708 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4709 add additional case.
4710 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4711 "openacc_nvidia_accel_selected".
4712 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4713 Add num_workers(8) clause.
4714
4715 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
4716
4717 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4718 hppa*-*-*.
4719 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4720 include complex.h on hppa*-*-hpux*.
4721 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4722
4723 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4724
4725 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4726
4727 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4728 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4729 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4730 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4731 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4732 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4733 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4734 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4735 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4736 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4737
4738 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4739
4740 * libgomp-plugin.h: #include <stdbool.h>.
4741 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4742 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4743 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4744 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4745 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4746 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4747 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4748 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4749 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4750 (GOMP_OFFLOAD_openacc_async_test)
4751 (GOMP_OFFLOAD_openacc_async_test_all)
4752 (GOMP_OFFLOAD_openacc_async_wait)
4753 (GOMP_OFFLOAD_openacc_async_wait_async)
4754 (GOMP_OFFLOAD_openacc_async_wait_all)
4755 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4756 (GOMP_OFFLOAD_openacc_async_set_async)
4757 (GOMP_OFFLOAD_openacc_create_thread_data)
4758 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4759 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4760 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4761 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4762 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4763 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4764 these.
4765 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4766 (GOMP_OFFLOAD_unload_image): Fix argument types.
4767
4768 2017-01-26 Jakub Jelinek <jakub@redhat.com>
4769
4770 * testsuite/lib/libgomp.exp
4771 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4772 check_compile invocation. Fix up removal of executable. Drop
4773 bogus "2>&1" argument.
4774
4775 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4776 directive.
4777
4778 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
4779 Martin Jambor <mjambor@suse.cz>
4780
4781 * plugin/hsa.h: Moved to top level include.
4782 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4783
4784 2017-01-21 Jakub Jelinek <jakub@redhat.com>
4785
4786 PR other/79046
4787 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4788 of cat to get version from BASE-VER file.
4789 * testsuite/Makefile.in: Regenerated.
4790
4791 2017-01-19 Jakub Jelinek <jakub@redhat.com>
4792
4793 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4794 for _WIN64.
4795
4796 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4797
4798 * plugin/hsa.h: Add GCC runtime library exception.
4799 * plugin/hsa_ext_finalize.h: Likewise.
4800
4801 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4802 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4803 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4804 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4805 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4806 library to link ptx plugin against.
4807 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4808 (CUDA_CALLS): Define.
4809 (cuda_lib, cuda_lib_inited): New variables.
4810 (init_cuda_lib): New function.
4811 (CUDA_CALL_PREFIX): Define.
4812 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4813 (CUDA_CALL): Use FN instead of (FN).
4814 (CUDA_CALL_NOCHECK): Define.
4815 (cuda_error, fini_streams_for_device, select_stream_for_async,
4816 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4817 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4818 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4819 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4820 CUDA_CALL_NOCHECK.
4821 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4822 CUDA_CALL_NOCHECK.
4823 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4824 Use CUDA_CALL_NOCHECK.
4825 * plugin/cuda/cuda.h: New file.
4826 * config.h.in: Regenerated.
4827 * configure: Regenerated.
4828
4829 PR other/79046
4830 * configure.ac: Add GCC_BASE_VER.
4831 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4832 get version from BASE-VER file.
4833 * testsuite/Makefile.in: Regenerated.
4834 * configure: Regenerated.
4835 * Makefile.in: Regenerated.
4836
4837 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4838
4839 PR libgomp/60670
4840 * Makefile.am: Make fincludedir multilib-aware.
4841 * Makefile.in: Regenerate.
4842
4843 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4844
4845 Update copyright years.
4846
4847 * libgomp.texi: Bump @copying's copyright year.
4848
4849 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4850
4851 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4852 pthread_spinlock_t instead of gomp_mutex_t lock.
4853 (gomp_get_thread_pool): Likewise.
4854 (gomp_release_thread_pool): Likewise.
4855 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4856 Likewise.
4857
4858 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4859
4860 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4861 thread pool in case nthreads == 1.
4862
4863 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4864
4865 * config/nvptx/env.c: Delete.
4866 * icv.c: Move definitions of ICV variables back ...
4867 * env.c: ...here. Do not compile environment-related functionality if
4868 LIBGOMP_OFFLOADED_ONLY is set.
4869
4870 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4871
4872 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4873 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4874 * configure: Regenerate.
4875 * config.h.in: Likewise.
4876
4877 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4878
4879 * Makefile.in: Regenerate with automake-1.11.6.
4880 * aclocal.m4: Likewise.
4881 * configure: Likewise.
4882 * testsuite/Makefile.in: Likewise.
4883
4884 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
4885
4886 * config/nvptx/critical.c: Delete to use generic implementation.
4887
4888 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4889
4890 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4891 ../../affinity.c as fallback.
4892 * config/nvptx/affinity.c: Delete to use fallback implementation.
4893
4894 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
4895 Jakub Jelinek <jakub@redhat.com>
4896 Dmitry Melnik <dm@ispras.ru>
4897
4898 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4899 * Makefile.in. Regenerate.
4900 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4901 (LIBGOMP_USE_PTHREADS): ...here; new define.
4902 * configure: Regenerate.
4903 * config.h.in: Likewise.
4904 * config/posix/affinity.c: Move to...
4905 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4906 interface by LIBGOMP_USE_PTHREADS.
4907 * critical.c: Split out GOMP_atomic_{start,end} into...
4908 * atomic.c: ...here (new file).
4909 * env.c: Split out ICV definitions into...
4910 * icv.c: ...here (new file) and...
4911 * icv-device.c: ...here. New file.
4912 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4913 (gomp_destroy_lock_30): Ditto.
4914 (gomp_set_lock_30): Ditto.
4915 (gomp_unset_lock_30): Ditto.
4916 (gomp_test_lock_30): Ditto.
4917 (gomp_init_nest_lock_30): Ditto.
4918 (gomp_destroy_nest_lock_30): Ditto.
4919 (gomp_set_nest_lock_30): Ditto.
4920 (gomp_unset_nest_lock_30): Ditto.
4921 (gomp_test_nest_lock_30): Ditto.
4922 * lock.c: New.
4923 * config/nvptx/lock.c: New.
4924 * config/nvptx/bar.c: New.
4925 * config/nvptx/bar.h: New.
4926 * config/nvptx/doacross.h: New.
4927 * config/nvptx/error.c: New.
4928 * config/nvptx/icv-device.c: New.
4929 * config/nvptx/mutex.h: New.
4930 * config/nvptx/pool.h: New.
4931 * config/nvptx/proc.c: New.
4932 * config/nvptx/ptrlock.h: New.
4933 * config/nvptx/sem.h: New.
4934 * config/nvptx/simple-bar.h: New.
4935 * config/nvptx/target.c: New.
4936 * config/nvptx/task.c: New.
4937 * config/nvptx/team.c: New.
4938 * config/nvptx/time.c: New.
4939 * config/posix/simple-bar.h: New.
4940 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4941 (gomp_num_teams_var): Declare.
4942 (struct gomp_thread_pool): Change threads_dock member to
4943 gomp_simple_barrier_t.
4944 [__nvptx__] (gomp_thread): New implementation.
4945 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4946 (gomp_thread_destructor): Ditto.
4947 (gomp_init_thread_affinity): Ditto.
4948 * team.c: Guard uses of Pthreads-specific interfaces by
4949 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4950 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4951 * config/nvptx/alloc.c: Delete.
4952 * config/nvptx/barrier.c: Ditto.
4953 * config/nvptx/fortran.c: Ditto.
4954 * config/nvptx/iter.c: Ditto.
4955 * config/nvptx/iter_ull.c: Ditto.
4956 * config/nvptx/loop.c: Ditto.
4957 * config/nvptx/loop_ull.c: Ditto.
4958 * config/nvptx/ordered.c: Ditto.
4959 * config/nvptx/parallel.c: Ditto.
4960 * config/nvptx/priority_queue.c: Ditto.
4961 * config/nvptx/sections.c: Ditto.
4962 * config/nvptx/single.c: Ditto.
4963 * config/nvptx/splay-tree.c: Ditto.
4964 * config/nvptx/work.c: Ditto.
4965 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4966 -foffload=-lgfortran in addition to -lgfortran.
4967 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4968 * plugin/plugin-nvptx.c: Include <limits.h>.
4969 (struct targ_fn_descriptor): Add new fields.
4970 (struct ptx_device): Ditto. Set them...
4971 (nvptx_open_device): ...here.
4972 (nvptx_adjust_launch_bounds): New.
4973 (nvptx_host2dev): Allow NULL 'nvthd'.
4974 (nvptx_dev2host): Ditto.
4975 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4976 (link_ptx): Adjust log sizes.
4977 (nvptx_host2dev): Allow NULL 'nvthd'.
4978 (nvptx_dev2host): Ditto.
4979 (nvptx_set_clocktick): New. Use it...
4980 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4981 fields.
4982 (GOMP_OFFLOAD_dev2dev): New.
4983 (nvptx_adjust_launch_bounds): New.
4984 (nvptx_stacks_size): New.
4985 (nvptx_stacks_alloc): New.
4986 (nvptx_stacks_free): New.
4987 (GOMP_OFFLOAD_run): New.
4988 (GOMP_OFFLOAD_async_run): New (stub).
4989
4990 2016-11-23 Martin Jambor <mjambor@suse.cz>
4991
4992 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4993 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4994 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4995
4996 2016-11-23 Martin Liska <mliska@suse.cz>
4997 Martin Jambor <mjambor@suse.cz>
4998
4999 * plugin/hsa.h: New file.
5000 * plugin/hsa_ext_finalize.h: New file.
5001 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5002 header file unistd.h, and functions secure_getenv, __secure_getenv,
5003 getuid, geteuid, getgid and getegid.
5004 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5005 -D_GNU_SOURCE.
5006 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5007 Handle various cases of secure_getenv presence, add an implementation
5008 when we can test effective UID and GID.
5009 (struct hsa_runtime_fn_info): New structure.
5010 (hsa_runtime_fn_info hsa_fns): New variable.
5011 (hsa_runtime_lib): Likewise.
5012 (support_cpu_devices): Likewise.
5013 (init_enviroment_variables): Load newly introduced ENV
5014 variables.
5015 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5016 (hsa_fatal): Likewise.
5017 (DLSYM_FN): New macro.
5018 (init_hsa_runtime_functions): New function.
5019 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5020 structure. Depending on environment, also allow CPU devices.
5021 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5022 (get_kernarg_memory_region): Likewise.
5023 (GOMP_OFFLOAD_init_device): Likewise.
5024 (destroy_hsa_program): Likewise.
5025 (init_basic_kernel_info): New function.
5026 (GOMP_OFFLOAD_load_image): Use it.
5027 (create_and_finalize_hsa_program): Call hsa run-time functions via
5028 hsa_fns structure.
5029 (create_single_kernel_dispatch): Likewise.
5030 (release_kernel_dispatch): Likewise.
5031 (init_single_kernel): Likewise.
5032 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5033 (get_group_size): New function.
5034 (run_kernel): Likewise.
5035 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5036 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5037 structure.
5038 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5039 * testsuite/libgomp-test-support.exp.in: Likewise.
5040 * Makefile.in: Regenerated.
5041 * aclocal.m4: Likewise.
5042 * config.h.in: Likewise.
5043 * configure: Likewise.
5044 * testsuite/Makefile.in: Likewise.
5045
5046 2016-11-15 Martin Jambor <mjambor@suse.cz>
5047 Alexander Monakov <amonakov@ispras.ru>
5048
5049 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5050 mapping clauses to target constructs.
5051 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5052
5053 2016-11-15 Matthias Klose <doko@ubuntu.com>
5054
5055 * configure: Regenerate.
5056
5057 2016-11-10 Jakub Jelinek <jakub@redhat.com>
5058
5059 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5060 * omp_lib.h.in (openmp_version): Likewise.
5061 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5062 of 201307.
5063 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5064
5065 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5066 (fib_wrapper): Add map(from: x) clause.
5067 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5068 (e_53_2): Likewise.
5069 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5070 (accum): Add map(tmp) clause.
5071 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5072 (accum): Add map(tofrom: tmp) clause.
5073 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5074 (gramSchmidt): Likewise.
5075 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5076 map(tofrom: sum) clause.
5077 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5078 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5079 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5080 only allowed on the loop iterator.
5081 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5082 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5083 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5084 * testsuite/libgomp.fortran/doacross1.f90: New test.
5085 * testsuite/libgomp.fortran/doacross3.f90: New test.
5086 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5087 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5088 * testsuite/libgomp.fortran/doacross2.f90: New test.
5089 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5090 #pragma omp atomic read.
5091 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5092 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5093
5094 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5095 Nathan Sidwell <nathan@acm.org>
5096
5097 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5098 to determine default geometry.
5099 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5100 dimension.
5101
5102 2016-11-01 Jakub Jelinek <jakub@redhat.com>
5103
5104 * hashtab.h: Use standard GPLv3 with runtime exception
5105 boilerplate.
5106
5107 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
5108
5109 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5110 size when allocating new thread.
5111
5112 2016-09-14 Marek Polacek <polacek@redhat.com>
5113
5114 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5115
5116 2016-08-19 Jakub Jelinek <jakub@redhat.com>
5117
5118 PR fortran/71014
5119 * testsuite/libgomp.fortran/pr71014.f90: New test.
5120
5121 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5122
5123 PR middle-end/70895
5124 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5125 firstprivate clauses.
5126 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5127 copy clauses.
5128 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5129 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5130 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5131 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5132 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5133 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5134 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5135 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5136 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5137 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5138 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5139 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5140
5141 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5142
5143 PR fortran/70598
5144 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5145
5146 2016-08-08 Jakub Jelinek <jakub@redhat.com>
5147
5148 PR c++/58706
5149 * testsuite/libgomp.c++/pr58706.C: New test.
5150
5151 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5152
5153 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5154 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5155 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5156 Likewise.
5157 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5158 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5159 Likewise.
5160 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5161
5162 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5163 test, and don't hardcode -O0.
5164
5165 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5166
5167 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5168
5169 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5170
5171 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5172 test.
5173
5174 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5175
5176 PR middle-end/71734
5177 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5178 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5179
5180 2016-07-01 Jakub Jelinek <jakub@redhat.com>
5181
5182 PR fortran/71717
5183 * testsuite/libgomp.fortran/associate3.f90: New test.
5184
5185 2016-06-17 Jakub Jelinek <jakub@redhat.com>
5186
5187 * testsuite/libgomp.c++/target-21.C: New test.
5188
5189 2016-06-16 Jakub Jelinek <jakub@redhat.com>
5190
5191 * testsuite/libgomp.c++/target-20.C: New test.
5192
5193 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5194 Cesar Philippidis <cesar@codesourcery.com>
5195
5196 PR middle-end/71373
5197 * libgomp.oacc-c/nested-function-1.c: New file.
5198 * libgomp.oacc-c/nested-function-2.c: Likewise.
5199 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5200 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5201 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5202
5203 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5204
5205 PR c/71381
5206 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5207 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5208 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5209
5210 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5211
5212 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5213 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5214
5215 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5216
5217 PR c/70688
5218 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
5219
5220 2016-05-26 Jakub Jelinek <jakub@redhat.com>
5221
5222 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5223 instead of invalid schedule(static, 0).
5224 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5225
5226 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5227
5228 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5229 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5230 parameter, use to set async stream around call to gomp_unmap_vars,
5231 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5232 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5233 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5234 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5235 (event_add): Add int parameter, initialize 'val' field when
5236 adding new ptx_event struct.
5237 (nvptx_evec): Adjust event_add() call arguments.
5238 (nvptx_host2dev): Likewise.
5239 (nvptx_dev2host): Likewise.
5240 (nvptx_wait_async): Likewise.
5241 (nvptx_wait_all_async): Likewise.
5242 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5243 pass to event_add() call.
5244 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5245 parameter.
5246 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5247 call openacc.register_async_cleanup_func() hook.
5248 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5249 * target.c (gomp_copy_from_async): Delete function.
5250 (gomp_map_vars): Remove async_refcount.
5251 (gomp_unmap_vars): Likewise.
5252 (gomp_load_image_to_device): Likewise.
5253 (omp_target_associate_ptr): Likewise.
5254 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5255 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5256 (gomp_copy_from_async): Remove.
5257
5258 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5259
5260 * target.c (gomp_device_copy): New function.
5261 (gomp_copy_host2dev): Likewise.
5262 (gomp_copy_dev2host): Likewise.
5263 (gomp_free_device_memory): Likewise.
5264 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5265 (gomp_map_pointer): Likewise.
5266 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5267 NULL value from alloc_func plugin hook.
5268 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5269 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5270 (gomp_unmap_vars): Likewise.
5271 (gomp_update): Adjust to call gomp_copy_dev2host and
5272 gomp_copy_host2dev functions.
5273 (gomp_unload_image_from_device): Handle false value from
5274 unload_image_func plugin hook.
5275 (gomp_init_device): Handle false value from init_device_func
5276 plugin hook.
5277 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5278 (omp_target_free): Adjust to call gomp_free_device_memory.
5279 (omp_target_memcpy): Handle return values from host2dev_func,
5280 dev2host_func, and dev2dev_func plugin hooks.
5281 (omp_target_memcpy_rect_worker): Likewise.
5282 (gomp_target_fini): Handle false value from fini_device_func
5283 plugin hook.
5284 * libgomp.h (struct gomp_device_descr): Adjust return type of
5285 init_device_func, fini_device_func, unload_image_func, free_func,
5286 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5287 * oacc-init.c (acc_shutdown_1): Handle false value from
5288 fini_device_func plugin hook.
5289 * oacc-host.c (host_init_device): Change return type to bool.
5290 (host_fini_device): Likewise.
5291 (host_unload_image): Likewise.
5292 (host_free): Likewise.
5293 (host_dev2host): Likewise.
5294 (host_host2dev): Likewise.
5295 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5296 (acc_memcpy_to_device): Likewise.
5297 (acc_memcpy_from_device): Likewise.
5298 (delete_copyout): Add libfnname parameter, handle free_func
5299 hook fatal error case.
5300 (acc_delete): Adjust delete_copyout call.
5301 (acc_copyout): Likewise.
5302 (update_dev_host): Move gomp_mutex_unlock to after
5303 host2dev/dev2host hook calls.
5304
5305 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5306 to 'hsa_error_msg', for clarity.
5307 (hsa_fatal): Likewise.
5308 (hsa_error): New function.
5309 (init_hsa_context): Change return type to bool, adjust to return
5310 false on error.
5311 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5312 return value.
5313 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5314 return false on error.
5315 (get_agent_info): Adjust to return NULL on error.
5316 (destroy_hsa_program): Change return type to bool, adjust to
5317 return false on error.
5318 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5319 (destroy_module): Change return type to bool, adjust to
5320 return false on error.
5321 (GOMP_OFFLOAD_unload_image): Likewise.
5322 (GOMP_OFFLOAD_fini_device): Likewise.
5323 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5324 (GOMP_OFFLOAD_free): Change to return false when called.
5325 (GOMP_OFFLOAD_dev2host): Likewise.
5326 (GOMP_OFFLOAD_host2dev): Likewise.
5327 (GOMP_OFFLOAD_dev2dev): Likewise.
5328
5329 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5330 (CUDA_CALL): Likewise.
5331 (CUDA_CALL_ASSERT): Likewise.
5332 (map_init): Change return type to bool, use CUDA_CALL* macros.
5333 (map_fini): Likewise.
5334 (init_streams_for_device): Change return type to bool, adjust
5335 call to map_init.
5336 (fini_streams_for_device): Change return type to bool, adjust
5337 call to map_fini.
5338 (select_stream_for_async): Release stream_lock before calls to
5339 GOMP_PLUGIN_fatal, adjust call to map_init.
5340 (nvptx_init): Use CUDA_CALL* macros.
5341 (nvptx_attach_host_thread_to_device): Change return type to bool,
5342 use CUDA_CALL* macros.
5343 (nvptx_open_device): Use CUDA_CALL* macros.
5344 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5345 macros.
5346 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5347 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5348 (nvptx_exec): Use CUDA_CALL* macros.
5349 (nvptx_alloc): Use CUDA_CALL* macros.
5350 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5351 (nvptx_host2dev): Likewise.
5352 (nvptx_dev2host): Likewise.
5353 (nvptx_wait): Use CUDA_CALL* macros.
5354 (nvptx_wait_async): Likewise.
5355 (nvptx_wait_all): Likewise.
5356 (nvptx_wait_all_async): Likewise.
5357 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5358 use CUDA_CALL* macros, adjust call to map_fini.
5359 (GOMP_OFFLOAD_init_device): Change return type to bool,
5360 adjust code accordingly.
5361 (GOMP_OFFLOAD_fini_device): Likewise.
5362 (GOMP_OFFLOAD_load_image): Adjust calls to
5363 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5364 use CUDA_CALL* macros.
5365 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5366 return code.
5367 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5368 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5369 handle error return.
5370 (GOMP_OFFLOAD_dev2host): Likewise.
5371 (GOMP_OFFLOAD_host2dev): Likewise.
5372 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5373 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5374
5375 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5376
5377 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5378 (acc_free): Likewise.
5379 (acc_memcpy_to_device): Likewise.
5380 (acc_memcpy_from_device): Likewise.
5381 (acc_deviceptr): Likewise.
5382 (acc_hostptr): Likewise.
5383 (acc_is_present): Likewise.
5384 (acc_map_data): Likewise.
5385 (acc_unmap_data): Likewise.
5386 (present_create_copy): Likewise.
5387 (delete_copyout): Likewise.
5388 (update_dev_host): Likewise.
5389 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5390 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5391 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5392 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5393 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5394 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5395 it only runs on nvptx targets.
5396 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5397 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5398 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5399 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5400 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5401 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5402 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5403 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5404 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5405 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5406 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5407 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5408 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5409 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5410 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5411 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5412 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5413 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5414 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5415 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5416 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5417 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5418 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5419
5420 2016-05-23 Martin Jambor <mjambor@suse.cz>
5421
5422 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5423
5424 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5425
5426 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5427 to gomp_init_targets_once.
5428 (acc_set_device_type): Remove !cached_base_dev condition on call to
5429 gomp_init_targets_once, move call to before acc_device_lock acquire,
5430 to avoid deadlock.
5431 (acc_get_device_num): Remove !cached_base_dev condition on call to
5432 gomp_init_targets_once.
5433 (acc_set_device_num): Likewise.
5434
5435 2016-05-16 Martin Jambor <mjambor@suse.cz>
5436
5437 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
5438
5439 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5440
5441 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5442 expected partitioning.
5443
5444 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5445
5446 PR middle-end/70626
5447 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5448 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5449 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5450
5451 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
5452
5453 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5454 non-fatal.
5455
5456 2016-04-19 Jakub Jelinek <jakub@redhat.com>
5457
5458 PR middle-end/70680
5459 * testsuite/libgomp.c/pr70680-1.c: New test.
5460 * testsuite/libgomp.c/pr70680-2.c: New test.
5461
5462 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5463
5464 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5465 pass parameter variables to subroutines.
5466
5467 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5468
5469 PR middle-end/70643
5470 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5471
5472 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5473
5474 PR testsuite/68242
5475 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5476 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5477
5478 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5479
5480 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5481 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5482 GOACC_declare prototype.
5483
5484 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5485 Merge this file, and...
5486 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5487 ... this file, and...
5488 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5489 ... this file, and...
5490 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5491 ... this file, and...
5492 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5493 ... this file, and...
5494 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5495 ... this file, and...
5496 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5497 ... this file, and...
5498 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5499 ... this file, and...
5500 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5501 ... this file, and...
5502 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5503 ... this file, and...
5504 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5505 ... this file, and...
5506 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5507 ... this file, and...
5508 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5509 ... this file into...
5510 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5511 file.
5512
5513 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5514 Make failure observable.
5515
5516 2016-04-12 Jakub Jelinek <jakub@redhat.com>
5517
5518 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5519 field.
5520 * target.c (gomp_target_fallback_firstprivate,
5521 gomp_target_unshare_firstprivate): Removed.
5522 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5523 before waiting for dependencies.
5524 (gomp_target_task_fn): Don't copy firstprivate vars here.
5525 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5526 firstprivate_copies here.
5527 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5528 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5529 explicit/implicit firstprivate.
5530
5531 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5532
5533 PR lto/70289
5534 PR ipa/70348
5535 PR tree-optimization/70373
5536 PR middle-end/70533
5537 PR middle-end/70534
5538 PR middle-end/70535
5539 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5540 test.
5541 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5542 test.
5543 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5544 test.
5545 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5546 test.
5547 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5548 test.
5549 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5550 test.
5551 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5552 test.
5553 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5554 test.
5555 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5556 test.
5557 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5558 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5559 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5560 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5561 test.
5562 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5563 test.
5564 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5565 test.
5566 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5567 test.
5568 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5569 coverage.
5570 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5573 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5574 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5575 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5576 coverage.
5577 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5579 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5581 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5582 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5583 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5584 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5585 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5586 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5587 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5588 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5589 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5590 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5591 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5592
5593 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5594 James Norris <jnorris@codesourcery.com>
5595 Nathan Sidwell <nathan@codesourcery.com>
5596 Julian Brown <julian@codesourcery.com>
5597 Cesar Philippidis <cesar@codesourcery.com>
5598 Chung-Lin Tang <cltang@codesourcery.com>
5599 Tom de Vries <tom@codesourcery.com>
5600
5601 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5602 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5603 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5604 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5605 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5606 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5607 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5608 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5609 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5610 XFAIL.
5611 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5612 Incorporate...
5613 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5614 file.
5615 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5616 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5617 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5619 Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5621 Likewise.
5622 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5623 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5625 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5626 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5627 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5628 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5629 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5630 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5631 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5632 Likewise.
5633 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5634 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5635 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5636 file...
5637 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5638 file into...
5639 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5640 file. Update.
5641 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5642 file.
5643 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5644 Likewise.
5645 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5646 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5647 ... this new file. Update.
5648 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5649 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5650 ... this new file. Update.
5651 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5652 file. Incorporate...
5653 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5654 file, and...
5655 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5656 file, and...
5657 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5658 file.
5659 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5660
5661 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5662
5663 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5664 set-torture-options.
5665
5666 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5667
5668 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5669 gcc-dg-runtest.
5670 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5671 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5672 -fno-builtin-acc_on_device instead of -O0.
5673 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5674 -O0.
5675 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5676 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5677 Likewise.
5678 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5679 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5680 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5681 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5682 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5683 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5684 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5685 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5686 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5687 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5688 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5689 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5691 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5693 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5694 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5695 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5696 Don't specify -O2.
5697 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5698 Likewise.
5699 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5700 Likewise.
5701
5702 2016-03-24 Martin Liska <mliska@suse.cz>
5703
5704 * plugin/plugin-hsa.c (packet_store_release): New function
5705 that is taken from the HSA runtime manual.
5706 (GOMP_OFFLOAD_run): Use the function.
5707
5708 2016-03-23 Jakub Jelinek <jakub@redhat.com>
5709
5710 PR c++/70376
5711 * testsuite/libgomp.c++/pr70376.C: New test.
5712
5713 2016-03-23 Tom de Vries <tom@codesourcery.com>
5714
5715 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5716 initialization of lresult and lvresult.
5717 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5718
5719 2016-03-23 James Norris <jnorris@codesourcery.com>
5720 Daichi Fukuoka <dc-fukuoka@sgi.com>
5721
5722 PR libgomp/69414
5723 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5724 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5725 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5726 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5727
5728 2016-03-23 Martin Liska <mliska@suse.cz>
5729
5730 PR hsa/70337
5731 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5732 argument just in case a dispatched kernel uses that argument.
5733
5734 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5735
5736 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5737 -ftree-parallelize-loops/-fopenacc changes.
5738 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5739 Likewise.
5740 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5741 Likewise.
5742 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5743 Likewise.
5744 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5745 Likewise.
5746 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5747 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5748
5749 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5750
5751 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5752 always_ld_library_path the path to libgcc_s.
5753
5754 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5755
5756 PR testsuite/70009
5757 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5758
5759 2016-03-09 Tom de Vries <tom@codesourcery.com>
5760
5761 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5762 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5763 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5764 Same.
5765 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5766 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5767 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5768 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5769
5770 2016-03-07 Martin Jambor <mjambor@suse.cz>
5771
5772 * testsuite/lib/libgomp.exp
5773 (check_effective_target_hsa_offloading_selected_nocache): New.
5774 (check_effective_target_hsa_offloading_selected): Likewise.
5775 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5776 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5777 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5778 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5779 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5780 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5781 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5782 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5783 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5784 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5785 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5786 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5787 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5788 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5789 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5790 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5791 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5792
5793 2016-03-07 Martin Jambor <mjambor@suse.cz>
5794
5795 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5796 non-shared memory accelerators.
5797 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5798 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5799 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5800 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5801 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5802 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5803 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5804 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5805 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5806
5807 2016-03-07 Martin Jambor <mjambor@suse.cz>
5808
5809 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5810 ALWAYS_CFLAGS.
5811
5812 2016-03-02 Jakub Jelinek <jakub@redhat.com>
5813
5814 PR libgomp/69555
5815 * testsuite/libgomp.c++/pr69555-1.C: New test.
5816 * testsuite/libgomp.c++/pr69555-2.C: New test.
5817
5818 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5819 Martin Jambor <mjambor@suse.cz>
5820
5821 * testsuite/lib/libgomp.exp
5822 (check_effective_target_offload_device_shared_as): New proc.
5823 * testsuite/libgomp.c++/declare_target-1.C: New test.
5824
5825 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5826
5827 PR driver/68463
5828 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5829
5830 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5831
5832 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5833 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5834 dims.
5835 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5836 -ftree-parallelize-loops/-fopenacc changes.
5837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5838 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5839 Likewise.
5840 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5841 Likewise.
5842 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5843 Likewise.
5844 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5845 Likewise.
5846 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5847 Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5849 Likewise.
5850 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5851 Likewise.
5852 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5853 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5854 Likewise.
5855 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5856 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5857 Likewise.
5858 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5859 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5860 Likewise.
5861
5862 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5863
5864 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5865
5866 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5867
5868 PR driver/69805
5869 * testsuite/libgomp.c/pr69805.c: New test.
5870
5871 2016-02-16 Tom de Vries <tom@codesourcery.com>
5872
5873 PR lto/67709
5874 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5875
5876 2016-02-09 Tom de Vries <tom@codesourcery.com>
5877
5878 PR tree-optimization/69599
5879 * testsuite/libgomp.c/omp-nested-3.c: New test.
5880 * testsuite/libgomp.c/pr46032-2.c: New test.
5881 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5882 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5883
5884 2016-02-09 Tom de Vries <tom@codesourcery.com>
5885
5886 PR lto/69707
5887 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5888
5889 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5890
5891 * testsuite/libgomp.c/target-31.c: Fix testcase.
5892
5893 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5894
5895 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5896 clause.
5897 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5898 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5899 reduction and map clauses.
5900 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5901
5902 2016-02-02 James Norris <jnorris@codesourcery.com>
5903
5904 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5905
5906 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5907
5908 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5909 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5910
5911 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5912 cases.
5913
5914 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5915 variables.
5916 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5917 (hsa_kmt_lib): Set variables.
5918 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5919 always_ld_library_path.
5920 * Makefile.in: Regenerate.
5921 * configure: Likewise.
5922 * testsuite/Makefile.in: Likewise.
5923
5924 * plugin/configfrag.ac (offload_additional_options)
5925 (offload_additional_lib_paths): Don't amend for hsa offloading.
5926 * configure: Regenerate.
5927
5928 * plugin/configfrag.ac: Don't configure for offloading target if
5929 we don't build the corresponding plugin.
5930 * configure: Regenerate.
5931
5932 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5933
5934 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5935 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5936
5937 2016-01-26 Tom de Vries <tom@codesourcery.com>
5938
5939 PR tree-optimization/69110
5940 * testsuite/libgomp.c/pr69110.c: New test.
5941
5942 2016-01-25 Richard Biener <rguenther@suse.de>
5943
5944 PR lto/69393
5945 * testsuite/libgomp.c++/pr69393.C: New testcase.
5946
5947 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5948
5949 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5950 function wasn't mapped to the device with non-shared memory.
5951
5952 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5953
5954 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5955
5956 2016-01-19 Martin Jambor <mjambor@suse.cz>
5957 Martin Liska <mliska@suse.cz>
5958
5959 * plugin/Makefrag.am: Add HSA plugin requirements.
5960 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5961 (HSA_RUNTIME_LIB): Likewise.
5962 (HSA_RUNTIME_CPPFLAGS): Likewise.
5963 (HSA_RUNTIME_INCLUDE): New substitution.
5964 (HSA_RUNTIME_LIB): Likewise.
5965 (HSA_RUNTIME_LDFLAGS): Likewise.
5966 (hsa-runtime): New configure option.
5967 (hsa-runtime-include): Likewise.
5968 (hsa-runtime-lib): Likewise.
5969 (PLUGIN_HSA): New substitution variable.
5970 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5971 configure options.
5972 (PLUGIN_HSA_CPPFLAGS): Likewise.
5973 (PLUGIN_HSA_LDFLAGS): Likewise.
5974 (PLUGIN_HSA_LIBS): Likewise.
5975 Check that we have access to HSA run-time.
5976 * libgomp-plugin.h (offload_target_type): New element
5977 OFFLOAD_TARGET_TYPE_HSA.
5978 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5979 args.
5980 (bool gomp_create_target_task): Updated.
5981 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5982 new field can_run_func.
5983 * libgomp_g.h (GOMP_target_ext): Update prototype.
5984 * oacc-host.c (host_run): Added a new parameter args.
5985 * target.c (calculate_firstprivate_requirements): New function.
5986 (copy_firstprivate_data): Likewise.
5987 (gomp_target_fallback_firstprivate): Use them.
5988 (gomp_target_unshare_firstprivate): New function.
5989 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5990 devices.
5991 (GOMP_target): Do host fallback for all shared memory devices. Do not
5992 pass any args to plugins.
5993 (GOMP_target_ext): Introduce device-specific argument parameter args.
5994 Allow host fallback if device shares memory. Do not remap data if
5995 device has shared memory.
5996 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5997 like host fallback for mappings.
5998 (GOMP_target_data): Treat shared memory devices like host fallback.
5999 (GOMP_target_data_ext): Likewise.
6000 (GOMP_target_update): Likewise.
6001 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6002 gomp_create_target_task.
6003 (GOMP_target_enter_exit_data): Likewise.
6004 (omp_target_alloc): Treat shared memory devices like host fallback.
6005 (omp_target_free): Likewise.
6006 (omp_target_is_present): Likewise.
6007 (omp_target_memcpy): Likewise.
6008 (omp_target_memcpy_rect): Likewise.
6009 (omp_target_associate_ptr): Likewise.
6010 (gomp_load_plugin_for_device): Also load can_run.
6011 * task.c (GOMP_PLUGIN_target_task_completion): Free
6012 firstprivate_copies.
6013 (gomp_create_target_task): Accept new argument args and store it to
6014 ttask.
6015 * plugin/plugin-hsa.c: New file.
6016
6017 2016-01-18 Tom de Vries <tom@codesourcery.com>
6018
6019 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6020 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6023 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6025 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6026 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6027 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6028 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6029 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6030 Same.
6031 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6032 Same.
6033 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6034 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6035 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6036 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6037 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6038 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6039 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6040 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6041 Same.
6042 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6043
6044 2016-01-15 Jakub Jelinek <jakub@redhat.com>
6045
6046 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6047
6048 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6049
6050 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6051
6052 2016-01-12 James Norris <jnorris@codesourcery.com>
6053
6054 * libgomp.texi: Updates for OpenACC.
6055
6056 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
6057
6058 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6059
6060 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6061
6062 PR fortran/66680
6063 * testsuite/libgomp.fortran/pr66680.f90: New test.
6064
6065 2016-01-07 Jakub Jelinek <jakub@redhat.com>
6066
6067 PR middle-end/68960
6068 * testsuite/libgomp.c/pr68960.c: New test.
6069
6070 2016-01-06 Nathan Sidwell <nathan@acm.org>
6071
6072 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
6073 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6074
6075 2016-01-04 Jakub Jelinek <jakub@redhat.com>
6076
6077 Update copyright years.
6078
6079 * libgomp.texi: Bump @copying's copyright year.
6080
6081 2015-12-31 Nathan Sidwell <nathan@acm.org>
6082
6083 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6084 dg-additional-options syntax.
6085 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6086 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6087 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6088 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6089 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6090 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6091 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6092 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6093 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6094 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6095 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6096 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6097 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6098 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6099 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6100 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6101 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6102 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6103
6104 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6105
6106 * libgomp.h (REFCOUNT_LINK): Define.
6107 (struct splay_tree_key_s): Add link_key.
6108 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6109 Replace target address of the pointer with target address of newly
6110 mapped object in the splay tree. Set link pointer on target to the
6111 device address of the mapped object.
6112 (gomp_unmap_vars): Restore target address of the pointer in the splay
6113 tree for REFCOUNT_LINK objects after unmapping.
6114 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6115 declare target link" objects.
6116 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6117 "omp declare target link" objects, which were mapped for the image.
6118 (gomp_exit_data): Restore target address of the pointer in the splay
6119 tree for REFCOUNT_LINK objects after unmapping.
6120 * testsuite/libgomp.c/target-link-1.c: New file.
6121
6122 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6123
6124 * libgomp.h (gomp_device_state): New enum.
6125 (struct gomp_device_descr): Replace is_initialized with state.
6126 (gomp_fini_device): Remove declaration.
6127 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6128 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6129 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6130 (acc_set_device_type): Use state instead of is_initialized.
6131 (acc_set_device_num): Likewise.
6132 * target.c (resolve_device): Use state instead of is_initialized.
6133 Do not initialize finalized device.
6134 (gomp_map_vars): Do nothing if device is finalized.
6135 (gomp_unmap_vars): Likewise.
6136 (gomp_update): Likewise.
6137 (GOMP_offload_register_ver): Use state instead of is_initialized.
6138 (GOMP_offload_unregister_ver): Likewise.
6139 (gomp_init_device): Likewise.
6140 (gomp_unload_device): Likewise.
6141 (gomp_fini_device): Remove.
6142 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6143 (GOMP_target): Go to host fallback if device is finalized.
6144 (GOMP_target_ext): Likewise.
6145 (gomp_exit_data): Do nothing if device is finalized.
6146 (gomp_target_task_fn): Go to host fallback if device is finalized.
6147 (gomp_target_fini): New static function.
6148 (gomp_target_init): Use state instead of is_initialized.
6149 Call gomp_target_fini at exit.
6150
6151 2015-12-09 Tom de Vries <tom@codesourcery.com>
6152
6153 PR tree-optimization/68716
6154 * testsuite/libgomp.c/omp-nested-2.c: New test.
6155
6156 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6157
6158 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6159 target openacc_nvidia_accel_selected.
6160 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6163 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6164
6165 2015-12-01 Julian Brown <julian@codesourcery.com>
6166 James Norris <James_Norris@mentor.com>
6167
6168 * oacc-parallel.c (GOACC_host_data): New function.
6169 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6170 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6171 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6172 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6173 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6174 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6175 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6176
6177 2015-11-30 James Norris <jnorris@codesourcery.com>
6178 Cesar Philippidis <cesar@codesourcery.com>
6179
6180 libgomp/
6181 * libgomp.oacc-fortran/routine-5.f90: New test.
6182 * libgomp.oacc-fortran/routine-7.f90: New test.
6183 * libgomp.oacc-fortran/routine-9.f90: New test.
6184
6185 2015-11-30 Tom de Vries <tom@codesourcery.com>
6186
6187 PR tree-optimization/46032
6188 * testsuite/libgomp.c/pr46032.c: New test.
6189
6190 2015-11-27 Jakub Jelinek <jakub@redhat.com>
6191
6192 PR libgomp/68579
6193 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6194 (gomp_create_target_task): Call it before freeing
6195 GOMP_TARGET_TASK_DATA tasks.
6196
6197 PR c/63326
6198 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6199 in between case label and OpenMP standalone directives.
6200 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6201
6202 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
6203
6204 * configure: Regenerate.
6205
6206 2015-11-26 Jakub Jelinek <jakub@redhat.com>
6207
6208 * testsuite/libgomp.c/target-35.c: New test.
6209
6210 2015-11-22 James Norris <jnorris@codesourcery.com>
6211 Cesar Philippidis <cesar@codesourcery.com>
6212
6213 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6214 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6215 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6216 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6217 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6218
6219 2015-11-20 Jakub Jelinek <jakub@redhat.com>
6220
6221 PR middle-end/68221
6222 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6223 * testsuite/libgomp.c/reduction-12.c: Likewise.
6224 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6225 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6226
6227 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6228
6229 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6230 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6231 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6232 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6233 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6234 and fix.
6235 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6236 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6237
6238 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6239
6240 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6241 worker & gang cases.
6242 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6243
6244 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6245
6246 * config/nvptx/priority_queue.c: New file.
6247
6248 2015-11-14 Jakub Jelinek <jakub@redhat.com>
6249
6250 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6251 sections.
6252
6253 2015-11-14 Jakub Jelinek <jakub@redhat.com>
6254 Aldy Hernandez <aldyh@redhat.com>
6255 Ilya Verbin <ilya.verbin@intel.com>
6256
6257 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6258 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6259 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6260 iterators or IV by chunk size.
6261 * parallel.c (gomp_resolve_num_threads): Don't assume that
6262 if thr->ts.team is non-NULL, then pool must be non-NULL.
6263 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6264 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6265 GOMP_PLUGIN_target_task_completion.
6266 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6267 * Makefile.in: Regenerate.
6268 * libgomp.h: Shuffle prototypes and forward definitions around so
6269 priority queues can be defined.
6270 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6271 (enum gomp_target_task_state): New enum.
6272 (struct gomp_target_task): Add state, tgt, task and team fields.
6273 (gomp_create_target_task): Change return type to bool, add
6274 state argument.
6275 (gomp_target_task_fn): Change return type to bool.
6276 (struct gomp_device_descr): Add async_run_func.
6277 (struct gomp_task): Remove children, next_child, prev_child,
6278 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6279 Add pnode field.
6280 (struct gomp_taskgroup): Remove children.
6281 Add taskgroup_queue.
6282 (struct gomp_team): Change task_queue type to a priority queue.
6283 (splay_compare): Define inline.
6284 (priority_queue_offset): New.
6285 (priority_node_to_task): New.
6286 (task_to_priority_node): New.
6287 * oacc-mem.c: Do not include splay-tree.h.
6288 * priority_queue.c: New file.
6289 * priority_queue.h: New file.
6290 * splay-tree.c: Do not include splay-tree.h.
6291 (splay_tree_foreach_internal): New.
6292 (splay_tree_foreach): New.
6293 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6294 (splay_tree_callback): Define typedef.
6295 * target.c (splay_compare): Move to libgomp.h.
6296 (GOMP_target): Don't adjust *thr in any way around running offloaded
6297 task.
6298 (GOMP_target_ext): Likewise. Handle target nowait.
6299 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6300 return value from gomp_create_target_task, if false, fallthrough
6301 as if no dependencies exist.
6302 (gomp_target_task_fn): Change return type to bool, return true
6303 if the task should have another part scheduled later. Handle
6304 target nowait.
6305 (gomp_load_plugin_for_device): Initialize async_run.
6306 * task.c (gomp_init_task): Initialize children_queue.
6307 (gomp_clear_parent_in_list): New.
6308 (gomp_clear_parent_in_tree): New.
6309 (gomp_clear_parent): Handle priorities.
6310 (GOMP_task): Likewise.
6311 (priority_queue_move_task_first,
6312 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6313 New functions.
6314 (gomp_create_target_task): Use priority queues. Change return type
6315 to bool, add state argument, return false if for async
6316 {{enter,exit} data,update} constructs no dependencies need to be
6317 waited for, handle target nowait. Set task->fn to NULL instead of
6318 gomp_target_task_fn.
6319 (verify_children_queue): Remove.
6320 (priority_list_upgrade_task): New.
6321 (priority_queue_upgrade_task): New.
6322 (verify_task_queue): Remove.
6323 (priority_list_downgrade_task): New.
6324 (priority_queue_downgrade_task): New.
6325 (gomp_task_run_pre): Use priority queues.
6326 Abstract code out to priority_queue_downgrade_task.
6327 (gomp_task_run_post_handle_dependers): Use priority queues.
6328 (gomp_task_run_post_remove_parent): Likewise.
6329 (gomp_task_run_post_remove_taskgroup): Likewise.
6330 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6331 tasks specially.
6332 (GOMP_taskwait): Likewise.
6333 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6334 priority-queue_upgrade_task.
6335 (GOMP_taskgroup_start): Use priority queues.
6336 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6337 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6338 barrier.
6339 * taskloop.c (GOMP_taskloop): Handle priorities.
6340 * team.c (gomp_new_team): Call priority_queue_init.
6341 (free_team): Call priority_queue_free.
6342 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6343 team created for target nowait in implicit parallel region.
6344 (gomp_team_start): For nested check, test thr->ts.level instead of
6345 thr->ts.team != NULL.
6346 * testsuite/libgomp.c/doacross-3.c: New test.
6347 * testsuite/libgomp.c/ordered-5.c: New test.
6348 * testsuite/libgomp.c/priority.c: New test.
6349 * testsuite/libgomp.c/target-31.c: New test.
6350 * testsuite/libgomp.c/target-32.c: New test.
6351 * testsuite/libgomp.c/target-33.c: New test.
6352 * testsuite/libgomp.c/target-34.c: New test.
6353
6354 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6355
6356 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6357
6358 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6359 loop is sequential.
6360
6361 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6362
6363 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6364 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6365
6366 2015-11-12 James Norris <jnorris@codesourcery.com>
6367 Joseph Myers <joseph@codesourcery.com>
6368
6369 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6370 * oacc-parallel.c (GOACC_declare): New function.
6371 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6372 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6373 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6374 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6375 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6376
6377 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6378
6379 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6380
6381 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6382
6383 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6384 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6385
6386 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6387
6388 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6389 inadvertent commit.
6390
6391 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6392
6393 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6394 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6395 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6396 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6397 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6398
6399 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6400
6401 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6402 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6403
6404 2015-11-05 Jakub Jelinek <jakub@redhat.com>
6405 Ilya Verbin <ilya.verbin@intel.com>
6406
6407 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6408 GOMP_loop_nonmonotonic_dynamic_start,
6409 GOMP_loop_nonmonotonic_guided_next,
6410 GOMP_loop_nonmonotonic_guided_start,
6411 GOMP_loop_ull_nonmonotonic_dynamic_next,
6412 GOMP_loop_ull_nonmonotonic_dynamic_start,
6413 GOMP_loop_ull_nonmonotonic_guided_next,
6414 GOMP_loop_ull_nonmonotonic_guided_start,
6415 GOMP_parallel_loop_nonmonotonic_dynamic,
6416 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6417 (GOMP_target_41): Renamed to ...
6418 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6419 arguments.
6420 (GOMP_target_data_41): Renamed to ...
6421 (GOMP_target_data_ext): ... this.
6422 (GOMP_target_update_41): Renamed to ...
6423 (GOMP_target_update_ext): ... this.
6424 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6425 GOMP_target_data_ext and GOMP_target_update_ext instead of
6426 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6427 Export GOMP_loop_nonmonotonic_dynamic_next,
6428 GOMP_loop_nonmonotonic_dynamic_start,
6429 GOMP_loop_nonmonotonic_guided_next,
6430 GOMP_loop_nonmonotonic_guided_start,
6431 GOMP_loop_ull_nonmonotonic_dynamic_next,
6432 GOMP_loop_ull_nonmonotonic_dynamic_start,
6433 GOMP_loop_ull_nonmonotonic_guided_next,
6434 GOMP_loop_ull_nonmonotonic_guided_start,
6435 GOMP_parallel_loop_nonmonotonic_dynamic and
6436 GOMP_parallel_loop_nonmonotonic_guided.
6437 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6438 GOMP_parallel_loop_nonmonotonic_guided,
6439 GOMP_loop_nonmonotonic_dynamic_start,
6440 GOMP_loop_nonmonotonic_guided_start,
6441 GOMP_loop_nonmonotonic_dynamic_next,
6442 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6443 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6444 GOMP_loop_ull_nonmonotonic_guided_start,
6445 GOMP_loop_ull_nonmonotonic_dynamic_next,
6446 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6447 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6448 functions.
6449 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6450 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6451 Use gomp_map_val function.
6452 (gomp_target_fallback_firstprivate): New static function.
6453 (GOMP_target_41): Renamed to ...
6454 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6455 arguments. Move firstprivate fallback handling into a new
6456 function.
6457 (GOMP_target_data_41): Renamed to ...
6458 (GOMP_target_data_ext): ... this.
6459 (GOMP_target_update_41): Renamed to ...
6460 (GOMP_target_update_ext): ... this.
6461 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6462 gomp_map_0len_lookup instead of gomp_map_lookup.
6463 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6464 gomp_map_lookup.
6465 * testsuite/libgomp.c/target-28.c: Likewise.
6466 * testsuite/libgomp.c/monotonic-1.c: New test.
6467 * testsuite/libgomp.c/monotonic-2.c: New test.
6468 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6469 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6470 * testsuite/libgomp.c/pr66199-5.c: New test.
6471 * testsuite/libgomp.c/pr66199-6.c: New test.
6472 * testsuite/libgomp.c/pr66199-7.c: New test.
6473 * testsuite/libgomp.c/pr66199-8.c: New test.
6474 * testsuite/libgomp.c/pr66199-9.c: New test.
6475 * testsuite/libgomp.c/reduction-11.c: New test.
6476 * testsuite/libgomp.c/reduction-12.c: New test.
6477 * testsuite/libgomp.c/reduction-13.c: New test.
6478 * testsuite/libgomp.c/reduction-14.c: New test.
6479 * testsuite/libgomp.c/reduction-15.c: New test.
6480 * testsuite/libgomp.c/target-12.c (main): Adjust for
6481 omp_target_is_present change for one-past-last element.
6482 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6483 the same var is both mapped and privatized.
6484 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6485 handling of zero-length array sections.
6486 * testsuite/libgomp.c/target-28.c: New test.
6487 * testsuite/libgomp.c/target-29.c: New test.
6488 * testsuite/libgomp.c/target-30.c: New test.
6489 * testsuite/libgomp.c/target-teams-1.c: New test.
6490 * testsuite/libgomp.c++/member-6.C: New test.
6491 * testsuite/libgomp.c++/member-7.C: New test.
6492 * testsuite/libgomp.c++/monotonic-1.C: New test.
6493 * testsuite/libgomp.c++/monotonic-2.C: New test.
6494 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6495 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6496 * testsuite/libgomp.c++/pr66199-3.C: New test.
6497 * testsuite/libgomp.c++/pr66199-4.C: New test.
6498 * testsuite/libgomp.c++/pr66199-5.C: New test.
6499 * testsuite/libgomp.c++/pr66199-6.C: New test.
6500 * testsuite/libgomp.c++/pr66199-7.C: New test.
6501 * testsuite/libgomp.c++/pr66199-8.C: New test.
6502 * testsuite/libgomp.c++/pr66199-9.C: New test.
6503 * testsuite/libgomp.c++/reduction-11.C: New test.
6504 * testsuite/libgomp.c++/reduction-12.C: New test.
6505 * testsuite/libgomp.c++/target-13.C: New test.
6506 * testsuite/libgomp.c++/target-14.C: New test.
6507 * testsuite/libgomp.c++/target-15.C: New test.
6508 * testsuite/libgomp.c++/target-16.C: New test.
6509 * testsuite/libgomp.c++/target-17.C: New test.
6510 * testsuite/libgomp.c++/target-18.C: New test.
6511 * testsuite/libgomp.c++/target-19.C: New test.
6512
6513 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6514
6515 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6516 and reduction copy.
6517 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6518 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6519 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6520 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6522 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6524 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6525 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6526 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6527 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6528 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6529 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6530 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6531
6532 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6533
6534 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6535 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6536 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6537 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6538 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6539 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6540 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6541 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6542
6543 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6544
6545 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6546 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6547 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6548 * oacc-host.c (host_openacc_exec): Likewise.
6549 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6550
6551 2015-11-03 Julian Brown <julian@codesourcery.com>
6552 Thomas Schwinge <thomas@codesourcery.com>
6553
6554 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6555 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6556 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6557 Likewise.
6558 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6559 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6560
6561 2015-11-03 James Norris <jnorris@codesourcery.com>
6562
6563 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6564 file.
6565 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6566 Likewise.
6567 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6568 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6569 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6570 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6571 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6572
6573 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6574
6575 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6576 compatibility.
6577 (enum acc_async_t): Reformat.
6578 (acc_on_device): Declare compatible with builtin and provide C++
6579 wrapper.
6580 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6581
6582 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6583 Cesar Philippidis <cesar@codesourcery.com>
6584
6585 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6586 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6587 ... this. Add a description of the test at the top of the file.
6588 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6589 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6590 ... this. Add a description of the test at the top of the file.
6591
6592 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6593
6594 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6595 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6596 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6597 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6598 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6599 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6600
6601 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6602
6603 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6604 dimensions.
6605
6606 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6607
6608 PR testsuite/68063
6609 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6610
6611 2015-10-27 James Norris <jnorris@codesourcery.com>
6612
6613 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6614 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6615
6616 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6617
6618 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6619 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6620
6621 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6622 acc_device_nvidia usage.
6623 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6624 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6625 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6626
6627 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6628 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6629
6630 PR libgomp/66518
6631 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6632
6633 PR libgomp/65437
6634 PR libgomp/66518
6635 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6636 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6637
6638 2015-10-23 Tom de Vries <tom@codesourcery.com>
6639
6640 PR testsuite/68063
6641 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6642
6643 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6644
6645 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6646 vector_length.
6647 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6648
6649 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6650 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6651
6652 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6653 to 0 when mapnum is 0.
6654
6655 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6656
6657 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6658 Cast to int from int32_t.
6659
6660 2015-10-13 Jakub Jelinek <jakub@redhat.com>
6661 Aldy Hernandez <aldyh@redhat.com>
6662 Ilya Verbin <ilya.verbin@intel.com>
6663
6664 * config/linux/affinity.c (omp_get_place_num_procs,
6665 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6666 * config/linux/doacross.h: New file.
6667 * config/posix/affinity.c (omp_get_place_num_procs,
6668 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6669 * config/posix/doacross.h: New file.
6670 * env.c: Include gomp-constants.h.
6671 (struct gomp_task_icv): Rename run_sched_modifier to
6672 run_sched_chunk_size.
6673 (gomp_max_task_priority_var): New variable.
6674 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6675 (handle_omp_display_env): Change _OPENMP value from 201307 to
6676 201511. Print OMP_MAX_TASK_PRIORITY.
6677 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6678 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6679 chunk_size and run_sched_modifier to run_sched_chunk_size.
6680 (omp_get_max_task_priority, omp_get_initial_device,
6681 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6682 omp_get_partition_place_nums): New functions.
6683 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6684 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6685 to chunk_size.
6686 (omp_get_num_places_, omp_get_place_num_procs_,
6687 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6688 omp_get_place_proc_ids_8_, omp_get_place_num_,
6689 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6690 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6691 omp_get_max_task_priority_): New functions.
6692 * libgomp_g.h (GOMP_loop_doacross_static_start,
6693 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6694 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6695 GOMP_loop_ull_doacross_dynamic_start,
6696 GOMP_loop_ull_doacross_guided_start,
6697 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6698 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6699 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6700 GOMP_target_data_41, GOMP_target_update_41,
6701 GOMP_target_enter_exit_data): New prototypes.
6702 (GOMP_task): Add prototype argument.
6703 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6704 (struct gomp_doacross_work_share): New type.
6705 (struct gomp_work_share): Add doacross field.
6706 (struct gomp_task_icv): Rename run_sched_modifier to
6707 run_sched_chunk_size.
6708 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6709 GOMP_TASK_UNDEFERRED. Add comments.
6710 (struct gomp_task_depend_entry): Add comments.
6711 (struct gomp_task): Likewise.
6712 (struct gomp_taskgroup): Likewise.
6713 (struct gomp_target_task): New type.
6714 (struct gomp_team): Add comment.
6715 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6716 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6717 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6718 (struct target_var_desc): New type.
6719 (struct target_mem_desc): Adjust comment. Use struct
6720 target_var_desc instead of splay_tree_key for list.
6721 (REFCOUNT_INFINITY): Define.
6722 (struct splay_tree_key_s): Remove copy_from field.
6723 (struct gomp_device_descr): Add dev2dev_func field.
6724 (enum gomp_map_vars_kind): New enum.
6725 (gomp_map_vars): Add one argument.
6726 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6727 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6728 omp_get_place_num_procs, omp_get_place_num_procs_,
6729 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6730 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6731 omp_get_place_num_, omp_get_partition_num_places,
6732 omp_get_partition_num_places_, omp_get_partition_place_nums,
6733 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6734 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6735 omp_target_free, omp_target_is_present, omp_target_memcpy,
6736 omp_target_memcpy_rect, omp_target_associate_ptr and
6737 omp_target_disassociate_ptr.
6738 (GOMP_4.0.2): Renamed to ...
6739 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6740 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6741 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6742 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6743 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6744 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6745 GOMP_loop_ull_doacross_guided_start,
6746 GOMP_loop_ull_doacross_runtime_start,
6747 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6748 GOMP_doacross_ull_wait.
6749 * libgomp.texi: Document omp_get_max_task_priority.
6750 Rename modifier argument to chunk_size for omp_set_schedule and
6751 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6752 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6753 to run_sched_chunk_size renaming.
6754 (GOMP_loop_ordered_runtime_start): Likewise.
6755 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6756 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6757 GOMP_parallel_loop_runtime_start): New functions.
6758 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6759 to run_sched_chunk_size renaming.
6760 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6761 GOMP_loop_doacross_guided_start): New functions or aliases.
6762 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6763 run_sched_modifier to run_sched_chunk_size renaming.
6764 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6765 (gomp_loop_ull_doacross_static_start,
6766 gomp_loop_ull_doacross_dynamic_start,
6767 gomp_loop_ull_doacross_guided_start,
6768 GOMP_loop_ull_doacross_runtime_start): New functions.
6769 (GOMP_loop_ull_doacross_static_start,
6770 GOMP_loop_ull_doacross_dynamic_start,
6771 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6772 * oacc-mem.c (acc_map_data, present_create_copy,
6773 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6774 to gomp_map_vars.
6775 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6776 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6777 instead of false to gomp_map_vars.
6778 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6779 * omp.h.in (omp_lock_hint_t): New type.
6780 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6781 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6782 omp_get_place_num, omp_get_partition_num_places,
6783 omp_get_partition_place_nums, omp_get_initial_device,
6784 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6785 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6786 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6787 prototypes.
6788 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6789 (omp_lock_hint_none, omp_lock_hint_uncontended,
6790 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6791 omp_lock_hint_speculative): New parameters.
6792 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6793 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6794 omp_get_place_num, omp_get_partition_num_places,
6795 omp_get_partition_place_nums, omp_get_initial_device,
6796 omp_get_max_task_priority): New interfaces.
6797 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6798 to chunk_size.
6799 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6800 (omp_lock_hint_none, omp_lock_hint_uncontended,
6801 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6802 omp_lock_hint_speculative): New parameters.
6803 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6804 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6805 omp_get_place_num, omp_get_partition_num_places,
6806 omp_get_partition_place_nums, omp_get_initial_device,
6807 omp_get_max_task_priority): New functions and subroutines.
6808 * ordered.c: Include stdarg.h and string.h.
6809 (MAX_COLLAPSED_BITS): Define.
6810 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6811 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6812 GOMP_doacross_ull_wait): New functions.
6813 * target.c: Include errno.h.
6814 (resolve_device): If device is not initialized, call
6815 gomp_init_device on it.
6816 (gomp_map_lookup): New function.
6817 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6818 Don't bump refcount if REFCOUNT_INFINITY. Handle
6819 GOMP_MAP_ALWAYS_TO_P.
6820 (get_kind): Rename is_openacc argument to short_mapkind.
6821 (gomp_map_pointer): Use gomp_map_lookup.
6822 (gomp_map_fields_existing): New function.
6823 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6824 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6825 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6826 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6827 Adjust for tgt->list changed type and copy_from living in there.
6828 (gomp_copy_from_async): Adjust for tgt->list changed type and
6829 copy_from living in there.
6830 (gomp_unmap_vars): Likewise.
6831 (gomp_update): Likewise. Rename is_openacc argument to
6832 short_mapkind. Don't fail if object is not mapped.
6833 (gomp_load_image_to_device): Initialize refcount to
6834 REFCOUNT_INFINITY.
6835 (gomp_target_fallback): New function.
6836 (gomp_get_target_fn_addr): Likewise.
6837 (GOMP_target): Adjust gomp_map_vars caller, use
6838 gomp_get_target_fn_addr and gomp_target_fallback.
6839 (GOMP_target_41): New function.
6840 (gomp_target_data_fallback): New function.
6841 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6842 (GOMP_target_data_41): New function.
6843 (GOMP_target_update): Adjust gomp_update caller.
6844 (GOMP_target_update_41): New function.
6845 (gomp_exit_data, GOMP_target_enter_exit_data,
6846 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6847 omp_target_is_present, omp_target_memcpy,
6848 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6849 omp_target_associate_ptr, omp_target_disassociate_ptr,
6850 gomp_load_plugin_for_device): New functions.
6851 * task.c: Include gomp-constants.h. Include taskloop.c
6852 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6853 (gomp_task_handle_depend): New function.
6854 (GOMP_task): Use it. Add priority argument. Use
6855 gomp-constant.h constants instead of hardcoded numbers.
6856 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6857 (gomp_create_target_task): New function.
6858 (verify_children_queue, verify_taskgroup_queue,
6859 verify_task_queue): New functions.
6860 (gomp_task_run_pre): Call verify_*_queue functions.
6861 If an upcoming tied task is about to leave the sibling or
6862 taskgroup queues in an invalid state, adjust appropriately.
6863 Remove taskgroup argument. Add comments.
6864 (gomp_task_run_post_handle_dependers): Add comments.
6865 (gomp_task_run_post_remove_parent): Likewise.
6866 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6867 (GOMP_taskwait): Likewise. Add comments.
6868 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6869 problem such that the first non parent_depends_on task does not
6870 end up at the end of the children queue.
6871 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6872 GOMP_TASK_UNDEFERRED.
6873 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6874 * taskloop.c: New file.
6875 * testsuite/lib/libgomp.exp
6876 (check_effective_target_offload_device_nonshared_as): New proc.
6877 * testsuite/libgomp.c/affinity-2.c: New test.
6878 * testsuite/libgomp.c/doacross-1.c: New test.
6879 * testsuite/libgomp.c/doacross-2.c: New test.
6880 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6881 Add map clause to target.
6882 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6883 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6884 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6885 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6886 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6887 Likewise.
6888 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6889 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6890 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6891 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6892 not defined. Use those where needed.
6893 * testsuite/libgomp.c/for-4.c: New test.
6894 * testsuite/libgomp.c/for-5.c: New test.
6895 * testsuite/libgomp.c/for-6.c: New test.
6896 * testsuite/libgomp.c/linear-1.c: New test.
6897 * testsuite/libgomp.c/ordered-4.c: New test.
6898 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6899 only allowed on the loop iterator.
6900 * testsuite/libgomp.c/pr66199-3.c: New test.
6901 * testsuite/libgomp.c/pr66199-4.c: New test.
6902 * testsuite/libgomp.c/reduction-7.c: New test.
6903 * testsuite/libgomp.c/reduction-8.c: New test.
6904 * testsuite/libgomp.c/reduction-9.c: New test.
6905 * testsuite/libgomp.c/reduction-10.c: New test.
6906 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6907 map(tofrom:s).
6908 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6909 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6910 * testsuite/libgomp.c/target-11.c: New test.
6911 * testsuite/libgomp.c/target-12.c: New test.
6912 * testsuite/libgomp.c/target-13.c: New test.
6913 * testsuite/libgomp.c/target-14.c: New test.
6914 * testsuite/libgomp.c/target-15.c: New test.
6915 * testsuite/libgomp.c/target-16.c: New test.
6916 * testsuite/libgomp.c/target-17.c: New test.
6917 * testsuite/libgomp.c/target-18.c: New test.
6918 * testsuite/libgomp.c/target-19.c: New test.
6919 * testsuite/libgomp.c/target-20.c: New test.
6920 * testsuite/libgomp.c/target-21.c: New test.
6921 * testsuite/libgomp.c/target-22.c: New test.
6922 * testsuite/libgomp.c/target-23.c: New test.
6923 * testsuite/libgomp.c/target-24.c: New test.
6924 * testsuite/libgomp.c/target-25.c: New test.
6925 * testsuite/libgomp.c/target-26.c: New test.
6926 * testsuite/libgomp.c/target-27.c: New test.
6927 * testsuite/libgomp.c/taskloop-1.c: New test.
6928 * testsuite/libgomp.c/taskloop-2.c: New test.
6929 * testsuite/libgomp.c/taskloop-3.c: New test.
6930 * testsuite/libgomp.c/taskloop-4.c: New test.
6931 * testsuite/libgomp.c++/ctor-13.C: New test.
6932 * testsuite/libgomp.c++/doacross-1.C: New test.
6933 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6934 Replace offload_device with offload_device_nonshared_as.
6935 * testsuite/libgomp.c++/for-12.C: New test.
6936 * testsuite/libgomp.c++/for-13.C: New test.
6937 * testsuite/libgomp.c++/for-14.C: New test.
6938 * testsuite/libgomp.c++/linear-1.C: New test.
6939 * testsuite/libgomp.c++/member-1.C: New test.
6940 * testsuite/libgomp.c++/member-2.C: New test.
6941 * testsuite/libgomp.c++/member-3.C: New test.
6942 * testsuite/libgomp.c++/member-4.C: New test.
6943 * testsuite/libgomp.c++/member-5.C: New test.
6944 * testsuite/libgomp.c++/ordered-1.C: New test.
6945 * testsuite/libgomp.c++/reduction-5.C: New test.
6946 * testsuite/libgomp.c++/reduction-6.C: New test.
6947 * testsuite/libgomp.c++/reduction-7.C: New test.
6948 * testsuite/libgomp.c++/reduction-8.C: New test.
6949 * testsuite/libgomp.c++/reduction-9.C: New test.
6950 * testsuite/libgomp.c++/reduction-10.C: New test.
6951 * testsuite/libgomp.c++/reference-1.C: New test.
6952 * testsuite/libgomp.c++/simd14.C: New test.
6953 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6954 * testsuite/libgomp.c++/target-5.C: New test.
6955 * testsuite/libgomp.c++/target-6.C: New test.
6956 * testsuite/libgomp.c++/target-7.C: New test.
6957 * testsuite/libgomp.c++/target-8.C: New test.
6958 * testsuite/libgomp.c++/target-9.C: New test.
6959 * testsuite/libgomp.c++/target-10.C: New test.
6960 * testsuite/libgomp.c++/target-11.C: New test.
6961 * testsuite/libgomp.c++/target-12.C: New test.
6962 * testsuite/libgomp.c++/taskloop-1.C: New test.
6963 * testsuite/libgomp.c++/taskloop-2.C: New test.
6964 * testsuite/libgomp.c++/taskloop-3.C: New test.
6965 * testsuite/libgomp.c++/taskloop-4.C: New test.
6966 * testsuite/libgomp.c++/taskloop-5.C: New test.
6967 * testsuite/libgomp.c++/taskloop-6.C: New test.
6968 * testsuite/libgomp.c++/taskloop-7.C: New test.
6969 * testsuite/libgomp.c++/taskloop-8.C: New test.
6970 * testsuite/libgomp.c++/taskloop-9.C: New test.
6971 * testsuite/libgomp.fortran/affinity1.f90: New test.
6972 * testsuite/libgomp.fortran/affinity2.f90: New test.
6973
6974 2015-10-13 Tom de Vries <tom@codesourcery.com>
6975
6976 PR tree-optimization/67476
6977 * testsuite/libgomp.c/autopar-3.c: New test.
6978 * testsuite/libgomp.c/autopar-4.c: New test.
6979 * testsuite/libgomp.c/autopar-5.c: New test.
6980 * testsuite/libgomp.c/autopar-6.c: New test.
6981 * testsuite/libgomp.c/autopar-7.c: New test.
6982 * testsuite/libgomp.c/autopar-8.c: New test.
6983
6984 2015-10-12 James Norris <jnorris@codesourcery.com>
6985
6986 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6987 initializer.
6988
6989 2015-10-09 David Malcolm <dmalcolm@redhat.com>
6990
6991 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6992 using load_gcc_lib.
6993
6994 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6995
6996 * oacc-ptx.h: Remove file, moving its content into...
6997 * config/nvptx/fortran.c: ... here...
6998 * config/nvptx/oacc-init.c: ..., here...
6999 * config/nvptx/oacc-parallel.c: ..., and here.
7000 * config/nvptx/openacc.f90: New file.
7001 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7002 (link_ptx): Don't link in predefined bits of PTX code.
7003
7004 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7005 Bernd Schmidt <bernds@codesourcery.com>
7006
7007 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7008 (struct targ_ptx_obj): New.
7009 (nvptx_tdata): Move earlier, change data format.
7010 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7011 objects.
7012 (GOMP_OFFLOAD_load_image): Adjust.
7013
7014 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7015
7016 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7017 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7018 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7019 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7020 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7021 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7022 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7023 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7024 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7025 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7026 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7027 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7028 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7029 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7030 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7031 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7032 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7033 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7034 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7035 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7036 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7037 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7038 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7039 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7040 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7041 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7042 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7043 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7044 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7045 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7046 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7047 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7048 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7049 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7050 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7051 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7052 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7053 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7054 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7055 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7056 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7057 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7058 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7059 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7060 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7061 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7062 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7063 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7064 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7065 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7066 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7067 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7068 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7069 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7070 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7071 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7072 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7073 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7074 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7075 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7076 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7077 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7078 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7079
7080 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7081
7082 * oacc-init.c (acc_on_device): Force optimization level.
7083
7084 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7085
7086 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7087 (cuda_errlist): Delete.
7088 (cuda_error): Reimplement.
7089
7090 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7091
7092 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7093 array.
7094 * libgomp.map (GOACC_parallel_keyed): New.
7095 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7096 all callers.
7097 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7098 and take keyed varargs list. Adjust call to exec_func.
7099 (GOACC_parallel): Force host fallback.
7100 * libgomp_g.h (GOACC_parallel): Remove.
7101 (GOACC_parallel_keyed): Declare.
7102 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
7103 (struct targ_gn_descriptor): Replace name field with launch field.
7104 (nvptx_exec): Lose separate geometry args, take array. Process
7105 dynamic dimensions and adjust.
7106 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7107 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7108 data.
7109 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7110 passing.
7111 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7112 passing.
7113
7114 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7115
7116 PR libgomp/67141
7117 * oacc-int.h (goacc_host_init): Add declaration.
7118 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7119 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7120
7121 2015-09-08 Aditya Kumar <hiraditya@msn.com>
7122 Sebastian Pop <s.pop@samsung.com>
7123
7124 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
7125 match o/p.
7126 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7127 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7128 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7129 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7130 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7131
7132 2015-09-03 Jakub Jelinek <jakub@redhat.com>
7133
7134 * configure.tgt: Add missing ;; in between nvptx and rtems
7135 snippets.
7136
7137 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7138
7139 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7140 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7141 (gomp_thread_pool_reservoir): Add priority member.
7142 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7143 priority.
7144 (parse_thread_pools): Likewise.
7145 * team.c (gomp_team_start): Call configuration provided
7146 gomp_adjust_thread_attr(). Destroy thread attributes if
7147 necessary.
7148 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7149
7150 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7151
7152 * config/posix/pool.h: New.
7153 * config/rtems/pool.h: Likewise.
7154 * config/rtems/proc.c: Likewise.
7155 * libgomp.h (gomp_thread_destructor): Declare.
7156 * team.c: Include configuration provided "pool.h".
7157 (gomp_get_thread_pool): Define in configuration.
7158 (gomp_team_end): Call configuration defined
7159 gomp_release_thread_pool().
7160
7161 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7162
7163 * config/rtems/bar.c: New.
7164 * config/rtems/bar.h: Likewise.
7165 * config/rtems/mutex.c: Likewise.
7166 * config/rtems/mutex.h: Likewise.
7167 * config/rtems/sem.c: Likewise.
7168 * config/rtems/sem.h: Likewise.
7169 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7170 <sys/lock.h> header file.
7171 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7172 supported by Newlib.
7173 * configure: Regenerate.
7174
7175 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7176
7177 * team.c (gomp_new_thread_pool): Delete and move content to ...
7178 (gomp_get_thread_pool): ... new function. Allocate and
7179 initialize thread pool on demand.
7180 (get_last_team): Use gomp_get_thread_pool().
7181 (gomp_team_start): Delete thread pool initialization.
7182
7183 2015-09-03 Tom de Vries <tom@codesourcery.com>
7184
7185 PR tree-optimization/65637
7186 * testsuite/libgomp.c/autopar-2.c: New test.
7187
7188 2015-08-29 Tom de Vries <tom@codesourcery.com>
7189
7190 PR tree-optimization/46193
7191 * testsuite/libgomp.c/pr46193.c: New test.
7192
7193 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7194
7195 libgomp/
7196 * libgomp.map: Add 4.0.2 version.
7197 * target.c (offload_image_descr): Add version field.
7198 (gomp_load_image_to_device): Add version argument. Adjust plugin
7199 call. Improve load mismatch diagnostic.
7200 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7201 call.
7202 (GOMP_offload_regster): Make stub function, move bulk to ...
7203 (GOMP_offload_register_ver): ... here. Process version argument.
7204 (GOMP_offload_unregister): Make stub function, move bulk to ...
7205 (GOMP_offload_unregister_ver): ... here. Process version argument.
7206 (gomp_init_device): Process version field.
7207 (gomp_unload_device): Process version field.
7208 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7209 macros. Check plugin version.
7210 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7211 loader and unloader types.
7212 * oacc-host.c: Include gomp-constants.h.
7213 (host_version): New.
7214 (host_load_image, host_unload_image): Adjust.
7215 (host_dispatch): Add host_version.
7216 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7217 (GOMP_OFFLOAD_version): New.
7218 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7219 (GOMP_OFFLOAD_unload_image): Likewise.
7220 * plugin/plugin-host.c: Include gomp-constants.h.
7221 (GOMP_OFFLOAD_version): New.
7222 (GOMP_OFFLOAD_load_image): Add version arg.
7223 (GOMP_OFFLOAD_unload_image): Likewise.
7224
7225 2015-08-24 Tom de Vries <tom@codesourcery.com>
7226
7227 PR tree-optimization/65468
7228 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7229
7230 2015-08-24 Tom de Vries <tom@codesourcery.com>
7231
7232 PR tree-optimization/65468
7233 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7234
7235 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7236
7237 PR libgomp/66761
7238 PR libgomp/67303
7239 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7240 (gomp_iter_guided_next): Idem.
7241 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7242 (gomp_iter_ull_guided_next): Idem.
7243 * config/linux/wait.h (do_spin): Idem.
7244
7245 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7246
7247 * libgomp-plugin.h (enum offload_target_type): Remove
7248 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7249 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7250 * openacc.h (enum acc_device_t): Likewise.
7251 * openacc_lib.h: Likewise.
7252 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7253 (acc_on_device): Just use __builtin_acc_on_device.
7254 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7255 of acc_on_device builtin.
7256 * plugin/plugin-host.h: Remove file.
7257 * plugin/plugin-host.c: Likewise, but salvage some content into...
7258 * oacc-host.c: ... this file.
7259 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7260 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7261 * Makefile.in: Regenerate.
7262 * configure: Likewise.
7263 * testsuite/lib/libgomp.exp
7264 (check_effective_target_openacc_host_nonshm_selected): Remove.
7265 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7266 ACC_DEVICE_TYPE=host_nonshm.
7267 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7268 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7269 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7270 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7271 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7272 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7273
7274 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7275 Jakub Jelinek <jakub@redhat.com>
7276
7277 * config/nvptx/affinity.c: New file.
7278 * config/nvptx/alloc.c: Likewise.
7279 * config/nvptx/bar.c: Likewise.
7280 * config/nvptx/barrier.c: Likewise.
7281 * config/nvptx/critical.c: Likewise.
7282 * config/nvptx/env.c: Likewise.
7283 * config/nvptx/error.c: Likewise.
7284 * config/nvptx/fortran.c: Likewise.
7285 * config/nvptx/iter.c: Likewise.
7286 * config/nvptx/iter_ull.c: Likewise.
7287 * config/nvptx/libgomp-plugin.c: Likewise.
7288 * config/nvptx/lock.c: Likewise.
7289 * config/nvptx/loop.c: Likewise.
7290 * config/nvptx/loop_ull.c: Likewise.
7291 * config/nvptx/mutex.c: Likewise.
7292 * config/nvptx/oacc-async.c: Likewise.
7293 * config/nvptx/oacc-cuda.c: Likewise.
7294 * config/nvptx/oacc-host.c: Likewise.
7295 * config/nvptx/oacc-init.c: Likewise.
7296 * config/nvptx/oacc-mem.c: Likewise.
7297 * config/nvptx/oacc-parallel.c: Likewise.
7298 * config/nvptx/oacc-plugin.c: Likewise.
7299 * config/nvptx/omp-lock.h: Likewise.
7300 * config/nvptx/ordered.c: Likewise.
7301 * config/nvptx/parallel.c: Likewise.
7302 * config/nvptx/proc.c: Likewise.
7303 * config/nvptx/ptrlock.c: Likewise.
7304 * config/nvptx/sections.c: Likewise.
7305 * config/nvptx/sem.c: Likewise.
7306 * config/nvptx/single.c: Likewise.
7307 * config/nvptx/splay-tree.c: Likewise.
7308 * config/nvptx/target.c: Likewise.
7309 * config/nvptx/task.c: Likewise.
7310 * config/nvptx/team.c: Likewise.
7311 * config/nvptx/time.c: Likewise.
7312 * config/nvptx/work.c: Likewise.
7313 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7314 * configure: Regenerate.
7315 * configure.tgt (config_path): Set to "nvptx" for target
7316 nvptx*-*-*.
7317
7318 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7319
7320 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7321
7322 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7323
7324 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7325 (cuda_errlist): Constify.
7326 (errmsg): Move into ...
7327 (cuda_error): ... here. Make smaller.
7328 (_XSTR, _STR): Delete.
7329 (cuda_synames): Delete.
7330 (verify_device_library): Delete.
7331 (nvptx_init): Don't call it.
7332
7333 2015-07-28 Tom de Vries <tom@codesourcery.com>
7334
7335 * testsuite/libgomp.c/uns-outer-4.c: New test.
7336
7337 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7338
7339 * testsuite/libgomp.c/pr66714.c: New test.
7340
7341 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7342
7343 PR libgomp/66950
7344 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7345 (fib_ref): New function.
7346 (fib): Correct corner cases in the recursion.
7347 (main): Replace the non-simd loop with fib_ref call.
7348 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7349 subroutine.
7350 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7351 for the last array element value. Replace the non-simd loop with
7352 fib_ref call. Remove redundant b_ref array. Remove the comparison
7353 of the last array element with according Fibonacci sequence element.
7354 (fib): Correct corner cases in the recursion.
7355
7356 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7357
7358 * target.c (gomp_offload_image_to_device): Rename to ...
7359 (gomp_load_image_to_device): ... here.
7360 (GOMP_offload_register): Adjust call.
7361 (gomp_init_device): Likewise.
7362 (gomp_unload_image_from_device): New. Broken out of ...
7363 (GOMP_offload_unregister): ... here. Call it.
7364 (gomp_unload_device): New.
7365 * libgomp.h (gomp_unload_device): Declare.
7366 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7367 mem maps.
7368
7369 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7370
7371 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7372 wait=-specific if.
7373 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7374 !=0 condition.
7375 (goacc_waits): Move !num_waits handling to ...
7376 (GOACC_wait): ... here, the only caller that might have zero waits.
7377
7378 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7379 (struct ptx_image_data): Move earlier, add fns field.
7380 (struct ptx_device): Add images and image_lock fields.
7381 (ptx_images, ptx_image_lock): Delete.
7382 (nvptx_open_device): Initialize images and image_lock fields.
7383 (nvptx_close_device): Destroy image_lock.
7384 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7385 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7386 fields.
7387
7388 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7389
7390 * target.c (GOMP_offload_register): Use int for device type arg.
7391 (GOMP_offload_unregister): Likewise.
7392
7393 * target.c (struct_offload_image_descr): Constify host_table.
7394 (gomp_offload_image_to_device): Likewise.
7395 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7396
7397 * libgomp.h (gomp_device_descr): Constify target data arguments.
7398 * target.c (struct offload_image_descr): Constify target_data.
7399 (gomp_offload_image_to_device): Likewise.
7400 (GOMP_offload_register): Likewise.
7401 (GOMP_offload_unregister): Likewise.
7402 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7403 GOMP_OFFLOAD_unload_image): Constify target data.
7404 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7405 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7406
7407 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7408
7409 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7410 Workaround driver library const error.
7411 (struct nvptx_tdata, nvptx_tdata_t): New.
7412 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7413 type.
7414
7415 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7416
7417 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7418 of EPS parameter from integer to real.
7419 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7420 type of EPS parameter from integer to real.
7421
7422 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7423
7424 * team.c (get_last_team): New.
7425 (gomp_new_team): Recycle last non-nested team if possible.
7426 (gomp_team_end): Move team work share list free lock destruction
7427 to ...
7428 (free_team): ... here.
7429
7430 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7431
7432 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7433 and ref from int to double. Replaced their comparison with
7434 an inequality of their difference and EPS.
7435 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7436 comparison of pri and a reference number with an inequality of their
7437 difference and EPS.
7438 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7439 the comparison of sum and sum_ref with an inequality of their
7440 difference and EPS.
7441 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7442 the comparison of pri and a reference number with an inequality of
7443 their difference and EPS.
7444
7445 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7446
7447 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7448 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7449 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7450 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7451 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7452 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7453 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7454 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7455 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7456 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7457 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7458 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7459 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7460 variables.
7461 (vec_mult): Likewise. Add #pragma omp taskwait.
7462 (main): Adjust caller.
7463 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7464 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7465 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7466 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7467 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7468 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7469 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7470 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7471 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7472 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7473 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7474 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7475 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7476 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7477 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7478 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7479 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7480 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7481 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7482 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7483 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7484 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7485 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7486 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7487 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7488 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7489 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7490 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7491 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7492 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7493 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7494 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7495 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7496 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7497 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7498 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7499 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7500 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7501 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7502 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7503 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7504 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7505 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7506 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7507 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7508 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7509 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7510 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7511 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7512 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7513 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7514 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7515 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7516 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7517 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7518 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7519 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7520 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7521 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7522 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7523 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7524 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7525 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7526 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7527 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7528 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7529 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7530 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7531 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7532 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7533 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7534 (vec_mult): Add !$omp taskwait.
7535 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7536 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7537 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7538 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7539 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7540 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7541 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7542 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7543 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7544 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7545 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7546 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7547 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7548 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7549 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7550 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7551 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7552 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7553 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7554 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7555 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7556 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7557 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7558 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7559 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7560 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7561 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7562 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7563 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7564 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7565 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7566 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7567 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7568 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7569 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7570 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7571 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7572 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7573 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7574 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7575 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7576 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7577 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7578 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7579 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7580 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7581 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7582 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7583 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7584 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7585 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7586 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7587 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7588 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7589 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7590 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7591 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7592 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7593 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7594 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7595 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7596 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7597 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7598 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7599 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7600 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7601 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7602
7603 2015-07-10 Tom de Vries <tom@codesourcery.com>
7604
7605 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7606 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7607
7608 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7609
7610 PR libgomp/65099
7611 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7612 in a 64-bit configuration.
7613 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7614 offloading testing if no such device is available.
7615 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7616 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7617
7618 2015-07-08 Tom de Vries <tom@codesourcery.com>
7619
7620 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7621 second call to f.
7622 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7623
7624 2015-07-07 Tom de Vries <tom@codesourcery.com>
7625
7626 PR tree-optimization/66642
7627 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7628 iteration count case.
7629 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7630 function, factor out of ...
7631 (main): ... here. Test low iteration count case.
7632
7633 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7634
7635 * libgomp.h (gomp_thread_pool): Comment last_team field.
7636
7637 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
7638
7639 * testsuite/libgomp.c++/pr66702-1.C: Require
7640 vect_simd_clones effective target.
7641 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7642
7643 2015-06-30 Tom de Vries <tom@codesourcery.com>
7644
7645 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7646 already set. Use DEFAULT_CFLAGS in dg-runtest.
7647 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7648 "-O2".
7649
7650 2015-06-30 Tom de Vries <tom@codesourcery.com>
7651
7652 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7653 already set. Use DEFAULT_CFLAGS in dg-runtest.
7654 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7655 * testsuite/libgomp.c++/pr64824.C: Same.
7656 * testsuite/libgomp.c++/pr64868.C: Same.
7657 * testsuite/libgomp.c++/pr66199-1.C: Same.
7658 * testsuite/libgomp.c++/pr66199-2.C: Same.
7659 * testsuite/libgomp.c++/target-2.C: Same.
7660 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7661 -std=<standard> option.
7662 * testsuite/libgomp.c++/udr-11.C: Same.
7663 * testsuite/libgomp.c++/udr-12.C: Same.
7664 * testsuite/libgomp.c++/udr-13.C: Same.
7665 * testsuite/libgomp.c++/udr-14.C: Same.
7666 * testsuite/libgomp.c++/udr-15.C: Same.
7667 * testsuite/libgomp.c++/udr-16.C: Same.
7668 * testsuite/libgomp.c++/udr-17.C: Same.
7669 * testsuite/libgomp.c++/udr-18.C: Same.
7670 * testsuite/libgomp.c++/udr-19.C: Same.
7671 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7672 * testsuite/libgomp.c++/simd-1.C: Same.
7673 * testsuite/libgomp.c++/simd-2.C: Same.
7674 * testsuite/libgomp.c++/simd-3.C: Same.
7675 * testsuite/libgomp.c++/simd-4.C: Same.
7676 * testsuite/libgomp.c++/simd-5.C: Same.
7677 * testsuite/libgomp.c++/simd-6.C: Same.
7678 * testsuite/libgomp.c++/simd-7.C: Same.
7679 * testsuite/libgomp.c++/simd-8.C: Same.
7680 * testsuite/libgomp.c++/simd-9.C: Same.
7681 * testsuite/libgomp.c++/simd10.C: Same.
7682 * testsuite/libgomp.c++/simd11.C: Same.
7683 * testsuite/libgomp.c++/simd12.C: Same.
7684 * testsuite/libgomp.c++/simd13.C: Same.
7685
7686 2015-06-30 Jakub Jelinek <jakub@redhat.com>
7687
7688 PR middle-end/66702
7689 * testsuite/libgomp.c++/pr66702-1.C: New test.
7690 * testsuite/libgomp.c++/pr66702-2.C: New test.
7691
7692 2015-06-30 Tom de Vries <tom@codesourcery.com>
7693
7694 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7695 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7696 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7697 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7698
7699 2015-06-30 Tom de Vries <tom@codesourcery.com>
7700
7701 PR tree-optimization/66652
7702 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7703 using restrict pointers.
7704 (main): Add arguments to calls to f.
7705 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7706
7707 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7708
7709 * configure.ac: Fix check for header <sys/sysctl.h>.
7710 * configure: Regenerate.
7711 * config.h.in: Likewise.
7712
7713 2015-06-23 Tom de Vries <tom@codesourcery.com>
7714
7715 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7716 abort.
7717 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7718
7719 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7720
7721 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7722 acc_device_nvidia.
7723
7724 PR libgomp/66518
7725 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7726 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7727
7728 2015-06-15 Tom de Vries <tom@codesourcery.com>
7729
7730 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7731 dg-additional-options for any remaining options.
7732 * testsuite/libgomp.c/atomic-2.c: Same.
7733 * testsuite/libgomp.c/atomic-4.c: Same.
7734 * testsuite/libgomp.c/atomic-5.c: Same.
7735 * testsuite/libgomp.c/atomic-6.c: Same.
7736 * testsuite/libgomp.c/autopar-1.c: Same.
7737 * testsuite/libgomp.c/copyin-1.c: Same.
7738 * testsuite/libgomp.c/copyin-2.c: Same.
7739 * testsuite/libgomp.c/copyin-3.c: Same.
7740 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7741 * testsuite/libgomp.c/nestedfn-5.c: Same.
7742 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7743 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7744 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7745 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7746 * testsuite/libgomp.c/pr32362-1.c: Same.
7747 * testsuite/libgomp.c/pr32362-2.c: Same.
7748 * testsuite/libgomp.c/pr32362-3.c: Same.
7749 * testsuite/libgomp.c/pr39591-1.c: Same.
7750 * testsuite/libgomp.c/pr39591-2.c: Same.
7751 * testsuite/libgomp.c/pr39591-3.c: Same.
7752 * testsuite/libgomp.c/pr58392.c: Same.
7753 * testsuite/libgomp.c/pr58756.c: Same.
7754 * testsuite/libgomp.c/simd-1.c: Same.
7755 * testsuite/libgomp.c/simd-10.c: Same.
7756 * testsuite/libgomp.c/simd-11.c: Same.
7757 * testsuite/libgomp.c/simd-12.c: Same.
7758 * testsuite/libgomp.c/simd-13.c: Same.
7759 * testsuite/libgomp.c/simd-14.c: Same.
7760 * testsuite/libgomp.c/simd-15.c: Same.
7761 * testsuite/libgomp.c/simd-2.c: Same.
7762 * testsuite/libgomp.c/simd-3.c: Same.
7763 * testsuite/libgomp.c/simd-4.c: Same.
7764 * testsuite/libgomp.c/simd-5.c: Same.
7765 * testsuite/libgomp.c/simd-6.c: Same.
7766 * testsuite/libgomp.c/simd-7.c: Same.
7767 * testsuite/libgomp.c/simd-8.c: Same.
7768 * testsuite/libgomp.c/simd-9.c: Same.
7769
7770 2015-06-15 Tom de Vries <tom@codesourcery.com>
7771
7772 * testsuite/libgomp.c/pr35625.c: Fix typo.
7773
7774 2015-06-15 Tom de Vries <tom@codesourcery.com>
7775
7776 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7777 in dg-options.
7778 * testsuite/libgomp.c/atomic-3.c: Same.
7779 * testsuite/libgomp.c/debug-1.c: Same.
7780 * testsuite/libgomp.c/nqueens-1.c: Same.
7781 * testsuite/libgomp.c/pr26171.c: Same.
7782 * testsuite/libgomp.c/pr48591.c: Same.
7783 * testsuite/libgomp.c/pr64824.c: Same.
7784 * testsuite/libgomp.c/pr64868.c: Same.
7785 * testsuite/libgomp.c/pr66133.c: Same.
7786 * testsuite/libgomp.c/pr66199-1.c: Same.
7787 * testsuite/libgomp.c/pr66199-2.c: Same.
7788 * testsuite/libgomp.c/target-8.c: Same.
7789
7790 2015-06-15 Tom de Vries <tom@codesourcery.com>
7791
7792 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7793 -std={gnu99,c99}.
7794 * testsuite/libgomp.c/for-1.c: Same.
7795 * testsuite/libgomp.c/for-2.c: Same.
7796 * testsuite/libgomp.c/for-3.c: Same.
7797 * testsuite/libgomp.c/pr35625.c: Same.
7798 * testsuite/libgomp.c/pr39154.c: Same.
7799 * testsuite/libgomp.c/simd-16.c: Same.
7800 * testsuite/libgomp.c/simd-17.c: Same.
7801
7802 2015-06-13 Tom de Vries <tom@codesourcery.com>
7803
7804 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7805
7806 2015-06-13 Tom de Vries <tom@codesourcery.com>
7807
7808 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7809 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7810 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7811 (N): Define.
7812 (main): Use N instead of hardcoded constants.
7813
7814 2015-06-05 Tom de Vries <tom@codesourcery.com>
7815
7816 merge from gomp4 branch:
7817 2015-05-28 Tom de Vries <tom@codesourcery.com>
7818
7819 PR tree-optimization/65443
7820 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7821 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7822 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7823
7824 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7825
7826 * testsuite/libgomp.graphite/bounds.c: Adjust for
7827 cleanup-tree-dump removal.
7828 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7829 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7830 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7831 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7832 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7833 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7834 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7835 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7836 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7837 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7838
7839 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
7840
7841 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7842 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7843 (futex_wake) [!__x86_64__]: Ditto.
7844
7845 2015-05-28 Julian Brown <julian@codesourcery.com>
7846
7847 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7848 function comment. Only call gomp_fatal if new argument is true.
7849 (acc_dev_num_out_of_range): New function.
7850 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7851 acc_dev_num_out_of_range as appropriate.
7852 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7853 (acc_get_device_num, acc_set_device_num): Update calls to
7854 resolve_device.
7855 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7856 output.
7857
7858 2015-05-28 Julian Brown <julian@codesourcery.com>
7859
7860 PR libgomp/65742
7861 * oacc-init.c (plugin/plugin-host.h): Include.
7862 (acc_on_device): Check whether we're in an offloaded region for
7863 host_nonshm
7864 plugin. Don't use __builtin_acc_on_device.
7865 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7866 nonshm_exec flag in thread-local data.
7867 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7868 data for host_nonshm plugin.
7869 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7870 for host_nonshm plugin.
7871 * plugin/plugin-host.h: New.
7872
7873 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7874
7875 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7876
7877 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7878
7879 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7880 Declare as int.
7881 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7882 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7883 Declare as int.
7884
7885 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7886
7887 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
7888
7889 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7890
7891 * target.c (gomp_map_pointer): New function abstracting out
7892 GOMP_MAP_POINTER handling.
7893 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7894 gomp_map_pointer().
7895
7896 2015-05-19 Jakub Jelinek <jakub@redhat.com>
7897
7898 PR middle-end/66199
7899 * testsuite/libgomp.c/pr66199-1.c: New test.
7900 * testsuite/libgomp.c/pr66199-2.c: New test.
7901 * testsuite/libgomp.c++/pr66199-1.C: New test.
7902 * testsuite/libgomp.c++/pr66199-2.C: New test.
7903 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7904 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7905
7906 2015-05-19 Julian Brown <julian@codesourcery.com>
7907
7908 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7909 on cuInit failure.
7910
7911 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7912
7913 PR middle-end/66133
7914 * testsuite/libgomp.c/pr66133.c: New test.
7915
7916 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7917
7918 * Makefile.in: Regenerated with automake-1.11.6.
7919 * aclocal.m4: Likewise.
7920 * config.h.in: Likewise.
7921 * configure: Likewise.
7922 * testsuite/Makefile.in: Likewise.
7923
7924 2015-05-08 Jason Merrill <jason@redhat.com>
7925
7926 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7927 _Complex.
7928
7929 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7930
7931 2015-05-06 Julian Brown <julian@codesourcery.com>
7932
7933 * oacc-init.c (acc_device_lock): Add explanatory comment.
7934 (resolve_device): Add comment about locking requirement.
7935 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7936 gomp_init_device and gomp_fini_device calls.
7937 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7938 (acc_get_device_num, acc_set_device_num): Add locking around
7939 resolve_device and gomp_init_device calls.
7940
7941 2015-05-06 Julian Brown <julian@codesourcery.com>
7942
7943 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7944 goacc_thread_lock on error paths.
7945 * oacc-mem.c (lookup_host): Remove locking from function. Note
7946 locking requirement for caller in function comment.
7947 (lookup_dev): Likewise.
7948 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7949 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7950 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7951 Add locking.
7952
7953 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7954
7955 PR testsuite/65205
7956 PR libgomp/65993
7957 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7958 don't expect "0x" prefix for "%p" format specifier, don't expect
7959 "(nil)" for NULL pointer.
7960 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7961 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7962 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7963 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7964 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7965 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7966 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7967 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7968 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7969 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7970 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7971 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7972 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7973 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7974 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7975 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7976 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7977 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7978 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7979 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7980 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7981 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7982 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7983 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7984 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7986 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7987 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7988 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7989 accurately specify what we're looking for.
7990 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7991 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7992 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7993 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7994 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7995
7996 2015-04-30 James Norris <jnorris@codesourcery.com>
7997
7998 PR testsuite/65205
7999 * testsuite/lib/libgomp.exp
8000 (check_effective_target_openacc_host_selected)
8001 (check_effective_target_openacc_host_nonshm_selected): New
8002 procedures.
8003 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8004 dg-shouldfail.
8005 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8006 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8007 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8008 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8009 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8010 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8011 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8012 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8013 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8014 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8015 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8016 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8017 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8018 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8019 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8020 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8021 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8022 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8023 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8024 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8025 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8026 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8027 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8028 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8029 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8030 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8031 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8032 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8033 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8034 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8036 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8037 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8038 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8039 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8040 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8041 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8042 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8043 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8044 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8045 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8046 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8047 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8048
8049 2015-04-08 Julian Brown <julian@codesourcery.com>
8050
8051 * libgomp.h (target_mem_desc: Remove mem_map field.
8052 (acc_dispatch_t): Remove open_device_func, close_device_func,
8053 get_device_num_func, set_device_num_func, target_data members.
8054 Change create_thread_data_func argument to device number instead of
8055 generic pointer.
8056 * oacc-async.c (assert.h): Include.
8057 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8058 (acc_wait_all, acc_wait_all_async): Use current host thread's
8059 active device, not base_dev.
8060 * oacc-cuda.c (acc_get_current_cuda_device)
8061 (acc_get_current_cuda_context, acc_get_cuda_stream)
8062 (acc_set_cuda_stream): Likewise.
8063 * oacc-host.c (host_dispatch): Don't set open_device_func,
8064 close_device_func, get_device_num_func or set_device_num_func.
8065 * oacc-init.c (base_dev, init_key): Remove.
8066 (cached_base_dev): New.
8067 (name_of_acc_device_t): New.
8068 (acc_init_1): Initialise default-numbered device, not zeroth.
8069 (acc_shutdown_1): Close all devices of a given type.
8070 (goacc_destroy_thread): Don't use base_dev.
8071 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8072 (goacc_attach_host_thread_to_device): New.
8073 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8074 (acc_get_num_devices): Don't use base_dev.
8075 (acc_set_device_type): Reimplement.
8076 (acc_get_device_type): Don't use base_dev.
8077 (acc_get_device_num): Tweak logic.
8078 (acc_set_device_num): Likewise.
8079 (acc_on_device): Use acc_get_device_type.
8080 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8081 (goacc_lazy_initialize): Reimplement with acc_init and
8082 goacc_attach_host_thread_to_device.
8083 * oacc-int.h (goacc_thread): Add base_dev field.
8084 (base_dev): Remove extern declaration.
8085 (goacc_attach_host_thread_to_device): Add prototype.
8086 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8087 base_dev.
8088 (acc_free): Likewise.
8089 (acc_memcpy_to_device): Likewise.
8090 (acc_memcpy_from_device): Likewise.
8091 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8092 goacc_lazy_initialize (throughout).
8093 (GOACC_parallel): Use tgt_offset to locate target functions.
8094 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8095 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8096 (gomp_load_plugin_for_device): Remove open_device, close_device,
8097 get_device_num, set_device_num openacc hook initialisation. Don't set
8098 openacc.target_data.
8099 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8100 (GOMP_OFFLOAD_openacc_close_device)
8101 (GOMP_OFFLOAD_openacc_get_device_num)
8102 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8103 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8104 to int.
8105 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8106 (instantiated_devices, ptx_dev_lock): New.
8107 (struct ptx_image_data): New.
8108 (ptx_devices, ptx_images, ptx_image_lock): New.
8109 (fini_streams_for_device): Reorder cuStreamDestroy call.
8110 (nvptx_get_num_devices): Remove forward declaration.
8111 (nvptx_init): Change return type to bool.
8112 (nvptx_fini): Remove.
8113 (nvptx_attach_host_thread_to_device): New.
8114 (nvptx_open_device): Return struct ptx_device* instead of void*.
8115 (nvptx_close_device): Change argument type to struct ptx_device*,
8116 return type to void.
8117 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8118 (kernel_target_data, kernel_host_table): Remove static globals.
8119 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8120 (GOMP_OFFLOAD_init_device): Reimplement.
8121 (GOMP_OFFLOAD_fini_device): Likewise.
8122 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8123 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8124 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8125 (GOMP_OFFLOAD_openacc_open_device)
8126 (GOMP_OFFLOAD_openacc_close_device)
8127 (GOMP_OFFLOAD_openacc_set_device_num)
8128 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8129 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8130 (device number).
8131
8132 testsuite/
8133 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8134
8135 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8136
8137 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8138 * libgomp.h (struct gomp_memory_mapping): Remove.
8139 (struct target_mem_desc): Change type of mem_map from
8140 gomp_memory_mapping * to splay_tree_s *.
8141 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8142 Add load_image_func, unload_image_func.
8143 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8144 Remove offload_regions_registered.
8145 (gomp_init_tables): Remove.
8146 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8147 to splay_tree_s *.
8148 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8149 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8150 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8151 offload_regions_registered.
8152 Initialize load_image_func, unload_image_func, mem_map.root.
8153 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8154 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8155 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8156 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8157 gomp_memory_mapping *. Use dev's lock and splay_tree.
8158 (lookup_dev): Use dev's lock.
8159 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8160 (acc_is_present): Likewise.
8161 (acc_map_data): Likewise.
8162 (acc_unmap_data): Likewise. Use dev's lock.
8163 (present_create_copy): Likewise.
8164 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8165 (update_dev_host): Likewise.
8166 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8167 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8168 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8169 (GOMP_OFFLOAD_get_table): Remove
8170 (GOMP_OFFLOAD_load_image): New function.
8171 (GOMP_OFFLOAD_unload_image): New function.
8172 * target.c (register_lock): New mutex for offload image registration.
8173 (num_devices): Do not guard with PLUGIN_SUPPORT.
8174 (gomp_realloc_unlock): New static function.
8175 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8176 before gomp_fatal.
8177 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8178 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8179 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8180 mem_map's.
8181 (gomp_unmap_vars): Likewise.
8182 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8183 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8184 (gomp_offload_image_to_device): New static function.
8185 (GOMP_offload_register): Add mutex lock.
8186 Call gomp_offload_image_to_device for all initialized devices.
8187 Replace gomp_realloc with gomp_realloc_unlock.
8188 (GOMP_offload_unregister): New function.
8189 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8190 get_table_func from the plugin with calls to init_device_func and
8191 gomp_offload_image_to_device.
8192 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8193 to splay_tree_s *.
8194 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8195 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8196 (GOMP_target_data): Do not call gomp_init_tables.
8197 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8198 (gomp_load_plugin_for_device): Replace register_image and get_table
8199 with load_image and unload_image in DLSYM ().
8200 (gomp_register_images_for_device): Remove function.
8201 (gomp_target_init): Do not initialize current_device.mem_map.*,
8202 current_device.offload_regions_registered.
8203 Remove call to gomp_register_images_for_device.
8204 Do not free offload_images and num_offload_images.
8205
8206 2015-03-30 Jakub Jelinek <jakub@redhat.com>
8207
8208 PR fortran/65597
8209 * testsuite/libgomp.fortran/pr65597.f90: New test.
8210
8211 2015-03-27 Tom de Vries <tom@codesourcery.com>
8212
8213 PR testsuite/65594
8214 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8215 (init, check): New function.
8216 (foo): Change return type to void.
8217 (main): Call init and check.
8218
8219 2015-03-27 Tom de Vries <tom@codesourcery.com>
8220
8221 PR testsuite/65594
8222 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8223 (foo): Use M for non-inner loops to scale down test-case.
8224
8225 2015-03-25 Kai Tietz <ktietz@redhat.com>
8226
8227 PR libgomp/64972
8228 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8229 (GOACC_data_start): Likewise.
8230 * target.c (gomp_map_vars): Likewise.
8231
8232 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
8233
8234 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8235 hppa*-*-hpux*.
8236
8237 2015-03-19 Jakub Jelinek <jakub@redhat.com>
8238
8239 * testsuite/libgomp.c/target-10.c: New test.
8240 * testsuite/libgomp.c++/target-4.C: New test.
8241
8242 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8243
8244 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8245 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8246
8247 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8248
8249 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8250 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8251 (pthread.h): Check for this header file.
8252 * configure: Regenerate.
8253
8254 2015-02-25 Tom de Vries <tom@codesourcery.com>
8255
8256 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8257 (check_reduction_op, check_reduction_macro, max, min):
8258 Declare.
8259 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8260 function.
8261 (main): Use new functions.
8262
8263 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8264
8265 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8266 char * for variables holding dlerror return values.
8267 (DLSYM_OPT): Ditto.
8268
8269 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8270
8271 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8272
8273 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8274 Cesar Philippidis <cesar@codesourcery.com>
8275
8276 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8277 GOACC_ctaid, and GOACC_nctaid routines.
8278
8279 2015-02-11 Jakub Jelinek <jakub@redhat.com>
8280
8281 PR c/64824
8282 * testsuite/libgomp.c/atomic-18.c: New test.
8283 * testsuite/libgomp.c++/atomic-16.C: New test.
8284
8285 2015-02-04 Jakub Jelinek <jakub@redhat.com>
8286
8287 PR c/64824
8288 PR c/64868
8289 * testsuite/libgomp.c/pr64824.c: New test.
8290 * testsuite/libgomp.c/pr64868.c: New test.
8291 * testsuite/libgomp.c++/pr64824.C: New test.
8292 * testsuite/libgomp.c++/pr64868.C: New test.
8293
8294 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
8295
8296 PR libgomp/64635
8297 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8298 Link with -lpthread.
8299 * config/aix/plugin-suffix.h: Delete.
8300
8301 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8302
8303 PR libgomp/64635
8304 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8305 (*-*-darwin*): Use config_path "bsd darwin posix".
8306 (*-*-hpux*): Use config_path "hpux posix".
8307 * target.c: Add include of plugin-suffix.h and use
8308 SONAME_SUFFIX macro.
8309 * config/aix/plugin-suffix.h: New file.
8310 * config/darwin/plugin-suffix.h: New file.
8311 * config/hpux/plugin-suffix.h: New file.
8312 * config/posix/plugin-suffix.h: New file.
8313
8314 2015-01-23 Jakub Jelinek <jakub@redhat.com>
8315
8316 PR middle-end/64734
8317 * libgomp.c/pr64734.c: New test.
8318
8319 2015-01-23 Tom de Vries <tom@codesourcery.com>
8320
8321 PR libgomp/64672
8322 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8323
8324 2015-01-23 Tom de Vries <tom@codesourcery.com>
8325
8326 PR libgomp/64707
8327 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8328 dg-options.
8329
8330 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8331
8332 PR libgomp/64625
8333 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8334 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8335 formal parameter. Update all users.
8336 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8337 Document unused formal parameter.
8338
8339 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8340
8341 * oacc-parallel.c: Don't include <alloca.h>.
8342 (GOACC_parallel): Use gomp_alloca instead of alloca.
8343
8344 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8345
8346 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8347
8348 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8349 James Norris <jnorris@codesourcery.com>
8350 Tom de Vries <tom@codesourcery.com>
8351 Julian Brown <julian@codesourcery.com>
8352 Cesar Philippidis <cesar@codesourcery.com>
8353 Nathan Sidwell <nathan@codesourcery.com>
8354 Tobias Burnus <burnus@net-b.de>
8355
8356 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8357 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8358 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8359 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8360 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8361 Include $(top_srcdir)/plugin/Makefrag.am.
8362 (nodist_libsubinclude_HEADERS): Add openacc.h.
8363 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8364 openacc.f90, openacc.mod, openacc_kinds.mod.
8365 (omp_lib.mod): Generalize into...
8366 (%.mod): ... this new rule.
8367 (openacc_kinds.mod, openacc.mod): New rules.
8368 * plugin/configfrag.ac: New file.
8369 * configure.ac: Move plugin/offloading support into it. Include
8370 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8371 * plugin/Makefrag.am: New file.
8372 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8373 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8374 export.
8375 (libgomp-test-support.exp): New rule.
8376 (all-local): Depend on it.
8377 * Makefile.in: Regenerate.
8378 * testsuite/Makefile.in: Regenerate.
8379 * config.h.in: Likewise.
8380 * configure: Likewise.
8381 * configure.tgt: Harden shell syntax.
8382 * env.c: Include "oacc-int.h".
8383 (parse_acc_device_type): New function.
8384 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8385 variables.
8386 (initialize_env): Initialize those. Call
8387 goacc_runtime_initialize.
8388 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8389 (gomp_fatal): Call gomp_vfatal.
8390 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8391 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8392 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8393 (splay_tree_node, splay_tree, splay_tree_key)
8394 (struct target_mem_desc, struct splay_tree_key_s)
8395 (struct gomp_memory_mapping, struct acc_dispatch_t)
8396 (struct gomp_device_descr, gomp_acc_insert_pointer)
8397 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8398 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8399 (gomp_free_memmap, gomp_fini_device): New declarations.
8400 (gomp_vdebug, gomp_debug): New macros.
8401 Include "splay-tree.h".
8402 * libgomp.map (OACC_2.0): New symbol version. Use for
8403 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8404 acc_set_device_type_h_, acc_get_device_type,
8405 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8406 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8407 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8408 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8409 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8410 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8411 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8412 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8413 acc_copyin_array_h_, acc_present_or_copyin,
8414 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8415 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8416 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8417 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8418 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8419 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8420 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8421 acc_update_device, acc_update_device_32_h_,
8422 acc_update_device_64_h_, acc_update_device_array_h_,
8423 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8424 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8425 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8426 acc_is_present_64_h_, acc_is_present_array_h_,
8427 acc_memcpy_to_device, acc_memcpy_from_device,
8428 acc_get_current_cuda_device, acc_get_current_cuda_context,
8429 acc_get_cuda_stream, acc_set_cuda_stream.
8430 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8431 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8432 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8433 GOACC_get_num_threads.
8434 (GOMP_PLUGIN_1.0): New symbol version. Use for
8435 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8436 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8437 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8438 GOMP_PLUGIN_acc_thread.
8439 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8440 environment variable.
8441 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8442 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8443 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8444 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8445 (splay_tree_remove): New declarations.
8446 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8447 (splay_tree_remove, splay_tree_lookup): Move into...
8448 * splay-tree.c: ... this new file.
8449 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8450 (splay_tree_node, splay_tree, splay_tree_key)
8451 (struct target_mem_desc, struct splay_tree_key_s)
8452 (struct gomp_device_descr): Don't declare.
8453 (num_devices_openmp): New variable.
8454 (gomp_get_num_devices ): Use it.
8455 (gomp_init_targets_once): New function.
8456 (gomp_get_num_devices ): Use it.
8457 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8458 (gomp_fini_device, gomp_register_image_for_device): New functions.
8459 (gomp_map_vars): Add devaddrs parameter.
8460 (gomp_update): Add mm parameter.
8461 (gomp_init_device): Move most of it into...
8462 (gomp_init_tables): ... this new function.
8463 (gomp_register_images_for_device): Remove function.
8464 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8465 Make them hidden instead of static.
8466 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8467 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8468 (GOMP_target_end_data, GOMP_target_update)
8469 (gomp_load_plugin_for_device, gomp_target_init): Update for
8470 OpenACC changes.
8471 * oacc-async.c: New file.
8472 * oacc-cuda.c: Likewise.
8473 * oacc-host.c: Likewise.
8474 * oacc-init.c: Likewise.
8475 * oacc-int.h: Likewise.
8476 * oacc-mem.c: Likewise.
8477 * oacc-parallel.c: Likewise.
8478 * oacc-plugin.c: Likewise.
8479 * oacc-plugin.h: Likewise.
8480 * oacc-ptx.h: Likewise.
8481 * openacc.f90: Likewise.
8482 * openacc.h: Likewise.
8483 * openacc_lib.h: Likewise.
8484 * plugin/plugin-host.c: Likewise.
8485 * plugin/plugin-nvptx.c: Likewise.
8486 * libgomp-plugin.c: Likewise.
8487 * libgomp-plugin.h: Likewise.
8488 * libgomp_target.h: Remove file after merging content into the
8489 former file. Update all users.
8490 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8491 (offload_targets_s, offload_targets_s_openacc): New variables.
8492 (check_effective_target_openacc_nvidia_accel_present)
8493 (check_effective_target_openacc_nvidia_accel_selected): New
8494 procedures.
8495 (libgomp_init): Update for OpenACC changes.
8496 * testsuite/libgomp-test-support.exp.in: New file.
8497 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8498 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8499 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8500 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8501 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8502 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8503 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8504 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8505 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8506 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8507 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8508 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8509 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8510 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8511 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8512 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8513 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8514 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8515 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8516 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8517 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8518 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8519 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8520 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8521 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8522 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8523 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8524 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8525 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8526 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8527 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8528 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8529 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8530 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8531 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8532 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8533 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8534 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8535 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8536 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8537 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8538 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8539 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8540 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8541 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8542 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8543 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8544 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8545 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8546 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8547 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8548 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8549 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8550 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8551 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8552 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8553 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8554 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8555 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8556 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8557 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8558 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8559 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8560 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8561 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8562 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8563 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8564 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8565 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8566 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8567 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8568 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8569 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8570 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8571 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8572 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8573 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8574 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8575 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8576 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8577 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8578 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8579 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8580 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8581 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8582 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8584 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8585 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8586 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8587 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8588 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8589 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8590 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8591 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8592 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8593 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8594 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8595 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8596 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8597 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8598 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8599 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8600 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8601 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8602 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8603 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8604 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8605 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8606 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8607 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8608 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8609 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8610 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8611 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8612 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8613 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8614 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8615 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8616 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8617 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8618 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8619 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8620 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8621 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8622 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8623 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8624 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8625 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8626 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8627 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8628 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8629 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8630 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8631 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8632 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8633 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8634 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8635 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8636 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8637 Likewise.
8638 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8639 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8640 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8641 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8642 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8643 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8644 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8645 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8646 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8647 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8648 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8649 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8650 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8651 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8652 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8653 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8654 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8655 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8656 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8657 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8658 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8659 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8660 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8661 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8662 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8663 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8664 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8665 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8666 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8667 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8668 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8669 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8670 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8671 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8672 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8673 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8674 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8675 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8676 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8677 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8678 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8679 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8680 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8681 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8682 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8683 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8684 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8685 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8686 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8687 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8688 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8689 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8690 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8691 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8692 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8693 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8694 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8695 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8696 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8697 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8698
8699 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8700 Julian Brown <julian@codesourcery.com>
8701 David Malcolm <dmalcolm@redhat.com>
8702
8703 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8704 to "GNU Offloading and Multi Processing Runtime Library". Change
8705 all users.
8706 * configure: Regenerate.
8707 * libgomp.texi: Update.
8708
8709 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8710
8711 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8712 "$tgt_dir/lib32".
8713 * configure: Regenerate.
8714
8715 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8716 "intelmic" in $offload_targets.
8717
8718 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8719
8720 Update copyright years.
8721
8722 * libgomp.texi: Bump @copying's copyright year.
8723
8724 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8725
8726 * testsuite/lib/libgomp.exp: Load target-utils.exp.
8727 Move load of target-supports.exp earlier.
8728
8729 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8730
8731 * testsuite/libgomp.c/target-9.c: New test.
8732
8733 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8734
8735 * config.h.in: Regenerate.
8736 * configure: Regenerate.
8737 * configure.ac: Add GCC_CHECK_EMUTLS.
8738 * libgomp.h: Add check for USE_EMUTLS: this case
8739 is equal to HAVE_TLS.
8740 * team.c: Likewise.
8741
8742 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
8743
8744 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8745
8746 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8747 Ilya Verbin <ilya.verbin@intel.com>
8748
8749 * testsuite/libgomp.c/target-critical-1.c: New test.
8750
8751 2014-11-26 Jakub Jelinek <jakub@redhat.com>
8752
8753 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
8754 to dg-options unless expensive testing is on.
8755 (TESTITERS): Define to N if not defined.
8756 (main): Use TESTITERS instead of N.
8757 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8758 dg-additional-options depending on whether expensive testing is on.
8759 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8760 Decrease N to 100000 and CHUNKSZ to 10000.
8761
8762 2014-11-24 Jakub Jelinek <jakub@redhat.com>
8763
8764 PR fortran/63938
8765 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8766 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
8767
8768 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
8769
8770 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8771
8772 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8773
8774 PR bootstrap/63784
8775 * configure: Regenerated.
8776
8777 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
8778
8779 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8780 vect_simd_clones effective target.
8781 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8782
8783 2014-11-14 Jakub Jelinek <jakub@redhat.com>
8784
8785 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8786 of 32 as block_size.
8787 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8788 instead of 32 as block_size.
8789
8790 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8791 Ilya Verbin <ilya.verbin@intel.com>
8792
8793 * Makefile.in: Regenerate.
8794 * configure: Regenerate.
8795 * configure.ac: Set up offload_additional_options,
8796 offload_additional_lib_paths and offload_targets.
8797 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8798 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8799 * testsuite/Makefile.in: Regenerate.
8800 * testsuite/lib/libgomp.exp (libgomp_init): Append
8801 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8802 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8803 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8804
8805 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8806 Ilya Verbin <ilya.verbin@intel.com>
8807 Kirill Yukhin <kirill.yukhin@intel.com>
8808 Ilya Tocar <ilya.tocar@intel.com>
8809
8810 * testsuite/lib/libgomp.exp
8811 (check_effective_target_offload_device): New.
8812 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8813 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8814 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8815 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8816 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8817 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8818 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8819 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8820 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8821 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8822 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8823 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8824 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8825 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8826 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8827 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8828 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8829 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8830 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8831 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8832 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8833 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8834 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8835 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8836 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8837 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8838 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8839 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8840 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8841 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8842 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8843 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8844 * testsuite/libgomp.c/target-7.c: Fix test.
8845 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8846 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8847 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8848 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8849 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8850 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8851 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8852 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8853 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8854 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8855 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8856 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8857 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8858 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8859 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8860 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8861 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8862 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8863 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8864 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8865 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8866 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8867 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8868 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8869 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8870 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8871 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8872 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8873 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8874 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8875 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8876
8877 2014-11-13 Jakub Jelinek <jakub@redhat.com>
8878 Ilya Verbin <ilya.verbin@intel.com>
8879 Thomas Schwinge <thomas@codesourcery.com>
8880 Andrey Turetskiy <andrey.turetskiy@intel.com>
8881
8882 * libgomp.map (GOMP_4.0.1): New symbol version.
8883 Add GOMP_offload_register.
8884 * libgomp_target.h: New file.
8885 * splay-tree.h: New file.
8886 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8887 (gomp_target_init): New forward declaration.
8888 (gomp_is_initialized): New static variable.
8889 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8890 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8891 New structures.
8892 (offload_images, num_offload_images, devices, num_devices): New static
8893 variables.
8894 (splay_compare): New static function.
8895 (struct gomp_device_descr): New structure.
8896 (gomp_get_num_devices): Call gomp_target_init.
8897 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8898 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8899 (GOMP_offload_register): New function.
8900 (GOMP_target): Arrange for host callback to be performed in a separate
8901 initial thread and contention group, inheriting ICVs from
8902 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8903 Add device initialization and lookup for target function in splay tree.
8904 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8905 (GOMP_target_end_data): Call gomp_unmap_vars.
8906 (GOMP_target_update): Add device initialization and call gomp_update.
8907 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8908 (gomp_target_init): New static functions.
8909
8910 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8911 Thomas Schwinge <thomas@codesourcery.com>
8912 Ilya Verbin <ilya.verbin@intel.com>
8913 Andrey Turetskiy <andrey.turetskiy@intel.com>
8914
8915 * config.h.in: Regenerate.
8916 * configure: Regenerate.
8917 * configure.ac: Check for libdl, required for plugin support.
8918 (PLUGIN_SUPPORT): Define if plugins are supported.
8919 (enable_offload_targets): Support Intel MIC targets.
8920 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8921
8922 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8923
8924 PR target/63610
8925 * configure: Regenerate.
8926
8927 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8928
8929 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8930
8931 2014-10-06 Marek Polacek <polacek@redhat.com>
8932
8933 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8934 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8935 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8936 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8937
8938 2014-10-06 Marek Polacek <polacek@redhat.com>
8939
8940 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8941 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8942 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8943 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8944 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8945 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8946 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8947 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8948 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8949 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8950 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8951 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8952 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8953 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8954 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8955 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8956 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8957 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8958 declarations.
8959
8960 2014-10-03 Jakub Jelinek <jakub@redhat.com>
8961
8962 PR libgomp/61200
8963 * testsuite/libgomp.c/pr61200.c: New test.
8964
8965 2014-09-18 Jakub Jelinek <jakub@redhat.com>
8966
8967 PR c++/63248
8968 * testsuite/libgomp.c++/pr63248.C: New test.
8969
8970 2014-08-04 Jakub Jelinek <jakub@redhat.com>
8971
8972 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8973 is not zero, but taskgroup->children is NULL and there are
8974 any task->children, schedule those instead of waiting.
8975 * testsuite/libgomp.c/depend-6.c: New test.
8976 * testsuite/libgomp.c/depend-7.c: New test.
8977 * testsuite/libgomp.c/depend-8.c: New test.
8978 * testsuite/libgomp.c/depend-9.c: New test.
8979 * testsuite/libgomp.c/depend-10.c: New test.
8980
8981 2014-08-01 Jakub Jelinek <jakub@redhat.com>
8982
8983 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8984 (struct gomp_taskwait): New type.
8985 (struct gomp_task): Add taskwait and parent_depends_on, remove
8986 in_taskwait and taskwait_sem fields.
8987 (gomp_finish_task): Don't destroy taskwait_sem.
8988 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8989 taskwait and parent_depends_on.
8990 (GOMP_task): For if (0) tasks with depend clause that depend on
8991 earlier tasks don't defer them, instead call
8992 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8993 Initialize redundant_out field, for redundant out entries just
8994 move them at the end of linked list instead of removing them
8995 completely, and set redundant_out flag instead of redundant.
8996 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8997 that task.
8998 (gomp_task_run_post_handle_dependers): If parent is in
8999 gomp_task_maybe_wait_for_dependencies and newly runnable task
9000 is not parent_depends_on, queue it in parent->children linked
9001 list after all runnable tasks with parent_depends_on set.
9002 Adjust for addition of taskwait indirection.
9003 (gomp_task_run_post_remove_parent): If parent is in
9004 gomp_task_maybe_wait_for_dependencies and task to be removed
9005 is parent_depends_on, decrement n_depend and if needed awake
9006 parent. Adjust for addition of taskwait indirection.
9007 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9008 (gomp_task_maybe_wait_for_dependencies): New function.
9009 * testsuite/libgomp.c/depend-5.c: New test.
9010
9011 2014-07-13 Tobias Burnus <burnus@net-b.de>
9012
9013 * testsuite/libgomp.fortran/pr34020.f90: Make compile
9014 with TS 18508/Fortran 2015.
9015
9016 2014-07-06 Marek Polacek <polacek@redhat.com>
9017
9018 PR c/6940
9019 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9020
9021 2014-07-03 Jakub Jelinek <jakub@redhat.com>
9022
9023 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9024 matches regex $lang_source_re, add $lang_include_flags to options.
9025 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9026 * testsuite/libgomp.c++/c++.exp: Likewise.
9027 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9028 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9029 ALWAYS_CFLAGS.
9030 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9031
9032 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9033
9034 * testsuite/libgomp.fortran/fortran.exp: Explain
9035 gfortran-dg-runtest usage.
9036
9037 2014-06-25 Jakub Jelinek <jakub@redhat.com>
9038
9039 * testsuite/libgomp.fortran/simd5.f90: New test.
9040 * testsuite/libgomp.fortran/simd6.f90: New test.
9041 * testsuite/libgomp.fortran/simd7.f90: New test.
9042
9043 2014-06-24 Jakub Jelinek <jakub@redhat.com>
9044
9045 * testsuite/libgomp.c/for-2.c: Define SC to static for
9046 #pragma omp for simd testing.
9047 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9048 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9049 SC macro.
9050 * testsuite/libgomp.c/simd-14.c: New test.
9051 * testsuite/libgomp.c/simd-15.c: New test.
9052 * testsuite/libgomp.c/simd-16.c: New test.
9053 * testsuite/libgomp.c/simd-17.c: New test.
9054 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9055 #pragma omp for simd testing.
9056 * testsuite/libgomp.c++/simd10.C: New test.
9057 * testsuite/libgomp.c++/simd11.C: New test.
9058 * testsuite/libgomp.c++/simd12.C: New test.
9059 * testsuite/libgomp.c++/simd13.C: New test.
9060
9061 * testsuite/libgomp.fortran/aligned1.f03: New test.
9062 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9063 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9064 tasks with !$omp parallel !$omp single.
9065 * testsuite/libgomp.fortran/target8.f90: New test.
9066 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9067 not to use trim in the combiner, instead call elemental function.
9068 (fn): New elemental function.
9069 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9070 Make elemental.
9071 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9072 omp_in): Likewise.
9073 * testsuite/libgomp.fortran/udr12.f90: New test.
9074 * testsuite/libgomp.fortran/udr13.f90: New test.
9075 * testsuite/libgomp.fortran/udr14.f90: New test.
9076 * testsuite/libgomp.fortran/udr15.f90: New test.
9077
9078 2014-06-18 Jakub Jelinek <jakub@redhat.com>
9079
9080 * omp_lib.f90.in (openmp_version): Set to 201307.
9081 * omp_lib.h.in (openmp_version): Likewise.
9082 * testsuite/libgomp.c/target-8.c: New test.
9083 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9084 and inbranch clauses.
9085 * testsuite/libgomp.fortran/depend-3.f90: New test.
9086 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9087 openmp_version.
9088 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9089 * testsuite/libgomp.fortran/target1.f90: New test.
9090 * testsuite/libgomp.fortran/target2.f90: New test.
9091 * testsuite/libgomp.fortran/target3.f90: New test.
9092 * testsuite/libgomp.fortran/target4.f90: New test.
9093 * testsuite/libgomp.fortran/target5.f90: New test.
9094 * testsuite/libgomp.fortran/target6.f90: New test.
9095 * testsuite/libgomp.fortran/target7.f90: New test.
9096
9097 2014-06-10 Jakub Jelinek <jakub@redhat.com>
9098
9099 PR fortran/60928
9100 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9101 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9102 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9103 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9104 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9105 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9106 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9107 * testsuite/libgomp.fortran/associate1.f90: New test.
9108 * testsuite/libgomp.fortran/associate2.f90: New test.
9109 * testsuite/libgomp.fortran/procptr1.f90: New test.
9110
9111 2014-06-06 Jakub Jelinek <jakub@redhat.com>
9112
9113 * testsuite/libgomp.fortran/simd1.f90: New test.
9114 * testsuite/libgomp.fortran/udr1.f90: New test.
9115 * testsuite/libgomp.fortran/udr2.f90: New test.
9116 * testsuite/libgomp.fortran/udr3.f90: New test.
9117 * testsuite/libgomp.fortran/udr4.f90: New test.
9118 * testsuite/libgomp.fortran/udr5.f90: New test.
9119 * testsuite/libgomp.fortran/udr6.f90: New test.
9120 * testsuite/libgomp.fortran/udr7.f90: New test.
9121 * testsuite/libgomp.fortran/udr8.f90: New test.
9122 * testsuite/libgomp.fortran/udr9.f90: New test.
9123 * testsuite/libgomp.fortran/udr10.f90: New test.
9124 * testsuite/libgomp.fortran/udr11.f90: New test.
9125
9126 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
9127
9128 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9129 vect_simd_clones effective target.
9130 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9131
9132 2014-05-21 Jakub Jelinek <jakub@redhat.com>
9133
9134 PR middle-end/61252
9135 * testsuite/libgomp.c++/simd-9.C: New test.
9136
9137 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
9138
9139 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9140 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9141 texts according to their @menu entry positions.
9142
9143 2014-05-11 Jakub Jelinek <jakub@redhat.com>
9144
9145 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9146 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9147 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9148 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9149 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9150 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9151 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9152 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9153 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9154 * testsuite/libgomp.fortran/depend-1.f90: New test.
9155 * testsuite/libgomp.fortran/depend-2.f90: New test.
9156 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9157 * testsuite/libgomp.fortran/simd1.f90: New test.
9158 * testsuite/libgomp.fortran/simd2.f90: New test.
9159 * testsuite/libgomp.fortran/simd3.f90: New test.
9160 * testsuite/libgomp.fortran/simd4.f90: New test.
9161 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9162
9163 2014-05-02 Jakub Jelinek <jakub@redhat.com>
9164
9165 * testsuite/libgomp.c/simd-10.c: New test.
9166 * testsuite/libgomp.c/simd-11.c: New test.
9167 * testsuite/libgomp.c/simd-12.c: New test.
9168 * testsuite/libgomp.c/simd-13.c: New test.
9169
9170 2014-04-24 Jakub Jelinek <jakub@redhat.com>
9171
9172 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9173 atomic type clauses in any order and optional comma in between.
9174 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9175 * testsuite/libgomp.c/atomic-17.c: Likewise.
9176
9177 * testsuite/libgomp.c/simd-7.c: New test.
9178 * testsuite/libgomp.c/simd-8.c: New test.
9179 * testsuite/libgomp.c/simd-9.c: New test.
9180 * testsuite/libgomp.c/loop-16.c: New test.
9181
9182 2014-04-02 Richard Henderson <rth@redhat.com>
9183
9184 * config/linux/futex.h (futex_wait): Get error value from errno.
9185 (futex_wake): Likewise.
9186
9187 2014-03-25 Jakub Jelinek <jakub@redhat.com>
9188
9189 PR c++/60331
9190 * testsuite/libgomp.c++/udr-11.C: New test.
9191 * testsuite/libgomp.c++/udr-12.C: New test.
9192 * testsuite/libgomp.c++/udr-13.C: New test.
9193 * testsuite/libgomp.c++/udr-14.C: New test.
9194 * testsuite/libgomp.c++/udr-15.C: New test.
9195 * testsuite/libgomp.c++/udr-16.C: New test.
9196 * testsuite/libgomp.c++/udr-17.C: New test.
9197 * testsuite/libgomp.c++/udr-18.C: New test.
9198 * testsuite/libgomp.c++/udr-19.C: New test.
9199
9200 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9201
9202 Update copyright years
9203
9204 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9205
9206 * hashtab.h: Use the standard form for the copyright notice.
9207
9208 2014-01-02 Tobias Burnus <burnus@net-b.de>
9209
9210 * libgomp.texi: Bump @copying's copyright year.
9211
9212 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9213
9214 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9215 alloca () with __builtin_alloca ().
9216 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9217 * testsuite/libgomp.c/lock-3.c: Likewise.
9218 * testsuite/libgomp.c/pr48591.c: Likewise.
9219
9220 2013-12-17 Jakub Jelinek <jakub@redhat.com>
9221
9222 PR testsuite/59534
9223 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9224 comparisons.
9225
9226 2013-12-16 Jakub Jelinek <jakub@redhat.com>
9227
9228 PR libgomp/58756
9229 * testsuite/libgomp.c/pr58756.c: New test.
9230
9231 2013-12-12 Jakub Jelinek <jakub@redhat.com>
9232
9233 PR libgomp/59467
9234 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9235 !$omp parallel.
9236
9237 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9238
9239 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9240 ALWAYS_CFLAGS.
9241 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9242 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9243 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9244 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9245 Likewise.
9246
9247 * libgomp_g.h: Include <stddef.h> for size_t.
9248
9249 * libgomp.spec.in: Update comment about libgomp's dependencies.
9250 * configure.ac: Likewise.
9251 * configure: Regenerate.
9252
9253 2013-10-16 Tobias Burnus <burnus@net-b.de>
9254
9255 * libgomp.texi: (Runtime Library Routines): Update references for
9256 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9257 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9258 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9259 (Environment Variables): Update references for OpenMP 4.0. Add
9260 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9261 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9262 order.
9263
9264 2013-10-14 Jakub Jelinek <jakub@redhat.com>
9265
9266 * env.c (parse_bind_var): Initialize value to avoid
9267 (false positive) warning.
9268
9269 2013-10-12 Jakub Jelinek <jakub@redhat.com>
9270
9271 PR libgomp/58691
9272 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9273 to check variable.
9274 (gomp_init_num_threads): Move i variable declaration into
9275 #ifdef CPU_ALLOC_SIZE block.
9276 * config/linux/affinity.c (gomp_affinity_init_level): Test
9277 gomp_places_list_len == 0 rather than gomp_places_list == 0
9278 when checking for topology reading error.
9279 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9280 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9281 gomp_places_list, only parse env var and always return false.
9282 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9283 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9284 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9285 and either of these variables were parsed correctly into a places
9286 list.
9287
9288 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9289 Jakub Jelinek <jakub@redhat.com>
9290
9291 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9292 of 5 loopfn matches.
9293 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9294 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9295 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9296 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9297 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9298 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9299 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9300 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9301
9302 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9303
9304 * Makefile.am (omp_lib.mod): Streamline rule.
9305 * Makefile.in: Regenerate.
9306
9307 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9308 exceptions.
9309
9310 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9311 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9312 * testsuite/libgomp.fortran/lib2.f: Likewise.
9313 * testsuite/libgomp.fortran/lib3.f: Likewise.
9314
9315 * configure.ac: Typo fix.
9316 * configure: Regenerate.
9317
9318 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9319 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9320
9321 * omp.h.in: Don't touch the user's namespace.
9322
9323 2013-10-11 Jakub Jelinek <jakub@redhat.com>
9324 Tobias Burnus <burnus@net-b.de>
9325 Richard Henderson <rth@redhat.com>
9326
9327 * target.c: New file.
9328 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9329 * Makefile.in: Regenerated.
9330 * libgomp_g.h (GOMP_task): Add depend argument.
9331 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9332 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9333 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9334 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9335 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9336 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9337 GOMP_taskgroup_start, GOMP_taskgroup_end,
9338 GOMP_parallel_sections): New prototypes.
9339 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9340 (omp_is_initial_device_): New function.
9341 (ULP, STR1, STR2, ialias_redirect): Removed.
9342 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9343 omp_set_default_device_8_, omp_get_default_device_,
9344 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9345 functions.
9346 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9347 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9348 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9349 @@GOMP_4.0.
9350 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9351 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9352 omp_set_default_device, omp_set_default_device_,
9353 omp_set_default_device_8_, omp_get_default_device,
9354 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9355 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9356 omp_get_team_num_): Export @@OMP_4.0.
9357 * team.c (struct gomp_thread_start_data): Add place field.
9358 (gomp_thread_start): Clear thr->thread_pool and
9359 thr->task before returning. Use gomp_team_barrier_wait_final
9360 instead of gomp_team_barrier_wait. Initialize thr->place.
9361 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9362 team_cancelled and task_queued_count fields.
9363 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9364 before calling pthread_exit.
9365 (gomp_free_thread): No longer static. Use
9366 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9367 (gomp_team_start): Add flags argument. Set
9368 thr->thread_pool->threads_busy to nthreads immediately after creating
9369 new pool. Use gomp_managed_threads_lock instead of
9370 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9371 (gomp_team_end): Use gomp_managed_threads_lock instead of
9372 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9373 of gomp_team_barrier_wait. If team->team_cancelled, call
9374 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
9375 rather than thr->ts.work_share.
9376 (initialize_team): Don't call gomp_sem_init here.
9377 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9378 caller.
9379 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9380 * env.c (gomp_global_icv): Add default_device_var, target_data and
9381 bind_var initializers.
9382 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9383 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9384 gomp_places_list_len): New variables.
9385 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9386 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9387 sized places.
9388 (gomp_cancel_var): New global variable.
9389 (parse_int): New function.
9390 (handle_omp_display_env): New function.
9391 (initialize_env): Use it. Initialize default_device_var.
9392 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9393 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9394 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9395 been successfully parsed (and call gomp_init_affinity in that case).
9396 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9397 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9398 omp_get_team_num, omp_is_initial_device): New functions.
9399 * libgomp.h: Include stdlib.h.
9400 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9401 Define.
9402 (struct target_mem_desc): Forward declare.
9403 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9404 and thread_limit_var fields.
9405 (gomp_get_num_devices): New prototype.
9406 (gomp_cancel_var): New extern decl.
9407 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9408 team_cancelled and task_queued_count fields. Add comments about
9409 task_{,queued_,running_}count.
9410 (gomp_cancel_kind): New enum.
9411 (gomp_work_share_end_cancel): New prototype.
9412 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9413 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9414 and depend fields.
9415 (struct gomp_taskgroup): New type.
9416 (struct gomp_task_depend_entry,
9417 struct gomp_dependers_vec): New types.
9418 (gomp_finish_task): Free depend_hash if non-NULL.
9419 (struct gomp_team_state): Add place_partition_off
9420 and place_partition_len fields.
9421 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9422 gomp_places_list_len): New extern decls.
9423 (struct gomp_thread): Add place field.
9424 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9425 (gomp_init_thread_affinity): Add place argument.
9426 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9427 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9428 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9429 gomp_affinity_init_level, gomp_affinity_print_place): New
9430 prototypes.
9431 (gomp_team_start): Add flags argument.
9432 (gomp_thread_limit_var, gomp_remaining_threads_count,
9433 gomp_remaining_threads_lock): Remove.
9434 (gomp_managed_threads_lock): New variable.
9435 (struct gomp_thread_pool): Add threads_busy field.
9436 (gomp_free_thread): New prototype.
9437 * task.c: Include hashtab.h.
9438 (hash_entry_type): New typedef.
9439 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9440 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9441 copy_ctors_done and taskgroup fields.
9442 (GOMP_task): Add depend argument, handle depend clauses. If
9443 gomp_team_barrier_cancelled or if it's taskgroup has been
9444 cancelled, don't queue or start new tasks. Set copy_ctors_done
9445 field if needed. Initialize taskgroup field. If copy_ctors_done
9446 and already cancelled, don't discard the task. If taskgroup is
9447 non-NULL, enqueue the task into taskgroup queue. Increment
9448 num_children field in taskgroup. Increment task_queued_count.
9449 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9450 gomp_task_run_post_remove_taskgroup): New inline functions.
9451 (gomp_task_run_post_handle_depend_hash,
9452 gomp_task_run_post_handle_dependers,
9453 gomp_task_run_post_handle_depend): New functions.
9454 (GOMP_taskwait): Use them. If more than one new tasks
9455 have been queued, wake other threads if needed.
9456 (gomp_barrier_handle_tasks): Likewise. If
9457 gomp_team_barrier_cancelled, don't start any new tasks, just free
9458 all tasks.
9459 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9460 * omp_lib.f90.in
9461 (omp_proc_bind_kind, omp_proc_bind_false,
9462 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9463 omp_proc_bind_spread): New params.
9464 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9465 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9466 omp_get_team_num, omp_is_initial_device): New interfaces.
9467 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9468 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9469 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9470 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9471 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9472 useless use omp_lib_kinds.
9473 * omp.h.in (omp_proc_bind_t): New typedef.
9474 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9475 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9476 omp_get_team_num, omp_is_initial_device): New prototypes.
9477 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9478 through to gomp_team_start.
9479 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9480 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9481 Adjust gomp_parallel_loop_start callers.
9482 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9483 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9484 GOMP_loop_end_cancel): New functions.
9485 (GOMP_parallel_end): Add ialias_redirect.
9486 * hashtab.h: New file.
9487 * libgomp.texi (Environment Variables): Minor cleanup,
9488 update section refs to OpenMP 4.0rc2.
9489 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9490 environment variables.
9491 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9492 team->work_shares_to_free to thr->ts.work_share before calling
9493 free_work_share.
9494 (gomp_work_share_end_cancel): New function.
9495 * config/linux/proc.c: Include errno.h.
9496 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9497 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9498 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9499 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9500 gomp_cpuset_size is sizeof (cpu_set_t).
9501 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9502 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9503 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9504 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9505 contain any logical CPUs.
9506 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9507 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9508 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9509 pthread_getaffinity_np. Check gomp_places_list instead of
9510 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9511 * config/linux/bar.c (gomp_barrier_wait_end,
9512 gomp_barrier_wait_last): Use BAR_* defines.
9513 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9514 from state where needed. Set work_share_cancelled to 0 on last
9515 thread.
9516 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9517 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9518 functions.
9519 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9520 Add cpusetsize argument.
9521 (gomp_cpuset_size, gomp_cpusetp): Declare.
9522 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9523 (affinity_counter): Remove.
9524 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9525 if CPU_ALLOC_SIZE isn't defined.
9526 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9527 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9528 bind current thread to the first place.
9529 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9530 pthread_setaffinity_np to gomp_places_list[place].
9531 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9532 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9533 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9534 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9535 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9536 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9537 (gomp_barrier_t): Add awaited_final field.
9538 (gomp_barrier_init): Initialize awaited_final field.
9539 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9540 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9541 prototypes.
9542 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9543 defines.
9544 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9545 gomp_team_barrier_cancelled): New inline functions.
9546 (gomp_barrier_last_thread,
9547 gomp_team_barrier_set_task_pending,
9548 gomp_team_barrier_clear_task_pending,
9549 gomp_team_barrier_set_waiting_for_tasks,
9550 gomp_team_barrier_waiting_for_tasks,
9551 gomp_team_barrier_done): Use BAR_* defines.
9552 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9553 (gomp_barrier_wait_end): Use BAR_* defines.
9554 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9555 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9556 Use BAR_* defines.
9557 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9558 gomp_team_barrier_cancel): New functions.
9559 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9560 argument.
9561 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9562 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9563 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9564 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9565 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9566 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9567 (gomp_barrier_t): Add cancellable field.
9568 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9569 gomp_team_barrier_cancel): New prototypes.
9570 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9571 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9572 gomp_team_barrier_cancelled): New inline functions.
9573 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9574 gomp_team_barrier_set_task_pending,
9575 gomp_team_barrier_clear_task_pending,
9576 gomp_team_barrier_set_waiting_for_tasks,
9577 gomp_team_barrier_waiting_for_tasks,
9578 gomp_team_barrier_done): Use BAR_* defines.
9579 * barrier.c (GOMP_barrier_cancel): New function.
9580 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9581 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9582 omp_proc_bind_spread): New params.
9583 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9584 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9585 omp_get_team_num, omp_is_initial_device): New externals.
9586 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9587 New functions.
9588 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9589 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9590 infinity. If not nested, just return minimum of max_num_threads
9591 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9592 to the returned value. Otherwise, don't update atomically
9593 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9594 (GOMP_parallel_end): Adjust for thread_limit now being in
9595 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9596 infinity. Adjust threads_busy in the pool rather than
9597 gomp_remaining_threads_count. Remember team->nthreads and call
9598 gomp_team_end before adjusting threads_busy, if not nested
9599 afterwards, just set it to 1 non-atomically. Add ialias.
9600 (GOMP_parallel_start): Adjust gomp_team_start caller.
9601 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9602 * testsuite/libgomp.c/affinity-1.c: New test.
9603 * testsuite/libgomp.c/atomic-15.c: New test.
9604 * testsuite/libgomp.c/atomic-16.c: New test.
9605 * testsuite/libgomp.c/atomic-17.c: New test.
9606 * testsuite/libgomp.c/cancel-for-1.c: New test.
9607 * testsuite/libgomp.c/cancel-for-2.c: New test.
9608 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9609 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9610 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9611 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9612 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9613 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9614 * testsuite/libgomp.c/depend-1.c: New test.
9615 * testsuite/libgomp.c/depend-2.c: New test.
9616 * testsuite/libgomp.c/depend-3.c: New test.
9617 * testsuite/libgomp.c/depend-4.c: New test.
9618 * testsuite/libgomp.c/for-1.c: New test.
9619 * testsuite/libgomp.c/for-1.h: New file.
9620 * testsuite/libgomp.c/for-2.c: New test.
9621 * testsuite/libgomp.c/for-2.h: New file.
9622 * testsuite/libgomp.c/for-3.c: New test.
9623 * testsuite/libgomp.c/pr58392.c: New test.
9624 * testsuite/libgomp.c/simd-1.c: New test.
9625 * testsuite/libgomp.c/simd-2.c: New test.
9626 * testsuite/libgomp.c/simd-3.c: New test.
9627 * testsuite/libgomp.c/simd-4.c: New test.
9628 * testsuite/libgomp.c/simd-5.c: New test.
9629 * testsuite/libgomp.c/simd-6.c: New test.
9630 * testsuite/libgomp.c/target-1.c: New test.
9631 * testsuite/libgomp.c/target-2.c: New test.
9632 * testsuite/libgomp.c/target-3.c: New test.
9633 * testsuite/libgomp.c/target-4.c: New test.
9634 * testsuite/libgomp.c/target-5.c: New test.
9635 * testsuite/libgomp.c/target-6.c: New test.
9636 * testsuite/libgomp.c/target-7.c: New test.
9637 * testsuite/libgomp.c/taskgroup-1.c: New test.
9638 * testsuite/libgomp.c/thread-limit-1.c: New test.
9639 * testsuite/libgomp.c/thread-limit-2.c: New test.
9640 * testsuite/libgomp.c/thread-limit-3.c: New test.
9641 * testsuite/libgomp.c/udr-1.c: New test.
9642 * testsuite/libgomp.c/udr-2.c: New test.
9643 * testsuite/libgomp.c/udr-3.c: New test.
9644 * testsuite/libgomp.c++/affinity-1.C: New test.
9645 * testsuite/libgomp.c++/atomic-10.C: New test.
9646 * testsuite/libgomp.c++/atomic-11.C: New test.
9647 * testsuite/libgomp.c++/atomic-12.C: New test.
9648 * testsuite/libgomp.c++/atomic-13.C: New test.
9649 * testsuite/libgomp.c++/atomic-14.C: New test.
9650 * testsuite/libgomp.c++/atomic-15.C: New test.
9651 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9652 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9653 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9654 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9655 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9656 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9657 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9658 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9659 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9660 * testsuite/libgomp.c++/cancel-test.h: New file.
9661 * testsuite/libgomp.c++/for-9.C: New test.
9662 * testsuite/libgomp.c++/for-10.C: New test.
9663 * testsuite/libgomp.c++/for-11.C: New test.
9664 * testsuite/libgomp.c++/simd-1.C: New test.
9665 * testsuite/libgomp.c++/simd-2.C: New test.
9666 * testsuite/libgomp.c++/simd-3.C: New test.
9667 * testsuite/libgomp.c++/simd-4.C: New test.
9668 * testsuite/libgomp.c++/simd-5.C: New test.
9669 * testsuite/libgomp.c++/simd-6.C: New test.
9670 * testsuite/libgomp.c++/simd-7.C: New test.
9671 * testsuite/libgomp.c++/simd-8.C: New test.
9672 * testsuite/libgomp.c++/target-1.C: New test.
9673 * testsuite/libgomp.c++/target-2.C: New test.
9674 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9675 * testsuite/libgomp.c++/target-3.C: New test.
9676 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9677 * testsuite/libgomp.c++/udr-1.C: New test.
9678 * testsuite/libgomp.c++/udr-2.C: New test.
9679 * testsuite/libgomp.c++/udr-3.C: New test.
9680 * testsuite/libgomp.c++/udr-4.C: New test.
9681 * testsuite/libgomp.c++/udr-5.C: New test.
9682 * testsuite/libgomp.c++/udr-6.C: New test.
9683 * testsuite/libgomp.c++/udr-7.C: New test.
9684 * testsuite/libgomp.c++/udr-8.C: New test.
9685 * testsuite/libgomp.c++/udr-9.C: New test.
9686
9687 2013-09-20 Jakub Jelinek <jakub@redhat.com>
9688
9689 PR testsuite/57605
9690 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9691 ALWAYS_CFLAGS.
9692
9693 2013-09-20 Alan Modra <amodra@gmail.com>
9694
9695 * configure: Regenerate.
9696
9697 2013-09-19 Jakub Jelinek <jakub@redhat.com>
9698
9699 * testsuite/libgomp.c/sections-2.c: New test.
9700
9701 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9702
9703 * testsuite/libgomp.fortran/strassen.f90:
9704 Add dg-skip-if aarch64_tiny.
9705
9706 2013-06-20 Iain Sandoe <iain@codesourcery.com>
9707 Cesar Philippidis <cesar@codesourcery.com>
9708
9709 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9710 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9711 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9712 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9713 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9714 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9715 Use dg-runtest rather than gfortran-dg-runtest.
9716
9717 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9718
9719 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9720 Linux-based x86 systems to cover all GNU systems.
9721 * testsuite/libgomp.c/lock-3.c: Likewise.
9722 * testsuite/libgomp.c/pr48591.c: Likewise.
9723
9724 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9725
9726 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9727 GNU/Hurd, as done for Linux-based systems.
9728
9729 * config/posix/ptrlock.h: Fix comment.
9730
9731 2013-05-27 Tobias Burnus <burnus@net-b.de>
9732
9733 PR fortran/57423
9734 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9735 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9736 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9737 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9738 omp_destroy_nest_lock): Correct arguments to match the one in
9739 the OpenMP spec.
9740 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9741 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9742 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9743 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9744
9745 2013-05-16 Jakub Jelinek <jakub@redhat.com>
9746
9747 * testsuite/libgomp.c/loop-13.c: New test.
9748 * testsuite/libgomp.c/loop-14.c: New test.
9749 * testsuite/libgomp.c/loop-15.c: New test.
9750 * testsuite/libgomp.c++/loop-13.C: New test.
9751 * testsuite/libgomp.c++/loop-14.C: New test.
9752 * testsuite/libgomp.c++/loop-15.C: New test.
9753
9754 2013-02-06 Jakub Jelinek <jakub@redhat.com>
9755
9756 PR middle-end/56217
9757 * testsuite/libgomp.c++/pr56217.C: New test.
9758
9759 2013-02-01 Alan Modra <amodra@gmail.com>
9760
9761 * task.c (GOMP_task, GOMP_taskwait): Comment.
9762
9763 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9764 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9765
9766 PR libgomp/55561
9767 * config/linux/wait.h (do_spin): Use atomic load for addr.
9768 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9769 for intptr and ptrlock.
9770 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9771 for ptrlock.
9772
9773 2013-01-22 Alan Modra <amodra@gmail.com>
9774
9775 PR libgomp/51376
9776 PR libgomp/56073
9777 * task.c (GOMP_task): Revert 2011-12-09 change.
9778 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9779 barrier to read task->children..
9780 (gomp_barrier_handle_tasks): ..and matching atomic store with
9781 release barrier here when setting parent->children to NULL.
9782
9783 2013-01-16 Jakub Jelinek <jakub@redhat.com>
9784 Tobias Burnus <burnus@net-b.de>
9785
9786 PR driver/55884
9787 * testsuite/libgomp.fortran/fortran.exp: Use
9788 -fintrinsic-modules-path= instead of
9789 -fintrinsic-modules-path.
9790
9791 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9792
9793 Update copyright years.
9794
9795 2012-12-19 Tobias Burnus <burnus@net-b.de>
9796
9797 * testsuite/libgomp.fortran/fortran.exp: Set
9798 -fintrinsic-modules-path.
9799
9800 2012-12-19 Tobias Burnus <burnus@net-b.de>
9801
9802 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9803 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9804
9805 2012-11-21 Jakub Jelinek <jakub@redhat.com>
9806
9807 PR libgomp/55411
9808 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9809 if pool had any threads_used.
9810
9811 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9812
9813 * testsuite/libgomp.c++/pr24455.C: Use
9814 -Wl,-undefined,dynamic_lookup on darwin.
9815
9816 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
9817
9818 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9819
9820 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9821
9822 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9823
9824 2012-10-23 Ian Bolton <ian.bolton@arm.com>
9825 Jim MacArthur <jim.macarthur@arm.com>
9826 Marcus Shawcroft <marcus.shawcroft@arm.com>
9827 Nigel Stephens <nigel.stephens@arm.com>
9828 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9829 Richard Earnshaw <rearnsha@arm.com>
9830 Sofiane Naci <sofiane.naci@arm.com>
9831 Stephen Thomas <stephen.thomas@arm.com>
9832 Tejas Belagod <tejas.belagod@arm.com>
9833 Yufeng Zhang <yufeng.zhang@arm.com>
9834
9835 * configure.tgt: Add AArch64.
9836
9837 2012-10-04 Jason Merrill <jason@redhat.com>
9838
9839 * testsuite/libgomp.c++/tls-init1.C: New.
9840
9841 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
9842
9843 * configure: Regenerated.
9844
9845 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9846
9847 * config/linux/mips/futex.h (sys_futex0): Change to static
9848 function with noinline, nomips16 attributes under MIPS16. Adjust
9849 asm statement to place 'li v0,SYS_futex' immediately before
9850 syscall insn.
9851
9852 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9853
9854 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9855 conflict with index.html on case-insensitive file systems.
9856
9857 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
9858
9859 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9860 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9861
9862 2012-07-02 Richard Guenther <rguenther@suse.de>
9863 Michael Matz <matz@suse.de>
9864 Tobias Grosser <tobias@grosser.es>
9865 Sebastian Pop <sebpop@gmail.com>
9866
9867 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9868 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9869 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9870 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9871
9872 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9873
9874 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9875
9876 2012-06-22 Richard Guenther <rguenther@suse.de>
9877
9878 Merge from graphite branch
9879 2012-01-13 Tobias Grosser <tobias@grosser.es>
9880
9881 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9882 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9883
9884 2012-06-07 Jakub Jelinek <jakub@redhat.com>
9885
9886 PR middle-end/53580
9887 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9888 use GOMP_barrier () call instead.
9889 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9890 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9891 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9892 call GOMP_barrier instead.
9893 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9894
9895 2012-06-06 Jakub Jelinek <jakub@redhat.com>
9896
9897 PR libgomp/52993
9898 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9899 argument to memset call.
9900
9901 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9902
9903 * configure: Regenerated.
9904
9905 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9906
9907 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9908
9909 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9910
9911 PR bootstrap/52812
9912 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9913
9914 2012-03-22 Jakub Jelinek <jakub@redhat.com>
9915
9916 PR middle-end/52547
9917 * testsuite/libgomp.c/pr52547.c: New test.
9918
9919 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9920
9921 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9922
9923 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9924
9925 * configure.tgt (mips-sgi-irix6*): Remove.
9926
9927 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9928
9929 * configure.tgt (alpha*-dec-osf*): Remove.
9930
9931 * config/osf/sem.h: Remove.
9932 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9933
9934 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9935
9936 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9937
9938 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9939
9940 PR libstdc++/52188
9941 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9942 Remove ENABLE_SYMVERS_SOL2.
9943 * configure: Regenerate.
9944 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9945 (PREPROCESS): New variable.
9946 (libgomp.ver): New target.
9947 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9948 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9949 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9950 Use libgomp.ver.
9951 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9952 * Makefile.in: Regenerate.
9953
9954 2012-02-14 Walter Lee <walt@tilera.com>
9955
9956 * configure.tgt: Handle tilegx and tilepro.
9957 * config/linux/tile/futex.h: New file.
9958
9959 2012-02-08 Richard Guenther <rguenther@suse.de>
9960
9961 PR tree-optimization/46886
9962 * testsuite/libgomp.c/pr46886.c: New testcase.
9963
9964 2012-01-25 Matthias Klose <doko@ubuntu.com>
9965
9966 * config/linux/arm: Remove empty directory.
9967 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9968
9969 2011-12-09 Alan Modra <amodra@gmail.com>
9970
9971 PR libgomp/51376
9972 * task.c (GOMP_taskwait): Don't access task->children outside of
9973 task_lock mutex region.
9974 (GOMP_task): Likewise.
9975
9976 2011-12-06 Jakub Jelinek <jakub@redhat.com>
9977
9978 PR libgomp/51132
9979 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9980 to file scope.
9981 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9982 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9983 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9984 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9985 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9986
9987 2011-12-02 Alan Modra <amodra@gmail.com>
9988
9989 * config/linux/affinity.c: Use atomic rather than sync builtin.
9990 * config/linux/lock.c: Likewise.
9991 * config/linux/ptrlock.h: Likewise.
9992 * config/linux/ptrlock.c: Likewise.
9993 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9994 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9995 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9996 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9997 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9998 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9999 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10000 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10001 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10002 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10003
10004 2011-11-30 Alan Modra <amodra@gmail.com>
10005
10006 PR libgomp/51298
10007 * config/linux/bar.h: Use atomic rather than sync builtins.
10008 * config/linux/bar.c: Likewise. Add missing acquire
10009 synchronisation on generation field.
10010 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10011 double unlock.
10012
10013 2011-11-30 Alan Modra <amodra@gmail.com>
10014
10015 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10016 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10017 * config/linux/mutex.h: Use atomic rather than sync builtins.
10018 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10019 * config/linux/omp-lock.h: Comment fix.
10020 * config/linux/arm/mutex.h: Delete.
10021 * config/linux/powerpc/mutex.h: Delete.
10022 * config/linux/ia64/mutex.h: Delete.
10023 * config/linux/mips/mutex.h: Delete.
10024
10025 2011-11-30 Alan Modra <amodra@gmail.com>
10026
10027 PR libgomp/51249
10028 * config/linux/sem.h: Rewrite.
10029 * config/linux/sem.c: Rewrite.
10030
10031 2011-11-28 Richard Henderson <rth@redhat.com>
10032
10033 * libgomp.h (enum memmodel): New.
10034
10035 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
10036
10037 * configure: Regenerate.
10038
10039 2011-10-10 Matthias Klose <doko@ubuntu.com>
10040
10041 * config/posix95: Remove empty directory.
10042
10043 2011-08-26 Jakub Jelinek <jakub@redhat.com>
10044
10045 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10046
10047 2011-08-19 Jakub Jelinek <jakub@redhat.com>
10048
10049 PR fortran/49792
10050 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10051 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10052
10053 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10054
10055 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10056
10057 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10058
10059 PR libgomp/49965
10060 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10061
10062 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
10063
10064 * config/linux/proc.h: New.
10065 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10066 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10067 (gomp_init_num_threads): Update call to cpuset_popcount.
10068 (get_num_procs): Ditto.
10069 * config/linux/affinity.c (gomp_init_affinity): Call
10070 gomp_cpuset_popcount.
10071
10072 2011-08-02 Jakub Jelinek <jakub@redhat.com>
10073
10074 PR fortran/42041
10075 PR fortran/46752
10076 * omp.h.in (omp_in_final): New prototype.
10077 * omp_lib.f90.in (omp_in_final): New interface.
10078 (omp_integer_kind, omp_logical_kind): Remove
10079 and replace all its uses in the module with 4.
10080 (openmp_version): Change to 201107.
10081 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10082 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10083 kind for the parameters.
10084 (omp_in_final): New external.
10085 (openmp_version): Change to 201107.
10086 * task.c (omp_in_final): New function.
10087 (gomp_init_task): Initialize final_task.
10088 (GOMP_task): Remove unused attribute from flags. Handle final
10089 tasks.
10090 (GOMP_taskyield): New function.
10091 (omp_in_final): Return true if if (false) or final (true) task
10092 or descendant of final (true).
10093 * fortran.c (omp_in_final_): New function.
10094 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10095 (GOMP_3.0): Export GOMP_taskyield.
10096 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10097 variables.
10098 (parse_unsigned_long_list): New function.
10099 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10100 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10101 even if parse_affinity returned false.
10102 * config/linux/affinity.c (gomp_init_affinity): Handle
10103 gomp_cpu_affinity_len == 0.
10104 * libgomp_g.h (GOMP_taskyield): New prototype.
10105 * libgomp.h (struct gomp_task): Add final_task field.
10106 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10107 * team.c (gomp_team_start): Override new task's nthreads_var icv
10108 if list form OMP_NUM_THREADS has been used and it has value for
10109 the new nesting level.
10110
10111 * testsuite/libgomp.c/atomic-11.c: New test.
10112 * testsuite/libgomp.c/atomic-12.c: New test.
10113 * testsuite/libgomp.c/atomic-13.c: New test.
10114 * testsuite/libgomp.c/atomic-14.c: New test.
10115 * testsuite/libgomp.c/reduction-6.c: New test.
10116 * testsuite/libgomp.c/task-5.c: New test.
10117 * testsuite/libgomp.c++/atomic-2.C: New test.
10118 * testsuite/libgomp.c++/atomic-3.C: New test.
10119 * testsuite/libgomp.c++/atomic-4.C: New test.
10120 * testsuite/libgomp.c++/atomic-5.C: New test.
10121 * testsuite/libgomp.c++/atomic-6.C: New test.
10122 * testsuite/libgomp.c++/atomic-7.C: New test.
10123 * testsuite/libgomp.c++/atomic-8.C: New test.
10124 * testsuite/libgomp.c++/atomic-9.C: New test.
10125 * testsuite/libgomp.c++/task-8.C: New test.
10126 * testsuite/libgomp.c++/reduction-4.C: New test.
10127 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10128 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10129 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10130 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10131 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10132 * testsuite/libgomp.fortran/pointer1.f90: New test.
10133 * testsuite/libgomp.fortran/pointer2.f90: New test.
10134 * testsuite/libgomp.fortran/task4.f90: New test.
10135
10136 2011-08-02 Tobias Burnus <burnus@net-b.de>
10137
10138 * libgomp.texi: Update OpenMP spec references to 3.1.
10139 (omp_in_final,OMP_PROC_BIND): New sections.
10140 (OMP_NUM_THREADS): Document that the value can be now a list.
10141 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10142
10143 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10144
10145 * config/linux/x86/futex.h: Check __x86_64__ instead of
10146 __LP64__.
10147
10148 2011-07-29 Jakub Jelinek <jakub@redhat.com>
10149
10150 PR middle-end/49897
10151 PR middle-end/49898
10152 * testsuite/libgomp.c/pr49897-1.c: New test.
10153 * testsuite/libgomp.c/pr49897-2.c: New test.
10154 * testsuite/libgomp.c/pr49898-1.c: New test.
10155 * testsuite/libgomp.c/pr49898-2.c: New test.
10156
10157 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10158
10159 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10160 for ia32 instead of ilp32.
10161
10162 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10163 * testsuite/libgomp.c/atomic-6.c: Likewise.
10164
10165 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10166
10167 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10168 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10169
10170 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10171
10172 PR libgomp/45351
10173 * config/osf/sem.h: New file.
10174 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10175
10176 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10177
10178 PR target/49541
10179 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10180 ldflags.
10181
10182 2011-07-15 Jakub Jelinek <jakub@redhat.com>
10183
10184 * config/linux/wait.h (do_spin): New inline, largely copied
10185 from do_wait, just don't do futex_wait here, instead return true if
10186 it should be done.
10187 (do_wait): Implement using do_spin.
10188 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10189 to prototype.
10190 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10191 __sync_bool_compare_and_swap, pass the oldval to
10192 gomp_mutex_lock_slow.
10193 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10194 If all mutex contenders are just spinning and not sleeping, don't
10195 change state to 2 unnecessarily. Optimize the loop when state has
10196 already become 2 to use just one atomic operation per loop instead
10197 of two.
10198 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10199 to prototype.
10200 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10201 __sync_bool_compare_and_swap, pass the oldval to
10202 gomp_mutex_lock_slow.
10203
10204 2011-06-22 Jakub Jelinek <jakub@redhat.com>
10205
10206 PR libgomp/49490
10207 * iter.c (gomp_iter_static_next): For chunk size 0
10208 only use n ceil/ nthreads size for the first
10209 n % nthreads threads in the team instead of
10210 all threads except for the last few ones which
10211 get less work or none at all.
10212 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10213 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10214 chunk argument, set run_sched_modifier to 0 for static
10215 resp. 1 for other kinds. If chunk argument is 0
10216 and not static, set value to 1.
10217
10218 2011-05-19 Jakub Jelinek <jakub@redhat.com>
10219
10220 PR c++/49043
10221 * testsuite/libgomp.c++/pr49043.C: New test.
10222
10223 PR c++/48869
10224 * testsuite/libgomp.c++/pr48869.C: New test.
10225
10226 2011-05-06 Jakub Jelinek <jakub@redhat.com>
10227
10228 PR fortran/48894
10229 * fortran.c: Include limits.h.
10230 (TO_INT): Define.
10231 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10232 *set.
10233 (omp_set_num_threads_8_, omp_set_schedule_8_,
10234 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10235 omp_get_team_size_8_): Use TO_INT macro.
10236 * testsuite/libgomp.fortran/pr48894.f90: New test.
10237
10238 2011-04-13 Jakub Jelinek <jakub@redhat.com>
10239
10240 PR middle-end/48591
10241 * testsuite/libgomp.c/pr48591.c: New test.
10242
10243 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10244
10245 PR bootstrap/48135
10246 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10247 * configure: Regenerate.
10248
10249 2011-02-27 Jakub Jelinek <jakub@redhat.com>
10250
10251 PR fortran/47886
10252 * testsuite/libgomp.fortran/task3.f90: New test.
10253
10254 2011-02-24 Tobias Burnus <burnus@net-b.de>
10255
10256 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10257
10258 2011-02-23 Jakub Jelinek <jakub@redhat.com>
10259
10260 PR libgomp/47854
10261 * libgomp.texi (omp_get_wtime): Don't say time in the past
10262 must be Unix Epoch.
10263
10264 2011-02-18 Jakub Jelinek <jakub@redhat.com>
10265
10266 PR libgomp/47804
10267 * testsuite/libgomp.fortran/fortran.exp: Check for both
10268 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10269 but $blddir != "", still append ${blddir}/${lang_library_path}
10270 to ld_library_path.
10271
10272 2011-02-16 Tobias Burnus <burnus@net-b.de>
10273
10274 PR libgomp/47758
10275 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10276 of libquadmath.a before adding its libpath to ldflags.
10277
10278 2011-02-14 Jakub Jelinek <jakub@redhat.com>
10279
10280 PR libgomp/47731
10281 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10282 to FUTEX_WAIT futex syscall.
10283 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10284
10285 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10286
10287 * configure: Regenerate.
10288
10289 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10290
10291 PR libstdc++/36104
10292 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10293
10294 2011-01-16 Gerald Pfeifer
10295
10296 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10297
10298 2010-12-14 Jakub Jelinek <jakub@redhat.com>
10299
10300 PR fortran/46874
10301 * libgomp.fortran/allocatable6.f90: New test.
10302
10303 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10304
10305 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10306 * configure: Regenerate.
10307
10308 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10309
10310 PR target/40125
10311 PR lto/46695
10312 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10313 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10314 * aclocal.m4: Regenerate.
10315 * configure: Regenerate.
10316 * Makefile.in: Regenerate.
10317 * testsuite/Makefile.in: Regenerate.
10318
10319 2010-12-02 Jakub Jelinek <jakub@redhat.com>
10320
10321 PR fortran/46753
10322 * libgomp.fortran/pr46753.f90: New test.
10323
10324 PR libgomp/43706
10325 * env.c (initialize_env): Default to spin count 300000
10326 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10327 is specified.
10328
10329 PR libgomp/45240
10330 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10331 at the end if sync builtins aren't supported.
10332
10333 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10334
10335 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10336
10337 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10338
10339 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10340
10341 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10342
10343 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10344
10345 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10346 Tobias Burnus <burnus@net-b.de>
10347
10348 PR fortran/32049
10349 * configure.ac:
10350 * configure: Regenerate.
10351
10352 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10353
10354 * config/linux/futex.h: New.
10355 * config/linux/arm/mutex.h: New.
10356 * configure.tgt (arm*-*-linux*): Add config path.
10357
10358 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10359
10360 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10361
10362 2010-09-23 Tobias Burnus <burnus@net-b.de>
10363
10364 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10365 Change Fortran datatype to LOGICAL.
10366 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10367 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10368
10369 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10370
10371 * configure: Regenerate.
10372
10373 2010-07-26 Jakub Jelinek <jakub@redhat.com>
10374
10375 * libgomp.texi: Add function keyword to a couple of Fortran
10376 interfaces, use integer instead of int for Fortran.
10377
10378 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
10379
10380 * libgomp.texi: Fix spelling and pasto problems throughout.
10381 Adjust prototypes to match code.
10382
10383 2010-07-24 Tobias Burnus <burnus@net-b.de>
10384
10385 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10386 silence -fwhole-file warning.
10387
10388 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10389
10390 * configure.tgt (*-*-solaris2.[56]*): Removed.
10391
10392 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10393
10394 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10395 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10396 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10397 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10398 targetting solaris2*.
10399 * configure: Regenerate.
10400 * config.h.in: Regenerate.
10401
10402 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10403 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10404 Add libgomp_version_dep.
10405 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10406 versioning.
10407 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10408 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10409 * Makefile.in: Regenerate.
10410
10411 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10412 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10413 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10414 to common block, protected by
10415 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10416
10417 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10418
10419 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10420
10421 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10422
10423 PR bootstrap/43170
10424 * configure: Regenerate.
10425
10426 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10427
10428 PR other/43620
10429 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10430 * configure: Regenerate.
10431 * Makefile.in: Regenerate.
10432 * testsuite/Makefile.in: Regenerate.
10433
10434 2010-04-26 Jakub Jelinek <jakub@redhat.com>
10435
10436 PR c/43893
10437 * testsuite/libgomp.c/pr43893.c: New test.
10438 * testsuite/libgomp.c++/pr43893.C: New test.
10439
10440 2010-04-21 Jakub Jelinek <jakub@redhat.com>
10441
10442 PR middle-end/43570
10443 * testsuite/libgomp.fortran/vla8.f90: New test.
10444
10445 2010-04-20 Jakub Jelinek <jakub@redhat.com>
10446
10447 PR libgomp/43706
10448 * config/linux/affinity.c (gomp_init_affinity): Decrease
10449 gomp_available_cpus if affinity mask confines the process to fewer
10450 CPUs.
10451 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10452 non-NULL, just return gomp_available_cpus.
10453
10454 PR libgomp/43569
10455 * sections.c (gomp_sections_init): Initialize ws->mode.
10456
10457 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10458
10459 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10460 not unused bar variable.
10461 * configure: Regenerate.
10462
10463 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10464
10465 * Makefile.in: Regenerate.
10466 * aclocal.m4: Regenerate.
10467 * testsuite/Makefile.in: Regenerate.
10468
10469 2010-03-22 Jakub Jelinek <jakub@redhat.com>
10470
10471 PR libgomp/42942
10472 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10473 (initialize_env): Adjust callers.
10474 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10475 when the argument is 0.
10476
10477 * testsuite/libgomp.c/pr42942.c: New test.
10478
10479 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10480
10481 PR middle-end/42644
10482 PR middle-end/42130
10483 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10484 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10485
10486 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10487
10488 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10489 * testsuite/libgomp.c++/task-6.C: Likewise.
10490
10491 2010-01-28 Steve Ellcey <sje@cup.hp.com>
10492
10493 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10494
10495 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
10496
10497 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10498 * configure: Regenerate.
10499
10500 2010-01-26 Jakub Jelinek <jakub@redhat.com>
10501
10502 PR fortran/42866
10503 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10504
10505 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
10506
10507 * configure.ac: Test for executability of GFORTRAN.
10508 * configure: Regenerate.
10509
10510 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10511
10512 * configure: Regenerate.
10513
10514 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10515
10516 PR libgomp/42602
10517 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10518
10519 2010-01-03 Richard Guenther <rguenther@suse.de>
10520
10521 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10522
10523 2009-12-23 Sebastian Pop <sebpop@gmail.com>
10524
10525 * testsuite/libgomp.graphite/pr4118.c: New.
10526
10527 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10528
10529 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10530 for darwin, protect the test with require-effective-target tls_runtime.
10531 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10532
10533 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10534
10535 PR target/41605
10536 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10537 link spec %s substitutions for static libraries.
10538
10539 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10540
10541 PR testsuite/42135
10542 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10543
10544 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10545
10546 * Makefile.in: Regenerate.
10547 * configure: Regenerate.
10548 * testsuite/Makefile.in: Regenerate.
10549
10550 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10551
10552 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10553 settings for LC_ALL and LANG.
10554
10555 2009-11-25 Jakub Jelinek <jakub@redhat.com>
10556
10557 PR fortran/42162
10558 * testsuite/libgomp.fortran/pr42162.f90: New test.
10559
10560 2009-11-13 Jakub Jelinek <jakub@redhat.com>
10561
10562 PR middle-end/42029
10563 * testsuite/libgomp.c/pr42029.c: New test.
10564
10565 2009-10-26 Jakub Jelinek <jakub@redhat.com>
10566
10567 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10568 *s. Accept ld version without text in ()s.
10569 * configure: Regenerated.
10570
10571 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
10572
10573 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10574
10575 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10576
10577 PR libgomp/41418
10578 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10579 or a hyphen (happens with fortran language disabled).
10580 * configure: Regenerate.
10581
10582 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10583
10584 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10585 use sed script portable to Solaris /bin/sed for extracting ld
10586 version.
10587 * configure: Regenerate.
10588
10589 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
10590
10591 * testsuite/libgomp.graphite/bounds.c: New test.
10592
10593 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10594
10595 * Makefile.am (libgomp_la_LINK): New.
10596 * Makefile.in: Regenerate.
10597
10598 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10599
10600 * configure.ac (AC_PREREQ): Bump to 2.64.
10601
10602 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10603
10604 * Makefile.am (install-html, install-pdf): Remove.
10605 * Makefile.in: Regenerate.
10606
10607 * Makefile.in: Regenerate.
10608 * aclocal.m4: Regenerate.
10609 * config.h.in: Regenerate.
10610 * configure: Regenerate.
10611 * testsuite/Makefile.in: Regenerate.
10612
10613 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10614
10615 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10616 * Makefile.in: Regenerate.
10617
10618 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10619
10620 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10621 * Makefile.in: Regenerate.
10622
10623 2009-08-19 Tobias Burnus <burnus@net-b.de>
10624
10625 PR fortran/41102
10626 omp_lib.h.in: Fix -std=f95 errors.
10627
10628 2009-08-14 David Edelsohn <edelsohn@gnu.org>
10629
10630 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10631 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10632 * testsuite/libgomp.graphite/graphite.exp: New.
10633
10634 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10635
10636 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10637 only build.
10638
10639 2009-08-04 David Daney <ddaney@caviumnetworks.com>
10640
10641 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10642 needed memory barrier semantics.
10643 * config/linux/mips/mutex.h: New file.
10644
10645 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10646
10647 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10648
10649 2009-07-16 Joseph Myers <joseph@codesourcery.com>
10650
10651 * configure: Regenerate.
10652
10653 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10654
10655 PR testsuite/40699
10656 PR testsuite/40707
10657 PR testsuite/40709
10658 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10659 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10660 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10661
10662 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10663
10664 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10665 options when choosing a multilib.
10666
10667 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10668
10669 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10670 ld_library_path. Use add_path. Add just find_libgcc_s to
10671 ld_library_path, not every libgcc multilib directory.
10672 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10673 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10674 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10675 Use add_path.
10676 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10677
10678 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10679
10680 * Makefile.am (LTLDFLAGS): Define.
10681 (LINK): Define.
10682 * Makefile.in: Regenerate.
10683
10684 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10685
10686 PR fortran/39718
10687 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10688 libgfortranbegin, check existence of libgfortran.a instead of
10689 libgfortranbegin.a.
10690
10691 2009-05-20 Jakub Jelinek <jakub@redhat.com>
10692
10693 PR libgomp/40174
10694 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10695 (gomp_free_pool_helper): Likewise.
10696
10697 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10698 Jakub Jelinek <jakub@redhat.com>
10699
10700 PR fortran/35423
10701 * testsuite/libgomp.fortran/workshare2.f90: New test.
10702
10703 2009-04-09 Nick Clifton <nickc@redhat.com>
10704
10705 * iter.c: Change copyright header to refer to version 3 of the
10706 GNU General Public License with version 3.1 of the GCC Runtime
10707 Library Exception and to point readers at the COPYING3 and
10708 COPYING3.RUNTIME files and the FSF's license web page.
10709 * alloc.c: Likewise.
10710 * barrier.c: Likewise.
10711 * config/bsd/proc.c: Likewise.
10712 * config/linux/affinity.c: Likewise.
10713 * config/linux/alpha/futex.h: Likewise.
10714 * config/linux/bar.c: Likewise.
10715 * config/linux/bar.h: Likewise.
10716 * config/linux/ia64/futex.h: Likewise.
10717 * config/linux/ia64/mutex.h: Likewise.
10718 * config/linux/lock.c: Likewise.
10719 * config/linux/mips/futex.h: Likewise.
10720 * config/linux/mutex.c: Likewise.
10721 * config/linux/mutex.h: Likewise.
10722 * config/linux/powerpc/futex.h: Likewise.
10723 * config/linux/proc.c: Likewise.
10724 * config/linux/ptrlock.c: Likewise.
10725 * config/linux/ptrlock.h: Likewise.
10726 * config/linux/s390/futex.h: Likewise.
10727 * config/linux/sem.c: Likewise.
10728 * config/linux/sem.h: Likewise.
10729 * config/linux/sparc/futex.h: Likewise.
10730 * config/linux/wait.h: Likewise.
10731 * config/linux/x86/futex.h: Likewise.
10732 * config/mingw32/proc.c: Likewise.
10733 * config/mingw32/time.c: Likewise.
10734 * config/posix/affinity.c: Likewise.
10735 * config/posix/bar.c: Likewise.
10736 * config/posix/bar.h: Likewise.
10737 * config/posix/lock.c: Likewise.
10738 * config/posix/mutex.h: Likewise.
10739 * config/posix/proc.c: Likewise.
10740 * config/posix/ptrlock.h: Likewise.
10741 * config/posix/sem.c: Likewise.
10742 * config/posix/sem.h: Likewise.
10743 * config/posix/time.c: Likewise.
10744 * config/posix95/lock.c: Likewise.
10745 * critical.c: Likewise.
10746 * env.c: Likewise.
10747 * error.c: Likewise.
10748 * fortran.c: Likewise.
10749 * iter_ull.c: Likewise.
10750 * libgomp.h: Likewise.
10751 * libgomp_f.h.in: Likewise.
10752 * libgomp_g.h: Likewise.
10753 * loop.c: Likewise.
10754 * loop_ull.c: Likewise.
10755 * omp.h.in: Likewise.
10756 * omp_lib.f90.in: Likewise.
10757 * omp_lib.h.in: Likewise.
10758 * ordered.c: Likewise.
10759 * parallel.c: Likewise.
10760 * sections.c: Likewise.
10761 * single.c: Likewise.
10762 * task.c: Likewise.
10763 * team.c: Likewise.
10764 * work.c: Likewise.
10765
10766 2009-04-09 Jakub Jelinek <jakub@redhat.com>
10767
10768 * testsuite/config/default.exp: Change copyright header to refer to
10769 version 3 of the GNU General Public License and to point readers
10770 at the COPYING3 file and the FSF's license web page.
10771
10772 2009-04-08 Jakub Jelinek <jakub@redhat.com>
10773
10774 PR middle-end/39573
10775 * libgomp.c++/pr39573.C: New test.
10776
10777 2009-04-01 Jakub Jelinek <jakub@redhat.com>
10778
10779 PR other/39591
10780 * testsuite/libgomp.c/pr39591-1.c: New test.
10781 * testsuite/libgomp.c/pr39591-2.c: New test.
10782 * testsuite/libgomp.c/pr39591-3.c: New test.
10783
10784 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
10785
10786 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10787 * testsuite/libgomp.c/atomic-6.c: Ditto.
10788
10789 2009-03-23 Jakub Jelinek <jakub@redhat.com>
10790
10791 PR c/39495
10792 * testsuite/libgomp.c/loop-12.c: New test.
10793 * testsuite/libgomp.c/loop-11.c: New test.
10794 * testsuite/libgomp.c++/loop-11.C: New test.
10795 * testsuite/libgomp.c++/loop-12.C: New test.
10796 * testsuite/libgomp.c++/for-8.C: New test.
10797
10798 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10799
10800 * configure: Regenerate.
10801
10802 2009-02-11 Jakub Jelinek <jakub@redhat.com>
10803
10804 PR middle-end/39154
10805 * testsuite/libgomp.c/pr39154.c: New test.
10806
10807 2009-01-30 Ian Lance Taylor <iant@google.com>
10808
10809 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10810 libgomp_ld_is_gold. Get gold version number.
10811 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10812 * configure: Rebuild.
10813
10814 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10815
10816 * testsuite/lib/libgomp.exp: Add -B option for targets that
10817 use libgfortran.a%s in their specs.
10818
10819 2009-01-07 Jakub Jelinek <jakub@redhat.com>
10820
10821 PR libgomp/38086
10822 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10823 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10824 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10825 * configure: Regenerated.
10826 * config.h.in: Likewise.
10827
10828 2008-12-28 Jakub Jelinek <jakub@redhat.com>
10829
10830 PR c++/38650
10831 * testsuite/libgomp.c/pr38650.c: New test.
10832 * testsuite/libgomp.c++/pr38650.C: New test.
10833
10834 2008-12-27 Jakub Jelinek <jakub@redhat.com>
10835
10836 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10837
10838 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
10839
10840 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10841
10842 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10843
10844 * configure: Regenerate.
10845
10846 2008-12-08 Jakub Jelinek <jakub@redhat.com>
10847
10848 PR middle-end/36802
10849 * testsuite/libgomp.c/pr36802-1.c: New test.
10850 * testsuite/libgomp.c/pr36802-2.c: New test.
10851 * testsuite/libgomp.c/pr36802-3.c: New test.
10852
10853 2008-12-01 Janis Johnson <janis187@us.ibm.com>
10854
10855 PR libgomp/38270
10856 * config/linux/powerpc/mutex.h: New.
10857
10858 2008-12-01 Jakub Jelinek <jakub@redhat.com>
10859
10860 PR c++/38257
10861 * testsuite/libgomp.c++/for-7.C: New test.
10862
10863 PR c++/38348
10864 * testsuite/libgomp.c++/for-6.C: New test.
10865
10866 2008-11-26 Janis Johnson <janis187@us.ibm.com>
10867
10868 PR testsuite/28870
10869 * testsuite/lib/libgomp.exp: Include new timeout library files.
10870 (libgomp_target_compile): Set timeout value from new proc.
10871
10872 2008-11-13 Steve Ellcey <sje@cup.hp.com>
10873
10874 PR libgomp/37938
10875 * config/linux/ia64/mutex.h: New.
10876
10877 2008-11-04 Tobias Burnus <burnus@net-b.de>
10878
10879 PR libgomp/37935
10880 * libgomp.texi (Runtime library routines, environment variables):
10881 Update for OpenMP version 3.0.
10882
10883 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10884 Steve Ellcey <sje@cup.hp.com>
10885
10886 * configure: Regenerate for new libtool.
10887 * Makefile.in: Ditto.
10888 * testsuite/Makefile.in: Ditto.
10889
10890 2008-09-19 Jakub Jelinek <jakub@redhat.com>
10891 Andreas Tobler <a.tobler@schweiz.org>
10892
10893 * config/bsd/proc.c: New file.
10894 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
10895 * configure.ac: Check for header <sys/sysctl.h>
10896 * configure: Regenerate.
10897 * config.h.in: Likewise.
10898
10899 2008-09-05 Janis Johnson <janis187@us.ibm.com>
10900
10901 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10902
10903 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10904
10905 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10906 * Makefile.in: Regenerated.
10907 * testsuite/Makefile.in: Regenerated.
10908
10909 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
10910
10911 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
10912 depend on blddir if blddir exists.
10913 (libgomp_target_compile): Likewise.
10914 * testsuite/libgomp.c++/c++.exp: Likewise.
10915 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10916
10917 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10918
10919 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10920 Do not list GPL as Invariant Section.
10921
10922 2008-07-28 Ilie Garbacea <ilie@mips.com>
10923 Chao-ying Fu <fu@mips.com>
10924
10925 * configure.tgt: Enable futex for MIPS.
10926 * config/linux/mips/futex.h: New file.
10927
10928 2008-07-16 Jakub Jelinek <jakub@redhat.com>
10929
10930 * team.c (gomp_team_end): Free team immediately if it has
10931 just one thread.
10932
10933 2008-07-08 David Edelsohn <edelsohn@gnu.org>
10934
10935 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10936 * testsuite/libgomp.fortran/fortran.exp: Same.
10937 * testsuite/libgomp.c/c.exp: Same.
10938 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10939 directory to library path first.
10940
10941 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10942
10943 * env.c (parse_stacksize): Add cast to avoid warning.
10944 (parse_spincount): Likewise.
10945
10946 2008-06-27 Jakub Jelinek <jakub@redhat.com>
10947
10948 * testsuite/libgomp.c/loop-10.c: New test.
10949 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10950 * libgomp.c++/loop-6.C (main): Likewise.
10951
10952 PR debug/36617
10953 * testsuite/libgomp.c/debug-1.c: New test.
10954
10955 2008-06-19 Jakub Jelinek <jakub@redhat.com>
10956
10957 * testsuite/libgomp.c/nqueens-1.c: New test.
10958
10959 PR c++/36523
10960 * testsuite/libgomp.c++/task-7.C: New function.
10961
10962 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10963
10964 * configure: Regenerate.
10965
10966 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10967
10968 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10969 mutex when HAVE_SYNC_BUILTINS isn't defined.
10970
10971 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10972
10973 * libgomp.texi (omp_test_lock): Fix typo.
10974
10975 2008-06-12 Tobias Burnus <burnus@net-b.de>
10976
10977 * omp_lib.f90.in: Add "implicit none".
10978
10979 2008-06-12 Jakub Jelinek <jakub@redhat.com>
10980
10981 PR middle-end/36506
10982 * testsuite/libgomp.c/reduction-5.c: New test.
10983
10984 2008-06-11 Jakub Jelinek <jakub@redhat.com>
10985
10986 * libgomp.h (struct gomp_task): Add in_tied_task field.
10987 * task.c (gomp_init_task): Initialize it.
10988 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10989 unconditionally. Don't call gomp_team_barrier_wake if
10990 current task is implicit or if(0) from implicit and number of
10991 running tasks is equal to nthreads - 1.
10992
10993 PR libgomp/36471
10994 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10995 omp_get_team_size_8): Fix pastos.
10996
10997 PR libgomp/36469
10998 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10999 * configure: Regenerated.
11000 * config.h.in: Regenerated.
11001 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11002 defined.
11003
11004 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
11005
11006 PR bootstrap/36452
11007 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11008 (GOMP_loop_ull_dynamic_start): Likewise.
11009 (GOMP_loop_ull_guided_start): Likewise.
11010 (GOMP_loop_ull_ordered_static_start): Likewise.
11011 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11012 (GOMP_loop_ull_ordered_guided_start): Likewise.
11013
11014 2008-06-06 Jakub Jelinek <jakub@redhat.com>
11015 Richard Henderson <rth@redhat.com>
11016 Ulrich Drepper <drepper@redhat.com>
11017 Jakob Blomer <jakob.blomer@ira.uka.de>
11018
11019 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11020 Substitute also OMP_*LOCK_25*.
11021 * configure: Regenerated.
11022 * config.h.in: Regenerated.
11023 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11024 ptrlock.c and task.c.
11025 * Makefile.in: Regenerated.
11026 * testsuite/Makefile.in: Regenerated.
11027 * task.c: New file.
11028 * loop_ull.c: New file.
11029 * iter_ull.c: New file.
11030 * libgomp.h: Include ptrlock.h.
11031 (enum gomp_task_kind): New type.
11032 (struct gomp_team): Add task_lock, task_queue, task_count,
11033 task_running_count, single_count fields. Add
11034 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11035 Remove work_share_lock, generation_mask,
11036 oldest_live_gen, num_live_gen and init_work_shares fields, add
11037 work work_share_list_alloc, work_share_list_free and work_share_chunk
11038 fields. Change work_shares from pointer to pointers into an array.
11039 Change ordered_release field into gomp_sem_t ** from flexible array
11040 member. Add implicit_task and initial_work_shares fields.
11041 Move close to the end of the struct.
11042 (struct gomp_team_state): Add single_count, last_work_share,
11043 active_level and level fields, remove work_share_generation.
11044 (gomp_barrier_handle_tasks): New prototype.
11045 (gomp_finish_task): New inline function.
11046 (struct gomp_work_share): Move chunk_size, end, incr into
11047 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11048 next_ll fields. Reshuffle fields. Add next_alloc,
11049 next_ws, next_free and inline_ordered_team_ids fields, change
11050 ordered_team_ids into pointer from flexible array member.
11051 Add mode field. Put lock and next into a different cache line
11052 from most of the write-once fields.
11053 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11054 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11055 gomp_iter_ull_guided_next): New prototypes.
11056 (gomp_new_icv): New prototype.
11057 (struct gomp_thread): Add thread_pool and task fields.
11058 (struct gomp_thread_pool): New type.
11059 (gomp_new_team): New prototype.
11060 (gomp_team_start): Change type of last argument.
11061 (gomp_new_work_share): Removed.
11062 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11063 (gomp_work_share_init_done): New static inline.
11064 (gomp_throttled_spin_count_var, gomp_available_cpus,
11065 gomp_managed_threads): New extern decls.
11066 (gomp_init_task): New prototype.
11067 (gomp_spin_count_var): New extern var decl.
11068 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11069 or no alias support, or if not PIC.
11070 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11071 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11072 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11073 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11074 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11075 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11076 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11077 gomp_test_nest_lock_25): New prototypes.
11078 (omp_lock_symver, strong_alias): Define.
11079 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11080 decls.
11081 (gomp_end_task): New.
11082 (struct gomp_task_icv, gomp_global_icv): New.
11083 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11084 (struct gomp_task): New.
11085 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11086 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11087 (gomp_icv): New.
11088 (gomp_schedule_type): Reorder enum to match
11089 omp_sched_t.
11090 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11091 fields.
11092 (gomp_thread_start): Add gomp_team_barrier_wait call.
11093 For non-nested case remove clearing of docked thread thr fields.
11094 Use pool fields instead of global gomp_* variables. Use
11095 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11096 Create tasks for each member thread.
11097 (free_team): Only destroy team barrier, task_lock here and free it.
11098 (gomp_free_thread): Free last_team if non-NULL.
11099 (gomp_team_end): Call gomp_team_barrier_wait instead of
11100 gomp_barrier_wait. For nested case call one extra
11101 gomp_barrier_wait. Move here some destruction from free_team.
11102 Call free_team on pool->last_team if any, rather than freeing
11103 current team. Destroy work_share_list_free_lock ifndef
11104 HAVE_SYNC_BUILTINS.
11105 (gomp_new_icv): New function.
11106 (gomp_threads, gomp_threads_size, gomp_threads_used,
11107 gomp_threads_dock): Removed.
11108 (gomp_thread_destructor): New variable.
11109 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11110 functions.
11111 (gomp_team_start): Create new pool if current thread doesn't have
11112 one. Use pool fields instead of global gomp_* variables.
11113 Initialize thread_pool field for new threads. Clear single_count.
11114 Change last argument from ws to team, don't create
11115 new team, set ts.work_share to &team->work_shares[0] and clear
11116 ts.last_work_share. Don't clear ts.work_share_generation.
11117 If number of threads changed, adjust atomically gomp_managed_threads.
11118 Use gomp_init_task instead of gomp_new_task,
11119 set thr->task to the corresponding implicit_task array entry.
11120 Create tasks for each member thread. Initialize ts.level.
11121 (initialize_team): Call pthread_key_create on
11122 gomp_thread_destructor.
11123 (team_destructor): New function.
11124 (new_team): Removed.
11125 (gomp_new_team): New function.
11126 (free_team): Free gomp_work_share blocks chained through next_alloc,
11127 instead of freeing work_shares and destroying work_share_lock.
11128 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11129 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11130 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11131 of gomp_barrier_wait.
11132 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11133 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11134 if gomp_work_share_start returned true. Don't unlock ws->lock.
11135 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11136 of gomp_barrier_wait.
11137 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11138 gomp_work_share_init_done if gomp_work_share_start returned true.
11139 Don't unlock ws->lock.
11140 * work.c: Include stddef.h.
11141 (free_work_share): Use work_share_list_free_lock instead
11142 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11143 Call gomp_fini_work_share and then either free ws if orphaned, or
11144 put it into work_share_list_free list of the current team.
11145 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11146 functions.
11147 (gomp_work_share_start, gomp_work_share_end,
11148 gomp_work_share_end_nowait): Rewritten.
11149 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11150 (openmp_version): Set to 200805.
11151 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11152 omp_sched_guided, omp_sched_auto): New parameters.
11153 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11154 omp_set_max_active_levels, omp_get_max_active_levels,
11155 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11156 omp_get_active_level): New interfaces.
11157 * omp_lib.h.in (openmp_version): Set to 200805.
11158 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11159 omp_sched_guided, omp_sched_auto): New parameters.
11160 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11161 omp_set_max_active_levels, omp_get_max_active_levels,
11162 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11163 omp_get_active_level): New externals.
11164 * loop.c: Include limits.h.
11165 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11166 GFS_AUTO.
11167 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11168 Likewise. Use gomp_icv.
11169 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11170 ts.static_trip here.
11171 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11172 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11173 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11174 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11175 don't unlock ws->lock, otherwise lock it.
11176 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11177 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11178 (gomp_parallel_loop_start): Call gomp_new_team instead of
11179 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11180 Adjust gomp_team_start caller. Pass 0 as second argument to
11181 gomp_resolve_num_threads.
11182 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11183 If adding ws->chunk_size nthreads + 1 times after end won't
11184 overflow, set ws->mode to 1.
11185 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11186 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11187 GOMP_loop_ull_ordered_static_start,
11188 GOMP_loop_ull_ordered_dynamic_start,
11189 GOMP_loop_ull_ordered_guided_start,
11190 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11191 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11192 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11193 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11194 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11195 prototypes.
11196 * libgomp.map: Export lock routines also @@OMP_2.0.
11197 (GOMP_loop_ordered_dynamic_first,
11198 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11199 GOMP_loop_ordered_static_first): Remove.
11200 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11201 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11202 GOMP_loop_ull_ordered_dynamic_next,
11203 GOMP_loop_ull_ordered_dynamic_start,
11204 GOMP_loop_ull_ordered_guided_next,
11205 GOMP_loop_ull_ordered_guided_start,
11206 GOMP_loop_ull_ordered_runtime_next,
11207 GOMP_loop_ull_ordered_runtime_start,
11208 GOMP_loop_ull_ordered_static_next,
11209 GOMP_loop_ull_ordered_static_start,
11210 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11211 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11212 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11213 (omp_set_schedule, omp_get_schedule,
11214 omp_get_thread_limit, omp_set_max_active_levels,
11215 omp_get_max_active_levels, omp_get_level,
11216 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11217 omp_set_schedule_, omp_set_schedule_8_,
11218 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11219 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11220 omp_get_max_active_levels_, omp_get_level_,
11221 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11222 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11223 New exports @@OMP_3.0.
11224 * omp.h.in (omp_sched_t): New type.
11225 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11226 omp_set_max_active_levels, omp_get_max_active_levels,
11227 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11228 omp_get_active_level): New prototypes.
11229 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11230 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11231 gomp_thread_limit_var, gomp_remaining_threads_count,
11232 gomp_remaining_threads_lock): New variables.
11233 (parse_spincount): New function.
11234 (initialize_env): Call gomp_init_num_threads unconditionally.
11235 Initialize gomp_available_cpus. Call parse_spincount,
11236 initialize gomp_{,throttled_}spin_count_var
11237 depending on presence and value of OMP_WAIT_POLICY and
11238 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11239 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11240 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11241 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11242 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11243 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11244 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11245 (gomp_global_icv): New.
11246 (parse_schedule): Use it. Parse "auto".
11247 (omp_set_num_threads): Use gomp_icv.
11248 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11249 Likewise.
11250 (omp_get_max_threads): Move from parallel.c.
11251 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11252 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11253 add ialias.
11254 (parse_stacksize, parse_wait_policy): New functions.
11255 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11256 both wrappers for compatibility and new locks.
11257 (omp_set_schedule, omp_get_schedule,
11258 omp_get_thread_limit, omp_set_max_active_levels,
11259 omp_get_max_active_levels, omp_get_level,
11260 omp_get_ancestor_thread_num, omp_get_team_size,
11261 omp_get_active_level): New ialias_redirect.
11262 (omp_set_schedule_, omp_set_schedule_8_,
11263 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11264 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11265 omp_get_max_active_levels_, omp_get_level_,
11266 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11267 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11268 New functions.
11269 * parallel.c: Include limits.h.
11270 (gomp_resolve_num_threads): Add count argument. Rewritten.
11271 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11272 argument to gomp_team_start. Pass 0 as second argument to
11273 gomp_resolve_num_threads.
11274 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11275 if gomp_thread_limit_var != ULONG_MAX.
11276 (omp_in_parallel): Implement using ts.active_level.
11277 (omp_get_max_threads): Move to env.c.
11278 (omp_get_level, omp_get_ancestor_thread_num,
11279 omp_get_team_size, omp_get_active_level): New functions,
11280 add ialias.
11281 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11282 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11283 gomp_iter_dynamic_next instead of the _locked variant and don't take
11284 lock around it, otherwise acquire it before calling
11285 gomp_iter_dynamic_next_locked.
11286 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11287 gomp_iter_dynamic_next instead of the _locked variant and don't take
11288 lock around it.
11289 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11290 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11291 Adjust gomp_team_start caller. Pass count as second argument to
11292 gomp_resolve_num_threads, don't adjust num_threads after the call.
11293 Use gomp_icv.
11294 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11295 ws->chunk_size by incr.
11296 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11297 code.
11298 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11299 types.
11300 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11301 (omp_check_defines): Check even the compat defines.
11302 * config/linux/ptrlock.c: New file.
11303 * config/linux/ptrlock.h: New file.
11304 * config/linux/wait.h: New file.
11305 * config/posix/ptrlock.c: New file.
11306 * config/posix/ptrlock.h: New file.
11307 * config/linux/bar.h (gomp_team_barrier_wait,
11308 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11309 (gomp_team_barrier_set_task_pending,
11310 gomp_team_barrier_clear_task_pending,
11311 gomp_team_barrier_set_waiting_for_tasks,
11312 gomp_team_barrier_waiting_for_tasks,
11313 gomp_team_barrier_done): New inlines.
11314 (gomp_barrier_t): Rewritten.
11315 (gomp_barrier_state_t): New typedef.
11316 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11317 gomp_barrier_wait_start): Rewritten.
11318 (gomp_barrier_wait_end): Change second argument to
11319 gomp_barrier_state_t.
11320 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11321 inlines.
11322 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11323 futex.h.
11324 (gomp_barrier_wait_end): Rewritten.
11325 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11326 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11327 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11328 (gomp_barrier_state_t): New typedef.
11329 (gomp_team_barrier_wait,
11330 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11331 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11332 into the return value. Return gomp_barrier_state_t.
11333 (gomp_team_barrier_set_task_pending,
11334 gomp_team_barrier_clear_task_pending,
11335 gomp_team_barrier_set_waiting_for_tasks,
11336 gomp_team_barrier_waiting_for_tasks,
11337 gomp_team_barrier_done): New inlines.
11338 (gomp_barrier_wait_end): Change second argument to
11339 gomp_barrier_state_t.
11340 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11341 inlines.
11342 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11343 (gomp_barrier_wait_end): Change second argument to
11344 gomp_barrier_state_t.
11345 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11346 gomp_team_barrier_wake): New functions.
11347 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11348 futex.h.
11349 (gomp_futex_wake, gomp_futex_wait): New variables.
11350 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11351 * config/linux/lock.c: Rewrite to make locks task owned,
11352 for backwards compatibility provide the old entrypoints
11353 if symbol versioning. Include wait.h instead of libgomp.h and
11354 futex.h.
11355 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11356 * config/posix95/lock.c: Rewrite to make locks task owned,
11357 for backwards compatibility provide the old entrypoints
11358 if symbol versioning.
11359 * config/posix/lock.c: Rewrite to make locks task owned,
11360 for backwards compatibility provide the old entrypoints
11361 if symbol versioning.
11362 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11363 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11364 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11365 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11366 (sys_futex0): Return error code.
11367 (futex_wake, futex_wait): If ENOSYS was returned, clear
11368 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11369 (cpu_relax, atomic_write_barrier): New static inlines.
11370 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11371 (futex_wake, futex_wait): If ENOSYS was returned, clear
11372 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11373 (cpu_relax, atomic_write_barrier): New static inlines.
11374 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11375 (sys_futex0): Return error code.
11376 (futex_wake, futex_wait): If ENOSYS was returned, clear
11377 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11378 (cpu_relax, atomic_write_barrier): New static inlines.
11379 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11380 (sys_futex0): Return error code.
11381 (futex_wake, futex_wait): If ENOSYS was returned, clear
11382 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11383 (cpu_relax, atomic_write_barrier): New static inlines.
11384 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11385 (sys_futex0): Return error code.
11386 (futex_wake, futex_wait): If ENOSYS was returned, clear
11387 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11388 (cpu_relax, atomic_write_barrier): New static inlines.
11389 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11390 (sys_futex0): Return error code.
11391 (futex_wake, futex_wait): If ENOSYS was returned, clear
11392 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11393 (cpu_relax, atomic_write_barrier): New static inlines.
11394 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11395 futex.h.
11396 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11397 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11398 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11399 types.
11400 (omp_nest_lock_t): Change owner into void *, add lock field.
11401 * config/posix95/omp-lock.h: Include semaphore.h.
11402 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11403 (omp_lock_t): Use sem_t instead of mutex if semaphores
11404 aren't broken.
11405 (omp_nest_lock_t): Likewise. Change owner to void *.
11406 * config/posix/omp-lock.h: Include semaphore.h.
11407 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11408 (omp_lock_t): Use sem_t instead of mutex if semaphores
11409 aren't broken.
11410 (omp_nest_lock_t): Likewise. Add owner field.
11411
11412 2008-06-06 Jakub Jelinek <jakub@redhat.com>
11413
11414 * testsuite/libgomp.c/collapse-1.c: New test.
11415 * testsuite/libgomp.c/collapse-2.c: New test.
11416 * testsuite/libgomp.c/collapse-3.c: New test.
11417 * testsuite/libgomp.c/icv-1.c: New test.
11418 * testsuite/libgomp.c/icv-2.c: New test.
11419 * testsuite/libgomp.c/lib-2.c: New test.
11420 * testsuite/libgomp.c/lock-1.c: New test.
11421 * testsuite/libgomp.c/lock-2.c: New test.
11422 * testsuite/libgomp.c/lock-3.c: New test.
11423 * testsuite/libgomp.c/loop-4.c: New test.
11424 * testsuite/libgomp.c/loop-5.c: New test.
11425 * testsuite/libgomp.c/loop-6.c: New test.
11426 * testsuite/libgomp.c/loop-7.c: New test.
11427 * testsuite/libgomp.c/loop-8.c: New test.
11428 * testsuite/libgomp.c/loop-9.c: New test.
11429 * testsuite/libgomp.c/nested-3.c: New test.
11430 * testsuite/libgomp.c/nestedfn-6.c: New test.
11431 * testsuite/libgomp.c/sort-1.c: New test.
11432 * testsuite/libgomp.c/task-1.c: New test.
11433 * testsuite/libgomp.c/task-2.c: New test.
11434 * testsuite/libgomp.c/task-3.c: New test.
11435 * testsuite/libgomp.c/task-4.c: New test.
11436 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11437 to C++ testsuite default compiler options.
11438 * testsuite/libgomp.c++/collapse-1.C: New test.
11439 * testsuite/libgomp.c++/collapse-2.C: New test.
11440 * testsuite/libgomp.c++/ctor-10.C: New test.
11441 * testsuite/libgomp.c++/for-1.C: New test.
11442 * testsuite/libgomp.c++/for-2.C: New test.
11443 * testsuite/libgomp.c++/for-3.C: New test.
11444 * testsuite/libgomp.c++/for-4.C: New test.
11445 * testsuite/libgomp.c++/for-5.C: New test.
11446 * testsuite/libgomp.c++/loop-8.C: New test.
11447 * testsuite/libgomp.c++/loop-9.C: New test.
11448 * testsuite/libgomp.c++/loop-10.C: New test.
11449 * testsuite/libgomp.c++/task-1.C: New test.
11450 * testsuite/libgomp.c++/task-2.C: New test.
11451 * testsuite/libgomp.c++/task-3.C: New test.
11452 * testsuite/libgomp.c++/task-4.C: New test.
11453 * testsuite/libgomp.c++/task-5.C: New test.
11454 * testsuite/libgomp.c++/task-6.C: New test.
11455 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11456 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11457 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11458 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11459 * testsuite/libgomp.fortran/collapse1.f90: New test.
11460 * testsuite/libgomp.fortran/collapse2.f90: New test.
11461 * testsuite/libgomp.fortran/collapse3.f90: New test.
11462 * testsuite/libgomp.fortran/collapse4.f90: New test.
11463 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11464 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11465 * testsuite/libgomp.fortran/lib4.f90: New test.
11466 * testsuite/libgomp.fortran/lock-1.f90: New test.
11467 * testsuite/libgomp.fortran/lock-2.f90: New test.
11468 * testsuite/libgomp.fortran/nested1.f90: New test.
11469 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11470 * testsuite/libgomp.fortran/strassen.f90: New test.
11471 * testsuite/libgomp.fortran/tabs1.f90: New test.
11472 * testsuite/libgomp.fortran/tabs2.f: New test.
11473 * testsuite/libgomp.fortran/task1.f90: New test.
11474 * testsuite/libgomp.fortran/task2.f90: New test.
11475 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11476 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11477 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11478 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11479 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11480
11481 2008-05-23 Jakub Jelinek <jakub@redhat.com>
11482
11483 PR c++/36308
11484 * testsuite/libgomp.c++/ctor-11.C: New test.
11485 * testsuite/libgomp.c++/ctor-12.C: New test.
11486
11487 2008-05-15 Janis Johnson <janis187@us.ibm.com>
11488
11489 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11490
11491 2008-05-07 Jakub Jelinek <jakub@redhat.com>
11492
11493 PR middle-end/36106
11494 * testsuite/libgomp.c/atomic-5.c: New test.
11495 * testsuite/libgomp.c/atomic-6.c: New test.
11496 * testsuite/libgomp.c/autopar-1.c: New test.
11497
11498 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11499
11500 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11501 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11502 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11503 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11504 * configure: Regenerate.
11505 * Makefile.in, testsuite/Makefile.in: Likewise.
11506
11507 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
11508
11509 PR bootstrap/35457
11510 * aclocal.m4: Regenerate.
11511 * configure: Regenerate.
11512
11513 2008-03-18 Jakub Jelinek <jakub@redhat.com>
11514
11515 PR middle-end/35611
11516 * testsuite/libgomp.c/atomic-4.c: New test.
11517
11518 PR libgomp/35625
11519 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11520 (gomp_iter_guided_next): Likewise.
11521 * testsuite/libgomp.c/pr35625.c: New test.
11522
11523 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11524
11525 * aclocal.m4: Regenerate.
11526 * configure: Likewise.
11527 * Makefile.in: Likewise.
11528 * testsuite/Makefile.in: Likewise.
11529
11530 2008-03-13 Jakub Jelinek <jakub@redhat.com>
11531
11532 PR middle-end/35185
11533 * testsuite/libgomp.c++/pr35185.C: New test.
11534
11535 2008-03-12 Jakub Jelinek <jakub@redhat.com>
11536
11537 PR middle-end/35549
11538 * testsuite/libgomp.c/pr35549.c: New test.
11539
11540 2008-03-06 Jakub Jelinek <jakub@redhat.com>
11541
11542 * testsuite/libgomp.c/atomic-3.c: New test.
11543
11544 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11545
11546 PR fortran/33197
11547 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
11548 .F08 file suffixes.
11549
11550 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11551
11552 PR libgomp/33131
11553 * configure.ac: Add ACX_HEADER_STRING.
11554 * env.c: Include strings.h.
11555 * aclocal.m4: Regenerate.
11556 * config.h.in: Regenerate.
11557 * configure: Regenerate.
11558 * Makefile.in: Regenerate.
11559 * testsuite/Makefile.in: Regenerate.
11560
11561 2008-02-15 Jakub Jelinek <jakub@redhat.com>
11562
11563 PR middle-end/35196
11564 * testsuite/libgomp.c/pr35196.c: New test.
11565
11566 PR middle-end/35130
11567 * testsuite/libgomp.fortran/pr35130.f90: New test.
11568 * testsuite/libgomp.c/pr35130.c: New test.
11569
11570 2008-01-25 Jakub Jelinek <jakub@redhat.com>
11571
11572 PR middle-end/33880
11573 * testsuite/libgomp.c/pr33880.c: New test.
11574 * testsuite/libgomp.fortran/pr33880.f90: New test.
11575
11576 2008-01-24 David Edelsohn <edelsohn@gnu.org>
11577
11578 * configure: Regenerate.
11579
11580 2008-01-08 Jakub Jelinek <jakub@redhat.com>
11581
11582 * configure.ac: Move futex checking into ../config/futex.m4.
11583 * configure: Rebuilt.
11584 * aclocal.m4: Rebuilt.
11585 * Makefile.in: Rebuilt.
11586
11587 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11588 2007-10-15 ../config/tls.m4 change.
11589
11590 2007-12-19 Jakub Jelinek <jakub@redhat.com>
11591
11592 PR c++/34513
11593 * testsuite/libgomp.c/pr34513.c: New test.
11594 * testsuite/libgomp.c++/pr34513.C: New test.
11595
11596 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11597
11598 PR target/32765
11599 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11600
11601 2007-12-04 Jakub Jelinek <jakub@redhat.com>
11602
11603 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11604
11605 2007-12-03 Jakub Jelinek <jakub@redhat.com>
11606
11607 * testsuite/libgomp.c/private-1.c: New test.
11608
11609 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11610 Paolo Bonzini <bonzini@gnu.org>
11611
11612 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11613 instead of 'VPATH ='.
11614 * Makefile.in: Regenerate.
11615
11616 2007-11-23 Matthias Klose <doko@ubuntu.com>
11617
11618 * configure.ac: Adjust makeinfo version check.
11619 * configure: Regenerate.
11620
11621 2007-11-10 Jakub Jelinek <jakub@redhat.com>
11622
11623 PR fortran/34020
11624 * testsuite/libgomp.fortran/pr34020.f90: New test.
11625
11626 2007-11-06 Jakub Jelinek <jakub@redhat.com>
11627
11628 PR c++/33894
11629 * testsuite/libgomp.c++/atomic-1.C: New test.
11630
11631 2007-10-25 Jakub Jelinek <jakub@redhat.com>
11632
11633 PR libgomp/33275
11634 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11635 Make x and y integers rather than (implicit) reals. Add private (j)
11636 clause to the last omp parallel.
11637
11638 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11639
11640 * configure: Regenerate following changes to ../config/tls.m4.
11641
11642 2007-09-28 Jakub Jelinek <jakub@redhat.com>
11643
11644 * testsuite/libgomp.fortran/stack.f90: New test.
11645
11646 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11647
11648 * config/mingw32/proc.c: New file.
11649
11650 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
11651
11652 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11653 (main): Use __get_cpuid to get i386 target fetaures.
11654 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11655 (main): Use __get_cpuid to get x86_64 target fetaures.
11656
11657 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11658
11659 PR target/32765
11660 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11661 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11662
11663 2007-07-12 Jakub Jelinek <jakub@redhat.com>
11664
11665 PR fortran/32550
11666 * testsuite/libgomp.fortran/pr32550.f90: New test.
11667 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11668
11669 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11670
11671 * aclocal.m4: Regenerated.
11672
11673 2007-07-05 Tobias Burnus <burnus@net-b.de>
11674
11675 PR fortran/32359
11676 * testsuite/libgomp.fortran/pr32359.f90: New.
11677
11678 2007-07-02 Jakub Jelinek <jakub@redhat.com>
11679
11680 PR libgomp/32468
11681 * sections.c (GOMP_parallel_sections_start): Only decrease
11682 number of threads to COUNT if dyn_var is true.
11683 * testsuite/libgomp.c/pr32468.c: New test.
11684
11685 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11686
11687 PR libgomp/26308
11688 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11689
11690 2007-06-21 Jakub Jelinek <jakub@redhat.com>
11691
11692 PR middle-end/32362
11693 * testsuite/libgomp.c/pr32362-1.c: New test.
11694 * testsuite/libgomp.c/pr32362-2.c: New test.
11695 * testsuite/libgomp.c/pr32362-3.c: New test.
11696
11697 2007-06-07 Jakub Jelinek <jakub@redhat.com>
11698
11699 * team.c (gomp_team_start): Fix setting up thread_attr
11700 stack size.
11701
11702 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
11703
11704 * configure: Regenerate.
11705
11706 2007-05-23 Steve Ellcey <sje@cup.hp.com>
11707
11708 * Makefile.in: Regenerate.
11709 * configure: Regenerate.
11710 * aclocal.m4: Regenerate.
11711 * testsuite/Makefile.in: Regenerate.
11712
11713 2007-05-04 Jakub Jelinek <jakub@redhat.com>
11714
11715 * config/linux/proc.c: New file.
11716
11717 PR libgomp/28482
11718 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11719
11720 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
11721
11722 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11723
11724 2007-04-16 Matthias Klose <doko@debian.org>
11725
11726 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11727 flags if not building with -m64.
11728 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11729 flag for i?86-*-* targets, if current target matches -m64.
11730
11731 2007-04-14 Steve Ellcey <sje@cup.hp.com>
11732
11733 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11734 * Makefile.in: Regenerate.
11735
11736 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11737
11738 PR testsuite/31369
11739 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11740 ld_library_path.
11741 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11742
11743 2007-04-04 Jakub Jelinek <jakub@redhat.com>
11744
11745 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11746 decls.
11747 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11748 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11749 (parse_affinity): New function.
11750 (initialize_env): Call it and gomp_init_affinity.
11751 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11752 create new pthread_attr_t and call gomp_init_thread_affinity
11753 on it for each thread before passing the attribute to pthread_create.
11754 * config/linux/affinity.c: New file.
11755 * config/posix/affinity.c: New file.
11756 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11757 * configure: Rebuilt.
11758 * config.h.in: Rebuilt.
11759 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11760 * Makefile.in: Rebuilt.
11761
11762 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11763
11764 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11765 *-*-darwin*.
11766 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11767 and use it if found.
11768
11769 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
11770
11771 * testsuite/config/default.exp: New file.
11772 * testsuite/lib/libgomp.exp: New file.
11773 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11774 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11775 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11776 (libgomp_load): Remove.
11777 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11778 always_ld_library_path, not ld_library_path. Set additional_flags
11779 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11780 (target_compile): Do not call libgomp_init. Append lang_library_path
11781 and lang_link_flags to options.
11782 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11783 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11784 here.
11785 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11786 always_ld_library_path. Set LD_LIBRARY_PATH here.
11787 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11788 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11789 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11790 CX8 flag.
11791 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11792 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11793 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11794 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11795 * testsuite/libgomp.c/atomic-10.c: Ditto.
11796
11797 2007-03-21 Jakub Jelinek <jakub@redhat.com>
11798
11799 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11800 dg-final cleanup-modules line.
11801 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11802 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11803 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11804 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11805 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11806 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11807 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11808
11809 2007-03-18 Andreas Schwab <schwab@suse.de>
11810
11811 * acinclude.m4: Adjust regular expression for ld version
11812 extraction.
11813 * configure: Regenerate.
11814
11815 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11816
11817 * Makefile.am: Add install-pdf target as copied from
11818 automake v1.10 rules.
11819 * Makefile.in: Regenerate
11820
11821 2007-02-07 Jakub Jelinek <jakub@redhat.com>
11822
11823 PR libgomp/28486
11824 * configure: Regenerate.
11825
11826 PR c++/30703
11827 * testsuite/libgomp.c++/pr30703.C: New test.
11828
11829 2007-02-02 Jakub Jelinek <jakub@redhat.com>
11830
11831 Revert:
11832 2006-07-05 Eric Christopher <echristo@apple.com>
11833 * configure.ac: Depend addition of -pthread on host OS.
11834 * configure: Regenerate.
11835
11836 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11837
11838 * libgomp.texi: Fix spacing after abbreviations.
11839
11840 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
11841
11842 PR libgomp/30546
11843 * configure.ac: Add check for makeinfo
11844 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
11845 if an appropriate version of makeinfo is found.
11846 * aclocal.m4: Regenerated.
11847 * configure: Regenerated.
11848 * Makefile.in: Regenerated.
11849 * testsuite/Makefile.in: Regenerated.
11850
11851 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
11852
11853 PR libgomp/30540
11854 * libgomp.texi: More about implementation-dependent settings.
11855
11856 2007-01-26 Tobias Burnus <burnus@net-b.de>
11857
11858 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11859
11860 2007-01-24 Jakub Jelinek <jakub@redhat.com>
11861
11862 PR middle-end/30494
11863 * testsuite/libgomp.c/pr30494.c: New test.
11864
11865 2007-01-15 Tom Tromey <tromey@redhat.com>
11866
11867 * configure: Rebuilt.
11868 * configure.ac: Fixed comment.
11869
11870 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
11871
11872 * libgomp.texi: Document implementation specific default values of
11873 environment variables.
11874
11875 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
11876
11877 PR libgomp/28209
11878 * libgomp.texi: New file.
11879 * configure.ac: Add --enable-generated-files-in-srcdir option.
11880 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11881 files to srcdir.
11882 * Makefile.in: Regenerated.
11883 * config.h.in: Regenerated.
11884 * testsuite/Makefile.in: Regenerated.
11885 * NOTES: Removed.
11886
11887 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
11888
11889 PR libgomp/29949
11890 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11891
11892 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11893
11894 * configure: Regenerate.
11895
11896 2006-12-04 Jakub Jelinek <jakub@redhat.com>
11897
11898 PR libgomp/29947
11899 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11900 start if there shouldn't be any loop iterations.
11901 (gomp_loop_ordered_static_start): Remove start == end test.
11902 * testsuite/libgomp.c/pr29947-1.c: New test.
11903 * testsuite/libgomp.c/pr29947-2.c: New test.
11904
11905 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11906
11907 * configure.tgt: Force initial-exec TLS model on Linux only.
11908
11909 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11910
11911 * configure: Regenerated.
11912
11913 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
11914
11915 * env.c (parse_schedule): Reject out of range values.
11916 (parse_unsigned_long): Reject out of range, negative or zero values.
11917
11918 2006-10-29 Jakub Jelinek <jakub@redhat.com>
11919
11920 PR fortran/29629
11921 * testsuite/libgomp.fortran/pr29629.f90: New test.
11922
11923 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11924
11925 PR libgomp/29494
11926 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11927 * config/posix95: New directory.
11928 * config/posix95/omp-lock.h: New file.
11929 * config/posix95/lock.c: Likewise.
11930
11931 2006-10-14 Geoffrey Keating <geoffk@apple.com>
11932
11933 * aclocal.m4: Regenerate.
11934 * configure: Regenerate.
11935
11936 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11937
11938 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11939 '<' to '<='.
11940
11941 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11942
11943 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11944 test.
11945 * configure: Regenerate.
11946 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11947
11948 2006-09-26 Jakub Jelinek <jakub@redhat.com>
11949
11950 PR middle-end/25261
11951 PR middle-end/28790
11952 * testsuite/libgomp.c/nestedfn-4.c: New test.
11953 * testsuite/libgomp.c/nestedfn-5.c: New test.
11954 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11955
11956 PR fortran/29097
11957 * testsuite/libgomp.fortran/condinc1.f: New test.
11958 * testsuite/libgomp.fortran/condinc2.f: New test.
11959 * testsuite/libgomp.fortran/condinc3.f90: New test.
11960 * testsuite/libgomp.fortran/condinc4.f90: New test.
11961 * testsuite/libgomp.fortran/condinc1.inc: New file.
11962
11963 2006-09-18 Tom Tromey <tromey@redhat.com>
11964
11965 * configure: Rebuilt.
11966
11967 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11968
11969 PR c/28768
11970 PR preprocessor/14634
11971 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11972 to AC_DEFINE.
11973 * configure: Regenerate.
11974
11975 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11976
11977 * testsuite/libgomp.fortran/reduction3.f90: Change
11978 -2147483648 to -huge(i)-1 to avoid overflow.
11979 * testsuite/libgomp.fortran/reduction4.f90: Change
11980 Z'ffffffff' to not(0) to avoid overflow.
11981
11982 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11983
11984 PR libgomp/25938
11985 * Makefile.am (libsubincludedir): New.
11986 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11987 * Makefile.in: Regenerate.
11988
11989 2006-08-17 Jakub Jelinek <jakub@redhat.com>
11990
11991 PR libgomp/28725
11992 * env.c: Include ctype.h.
11993 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11994 leading and/or trailing whitespace and compare strings case
11995 insensitively.
11996
11997 2006-07-16 Jakub Jelinek <jakub@redhat.com>
11998
11999 PR fortran/28390
12000 * testsuite/libgomp.fortran/pr28390.f: New test.
12001
12002 2006-07-05 Eric Christopher <echristo@apple.com>
12003
12004 * configure.ac: Depend addition of -pthread on host OS.
12005 * configure: Regenerate.
12006
12007 2006-06-21 Jakub Jelinek <jakub@redhat.com>
12008
12009 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12010 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12011 defined.
12012
12013 2006-06-20 Jakub Jelinek <jakub@redhat.com>
12014
12015 PR libgomp/26175
12016 PR libgomp/26477
12017 * configure.ac: If neither --enable-linux-futex nor
12018 --disable-linux-futex is passed, determine the default by checking
12019 for compiling and/or running against NPTL. With --enable-linux-futex,
12020 check if SYS_gettid and SYS_futex are defined.
12021 * configure: Rebuilt.
12022
12023 2006-06-14 Richard Henderson <rth@redhat.com>
12024
12025 PR libgomp/28008
12026 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12027 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12028
12029 2006-06-09 Richard Henderson <rth@redhat.com>
12030
12031 * env.c (gomp_nthreads_var): Change to unsigned long.
12032 (gomp_run_sched_chunk): Likewise.
12033 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12034 (initialize_env): Initialize gomp_thread_attr.
12035 * libgomp.h (gomp_nthreads_var): Update decl.
12036 (gomp_run_sched_chunk): Likewise.
12037 (gomp_thread_attr): Declare.
12038 * team.c (gomp_thread_attr): Export.
12039 (initialize_team): Don't initialize it.
12040
12041 2006-06-09 Jakub Jelinek <jakub@redhat.com>
12042
12043 PR fortran/27916
12044 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12045 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12046
12047 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12048
12049 * config/mingw32/time.c: New file.
12050 * configure.tgt: Use it.
12051
12052 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12053
12054 * Makefile.am: Add install-html target. Add install-html to .PHONY
12055 * Makefile.in: Regenerate.
12056
12057 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12058
12059 PR libgomp/27612
12060 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12061 * testsuite/libgomp.c/critical-1.c: Likewise.
12062 * testsuite/libgomp.c/loop-1.c: Likewise.
12063 * testsuite/libgomp.c/loop-2.c: Likewise.
12064 * testsuite/libgomp.c/single-1.c: Likewise.
12065 * testsuite/libgomp.c/ordered-1.c: Likewise.
12066 * testsuite/libgomp.c/ordered-2.c: Likewise.
12067
12068 2006-05-15 Jakub Jelinek <jakub@redhat.com>
12069
12070 PR middle-end/27416
12071 * libgomp.fortran/pr27416-1.f90: New test.
12072
12073 2006-05-03 Jakub Jelinek <jakub@redhat.com>
12074
12075 PR fortran/27395
12076 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12077 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12078
12079 2006-05-02 Jakub Jelinek <jakub@redhat.com>
12080
12081 PR c++/26943
12082 * testsuite/libgomp.c/pr26943-1.c: New test.
12083 * testsuite/libgomp.c/pr26943-2.c: New test.
12084 * testsuite/libgomp.c/pr26943-3.c: New test.
12085 * testsuite/libgomp.c/pr26943-4.c: New test.
12086 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12087 * testsuite/libgomp.c++/pr26943.C: New test.
12088
12089 2006-05-02 Jakub Jelinek <jakub@redhat.com>
12090
12091 PR middle-end/27337
12092 * testsuite/libgomp.c++/pr27337.C: New test.
12093
12094 2006-04-26 Jakub Jelinek <jakub@redhat.com>
12095
12096 PR c/26171
12097 * testsuite/libgomp.c/pr26171.c: New test.
12098
12099 2006-04-25 Richard Henderson <rth@redhat.com>
12100
12101 PR libgomp/25865
12102 * configure.ac: Use GCC_CHECK_TLS.
12103 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12104 * Makefile.in, aclocal.m4, configure: Regenerate.
12105
12106 2006-04-10 Matthias Klose <doko@debian.org>
12107
12108 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12109 directory names containing underscores.
12110
12111 2006-03-21 Jakub Jelinek <jakub@redhat.com>
12112
12113 PR c++/26691
12114 * testsuite/libgomp.c++/pr26691.C: New test.
12115
12116 2006-03-13 Jakub Jelinek <jakub@redhat.com>
12117
12118 * testsuite/libgomp.fortran/retval2.f90: New test.
12119
12120 2006-03-09 Diego Novillo <dnovillo@redhat.com>
12121
12122 * testsuite/libgomp.c++: New directory.
12123
12124 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
12125
12126 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12127 * config/posix/sem.c: Implement the above.
12128
12129 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12130
12131 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12132 define HAVE_BROKEN_POSIX_SEMAPHORES.
12133 * configure: Rebuilt.
12134 * config.h.in: Rebuilt.
12135
12136 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12137
12138 PR bootstrap/26161
12139 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12140 for the other pthread check.
12141 * configure: Regenerate.
12142 * config.h.in: Regenerate.
12143
12144 2006-02-15 Jakub Jelinek <jakub@redhat.com>
12145
12146 PR libgomp/25938
12147 PR libgomp/25984
12148 * Makefile.am (fincludedir): New variable.
12149 (nodist_include_HEADERS): Remove Fortran files.
12150 (nodist_finclude_HEADERS): New variable.
12151 * Makefile.in: Regenerated.
12152
12153 2006-02-13 Jakub Jelinek <jakub@redhat.com>
12154
12155 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12156 Remove tests for returning assumed character length arrays.
12157
12158 2006-02-12 Roger Sayle <roger@eyesopen.com>
12159 John David Anglin <dave@hiauly1.hia.nrc.ca>
12160
12161 PR libgomp/25936
12162 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
12163
12164 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12165
12166 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12167
12168 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12169
12170 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12171 part of LD_LIBRARY_PATH manually.
12172
12173 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12174
12175 PR libgomp/25852
12176 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12177 libgomp_init.
12178
12179 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
12180
12181 PR libgomp/25884
12182 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12183 * configure.ac (PERL): Don't set.
12184 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12185 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12186 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12187 * omp.h.in: Wrap the new configure substitutions with @ characters.
12188 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12189 * aclocal.m4, configure, Makefile.in: Regenerate.
12190 * mkomp_h.pl: Delete.
12191
12192 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
12193
12194 PR libgomp/25259
12195 * configure.ac: Use GCC_HEADER_STDINT.
12196 * libgomp.h: Include gstdint.h.
12197 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12198 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12199
12200 2006-01-24 Richard Henderson <rth@redhat.com>
12201
12202 PR libgomp/25942
12203 * configure.ac: Add AM_MAINTAINER_MODE.
12204 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12205
12206 2006-01-24 Diego Novillo <dnovillo@redhat.com>
12207
12208 * Makefile.in: Regenerate.
12209 * testsuite/Makefile.in: Regenerate.
12210 * aclocal.m4: Regenerate.
12211
12212 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12213
12214 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12215 Solaris.
12216 * configure.ac: Add check for loadavg.h.
12217 (link_gomp): Adjust comment.
12218 * configure: Regenerate.
12219 * config.h.in: Regenerate.
12220
12221 2006-01-21 Steve Ellcey <sje@cup.hp.com>
12222
12223 PR libgomp/25877
12224 * configure.ac: Remove check for alloca.h.
12225 * configure: Regenerate.
12226 * config.h.in: Regenerate.
12227 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12228 * team.c: Remove use of alloca.h.
12229 Call gomp_alloca instead of alloca.
12230
12231 2006-01-20 Steve Ellcey <sje@cup.hp.com>
12232
12233 PR libgomp/25877
12234 * team.c: Add include of alloca.h.
12235 * configure.ac: Add check for alloca.h.
12236 * configure: Regenerate.
12237 * config.h.in: Regenerate.
12238
12239 2006-01-17 Jakub Jelinek <jakub@redhat.com>
12240
12241 PR fortran/25219
12242 * testsuite/libgomp.fortran/pr25219.f90: New test.
12243
12244 2005-12-05 Uros Bizjak <uros@kss-loka.si>
12245
12246 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12247 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12248 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12249 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12250 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12251 testsuite/libgomp.fortran/threadprivate1.f90,
12252 testsuite/libgomp.fortran/threadprivate2.f90,
12253 testsuite/libgomp.fortran/threadprivate3.f90,
12254 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12255 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12256 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12257 effective-target to TLS runtime.
12258
12259 * testsuite/libgomp.fortran/pr25162.f: Require
12260 effective-target TLS runtime.
12261
12262 2005-12-01 Jakub Jelinek <jakub@redhat.com>
12263
12264 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12265 * testsuite/libgomp.c/nestedfn-3.c: New test.
12266
12267 2005-11-30 Jakub Jelinek <jakub@redhat.com>
12268
12269 PR fortran/25162
12270 * testsuite/libgomp.fortran/pr25162.f: New test.
12271
12272 2005-11-28 Jakub Jelinek <jakub@redhat.com>
12273
12274 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12275 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12276
12277 2005-11-25 Jakub Jelinek <jakub@redhat.com>
12278
12279 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12280 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12281 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12282 single.c, team.c, work.c, config/linux/alpha/futex.h,
12283 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12284 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12285 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12286 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12287 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12288 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12289 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12290 FSF address.
12291
12292 2005-11-18 Jakub Jelinek <jakub@redhat.com>
12293
12294 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12295 to nodist_noinst_HEADERS.
12296 * Makefile.in: Rebuilt.
12297
12298 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12299 add integer count field.
12300 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12301 omp_nest_lock_t type change.
12302 (omp_init_nest_lock): Likewise. Initialize count to 0.
12303 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12304 Increment count.
12305 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12306 Decrement count.
12307 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12308 Increment count if successful and return the new nesting level.
12309 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12310 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12311 * testsuite/libgomp.c/lib-1.c: New test.
12312 * testsuite/libgomp.fortran/lib1.f90: New test.
12313 * testsuite/libgomp.fortran/lib2.f: New test.
12314 * testsuite/libgomp.fortran/lib3.f: New test.
12315
12316 2005-11-17 Richard Henderson <rth@redhat.com>
12317
12318 PR 24845
12319 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12320 * configure.ac (link_gomp): New. Substitute it.
12321 (AC_CONFIG_FILES): Add libgomp.spec.
12322 * libgomp.spec.in: New file.
12323 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12324 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12325
12326 2005-11-18 Jakub Jelinek <jakub@redhat.com>
12327
12328 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12329 reduction(-:var) behaving the same as reduction(+:var).
12330 * testsuite/libgomp.c/reduction-4.c: New test.
12331
12332 2005-11-15 Uros Bizjak <uros@kss-loka.si>
12333
12334 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12335 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12336 testsuite/libgomp.c/copyin-3.c,
12337 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12338 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12339 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12340 testsuite/libgomp.c++/pr24455.C,
12341 testsuite/libgomp.fortran/threadprivate1.f90,
12342 testsuite/libgomp.fortran/threadprivate2.f90,
12343 testsuite/libgomp.fortran/threadprivate3.f90,
12344 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12345 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12346 testsuite/libgomp.fortran/omp_parse3.f90: Require
12347 effective-target TLS.
12348
12349 2005-11-14 Diego Novillo <dnovillo@redhat.com>
12350
12351 * HEADER: Remove.
12352
12353 2005-11-13 Jakub Jelinek <jakub@redhat.com>
12354
12355 PR libgomp/24797
12356 * team.c (initialize_team): Pass NULL rather than free as
12357 pthread_key_create destructor. Initialize thread specific data
12358 pointer in initial thread to a static local variable rather than
12359 malloced memory.
12360
12361 2005-11-11 Uros Bizjak <uros@kss-loka.si>
12362
12363 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12364 its location to ld_library_path.
12365
12366 2005-11-10 Diego Novillo <dnovillo@redhat.com>
12367
12368 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12369
12370 2005-11-10 Diego Novillo <dnovillo@redhat.com>
12371
12372 * testsuite/libgomp.c: Rename from libgomp.dg.
12373
12374 2005-11-09 Diego Novillo <dnovillo@redhat.com>
12375
12376 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12377 threadprivate variable 'i'.
12378
12379 2005-11-09 Jakub Jelinek <jakub@redhat.com>
12380
12381 * config/linux/s390/futex.h: New file.
12382 * configure.tgt: Use it.
12383
12384 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12385 before the parallel.
12386
12387 2005-11-08 Jakub Jelinek <jakub@redhat.com>
12388
12389 PR c++/24734
12390 * testsuite/libgomp.c++/master-1.C: New test.
12391
12392 2005-11-07 Jakub Jelinek <jakub@redhat.com>
12393
12394 * testsuite/libgomp.dg/copyin-3.c: New test.
12395
12396 2005-11-07 Jakub Jelinek <jakub@redhat.com>
12397
12398 * testsuite/libgomp.fortran/retval1.f90: New test.
12399 * testsuite/libgomp.fortran/vla7.f90: New test.
12400
12401 2005-11-06 Jakub Jelinek <jakub@redhat.com>
12402
12403 * testsuite/libgomp.fortran/vla2.f90: New test.
12404 * testsuite/libgomp.fortran/vla3.f90: New test.
12405 * testsuite/libgomp.fortran/vla4.f90: New test.
12406 * testsuite/libgomp.fortran/vla5.f90: New test.
12407 * testsuite/libgomp.fortran/vla6.f90: New test.
12408
12409 2005-11-01 Jakub Jelinek <jakub@redhat.com>
12410
12411 * config/linux/sparc/futex.h: New file.
12412 * configure.tgt: Use it.
12413 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12414
12415 * critical.c: Include stdlib.h.
12416 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12417 ignoring return value.
12418 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12419 LIBGOMP_CHECK_SYNC_BUILTINS check.
12420 * configure: Rebuilt.
12421
12422 2005-10-31 Jakub Jelinek <jakub@redhat.com>
12423
12424 * testsuite/libgomp.fortran/vla1.f90: New test.
12425
12426 2005-10-31 Richard Henderson <rth@redhat.com>
12427
12428 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12429 setting 's' in different threads.
12430
12431 2005-10-31 Jakub Jelinek <jakub@redhat.com>
12432
12433 * libgomp.h (attribute_hidden, ialias): Define.
12434 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12435 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12436 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12437 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12438 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12439 omp_test_lock, omp_test_nest_lock): Likewise.
12440 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12441 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12442 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12443 omp_test_lock, omp_test_nest_lock): Likewise.
12444 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12445 omp_get_dynamic, omp_get_nested): Likewise.
12446 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12447 omp_get_thread_num, omp_in_parallel): Likewise.
12448 * fortran.c (ialias_redirect): Define.
12449 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12450 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12451 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12452 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12453 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12454 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12455 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12456 omp_get_wtime): Add ialias_redirect.
12457
12458 2005-10-30 Jakub Jelinek <jakub@redhat.com>
12459
12460 * fortran.c: Include stdlib.h.
12461
12462 2005-10-29 Jakub Jelinek <jakub@redhat.com>
12463
12464 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12465 * Makefile.in: Regenerated.
12466
12467 2005-10-28 Jakub Jelinek <jakub@redhat.com>
12468
12469 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12470 * libgomp_f.h.in (omp_check_defines): New function.
12471 * env.c: Include libgomp_f.h.
12472 (initialize_env): Call omp_check_defines.
12473
12474 * testsuite/libgomp.dg/copyin-2.c: New test.
12475 * testsuite/libgomp.c++/copyin-2.C: New test.
12476 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12477
12478 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12479 * testsuite/libgomp.fortran/sharing2.f90: New test.
12480
12481 * testsuite/libgomp.dg/copyin-1.c: New test.
12482 * testsuite/libgomp.c++/copyin-1.C: New test.
12483
12484 2005-10-26 Jakub Jelinek <jakub@redhat.com>
12485
12486 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12487
12488 * testsuite/libgomp.fortran/workshare1.f90: New test.
12489
12490 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12491 only test.
12492 * libgomp.fortran/sharing1.f90: New test.
12493
12494 2005-10-24 Jakub Jelinek <jakub@redhat.com>
12495
12496 PR c++/24502
12497 * testsuite/libgomp.c++/loop-7.C: New test.
12498
12499 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12500
12501 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12502 * testsuite/libgomp.fortran/reduction6.f90: New test.
12503 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12504
12505 2005-10-23 Richard Henderson <rth@redhat.com>
12506
12507 * testsuite/libgomp.c++/ctor-1.C: New.
12508 * testsuite/libgomp.c++/ctor-2.C: New.
12509 * testsuite/libgomp.c++/ctor-3.C: New.
12510 * testsuite/libgomp.c++/ctor-4.C: New.
12511 * testsuite/libgomp.c++/ctor-5.C: New.
12512 * testsuite/libgomp.c++/ctor-6.C: New.
12513 * testsuite/libgomp.c++/ctor-7.C: New.
12514 * testsuite/libgomp.c++/ctor-8.C: New.
12515 * testsuite/libgomp.c++/ctor-9.C: New.
12516
12517 2005-10-21 Diego Novillo <dnovillo@redhat.com>
12518
12519 PR 24455
12520 * testsuite/libgomp.c++/pr24455-1.C: New test.
12521 * testsuite/libgomp.c++/pr24455.C: New test.
12522 * testsuite/libgomp.dg/pr24455-1.c: New test.
12523 * testsuite/libgomp.dg/pr24455.c: New test.
12524
12525 2005-10-20 Richard Henderson <rth@redhat.com>
12526
12527 * testsuite/libgomp.c++/loop-6.C: New.
12528 * testsuite/libgomp.dg/loop-3.c: New.
12529
12530 2005-10-20 Jakub Jelinek <jakub@redhat.com>
12531
12532 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12533 explicitly private.
12534 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12535 explicitly shared.
12536
12537 2005-10-19 Diego Novillo <dnovillo@redhat.com>
12538
12539 * testsuite/libgomp.fortran/jacobi.f: New test.
12540
12541 2005-10-19 Richard Henderson <rth@redhat.com>
12542
12543 * configure.tgt (i?86-linux): Default to with_arch instead of
12544 CFLAGS. Add -mtune to match target_cpu.
12545 (x86_64-linux): Tune to i686.
12546
12547 * fortran.c (omp_test_nest_lock_): Fix typo.
12548
12549 2005-10-19 Jakub Jelinek <jakub@redhat.com>
12550
12551 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12552 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12553 * testsuite/libgomp.dg/ordered-3.c: New test.
12554
12555 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12556 Remove volatile keyword.
12557
12558 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12559 in COMMON block to avoid warnings on 64-bit targets.
12560
12561 2005-10-18 Diego Novillo <dnovillo@redhat.com>
12562
12563 * testsuite/libgomp.dg/shared-3.c: New test.
12564
12565 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12566
12567 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12568 * testsuite/libgomp.fortran/reduction5.f90: New test.
12569
12570 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12571
12572 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12573 dg-options.
12574 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12575 flush loop now that __sync_synchronize has proper memory barrier.
12576 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12577 Add -ffixed-form to dg-options.
12578
12579 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12580
12581 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12582 from subdirectories.
12583 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12584 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12585 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12586 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12587 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12588 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12589 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12590 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12591 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12592 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12593 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12594 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12595 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12596 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12597 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12598 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12599 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12600 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12601 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12602 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12603 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12604 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12605 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12606 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12607 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12608
12609 2005-10-17 Jakub Jelinek <jakub@redhat.com>
12610
12611 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12612 lang_library_path exists. Use find instead of glob to gather tests.
12613 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12614
12615 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12616
12617 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12618 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12619 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12620 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12621 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12622 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12623 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12624 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12625 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12626 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12627 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12628 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12629 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12630
12631 2005-10-15 Jakub Jelinek <jakub@redhat.com>
12632
12633 * testsuite/libgomp.dg/vla-1.c: New test.
12634
12635 * testsuite/libgomp.fortran/reference2.f90: New test.
12636
12637 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12638 declaration of omp_get_thread_num.
12639 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12640 use omp_lib.
12641
12642 * testsuite/libgomp.fortran/reduction1.f90: New test.
12643 * testsuite/libgomp.fortran/reduction2.f90: New test.
12644 * testsuite/libgomp.fortran/reduction3.f90: New test.
12645 * testsuite/libgomp.fortran/reduction4.f90: New test.
12646
12647 2005-10-13 Richard Henderson <rth@redhat.com>
12648
12649 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12650 * Makefile.in: Regenerate.
12651 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12652 * libgomp.h: Include bar.h.
12653 (struct gomp_barrier): Remove.
12654 (struct gomp_team): Add barrier. Replace master_barrier with
12655 master_release. Replace threads with ordered_release.
12656 (struct gomp_thread): Replace barrier with release.
12657 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12658 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12659 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12660 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12661 (GOMP_single_copy_end): Likewise.
12662 * team.c (gomp_threads_dock): New.
12663 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12664 (gomp_thread_start): Use gomp_barrier_wait.
12665 (new_team, free_team): Update for gomp_team changes.
12666 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12667 (gomp_team_end): Use gomp_barrier_wait.
12668 (initialize_team): Update for gomp_thread changes.
12669 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12670 (gomp_work_share_end_nowait): Use atomic ops when available.
12671 * config/linux/bar.c, config/linux/bar.h: New files.
12672 * config/posix/bar.c, config/posix/bar.h: New files.
12673
12674 2005-10-13 Jakub Jelinek <jakub@redhat.com>
12675
12676 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12677 * testsuite/libgomp.dg/single-2.c: New test.
12678
12679 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12680 lang_link_flags): Unset, so that they aren't inherited from previously
12681 sourced *.exp.
12682
12683 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12684
12685 2005-10-12 Richard Henderson <rth@redhat.com>
12686
12687 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12688 (libgomp_init): Use lang_test_file, lang_library_path, and
12689 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12690
12691 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12692 (lang_test_file, lang_link_flags): New.
12693 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12694
12695 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12696 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12697 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12698 testsuite/libgomp.c++/parallel-1.C,
12699 testsuite/libgomp.c++/reduction-1.C,
12700 testsuite/libgomp.c++/reduction-2.C,
12701 testsuite/libgomp.c++/reduction-3.C,
12702 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12703 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12704 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12705 New files, largely cribbed from the C testsuite.
12706
12707 2005-10-12 Jakub Jelinek <jakub@redhat.com>
12708
12709 * testsuite/libgomp.fortran/character1.f90: New test.
12710 * testsuite/libgomp.fortran/character2.f90: New test.
12711
12712 * testsuite/libgomp.dg/nested-1.c: New test.
12713 * testsuite/libgomp.dg/nested-2.c: New test.
12714 * testsuite/libgomp.fortran/do1.f90: New test.
12715 * testsuite/libgomp.fortran/do2.f90: New test.
12716
12717 * testsuite/libgomp.fortran/reference1.f90: New test.
12718
12719 2005-10-11 Jakub Jelinek <jakub@redhat.com>
12720
12721 * testsuite/libgomp.dg/reduction-1.c: New test.
12722 * testsuite/libgomp.dg/reduction-2.c: New test.
12723 * testsuite/libgomp.dg/reduction-3.c: New test.
12724
12725 2005-10-10 Jakub Jelinek <jakub@redhat.com>
12726
12727 * testsuite/libgomp.dg/atomic-1.c: New test.
12728 * testsuite/libgomp.dg/atomic-2.c: New test.
12729
12730 2005-10-09 Richard Henderson <rth@redhat.com>
12731
12732 * critical.c (atomic_lock): New.
12733 (initialize_critical): Initialize it.
12734 (GOMP_atomic_start, GOMP_atomic_end): New.
12735 * libgomp.map: Export them.
12736 * libgomp_g.h: Declare them.
12737
12738 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12739
12740 2005-10-02 Richard Henderson <rth@redhat.com>
12741
12742 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12743 to XCFLAGS instead of CFLAGS.
12744
12745 2005-09-30 Richard Henderson <rth@redhat.com>
12746
12747 * configure.ac: Determine whether -pthread or -lpthread is needed.
12748 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
12749 * Makefile.in, configure: Rebuild.
12750
12751 2005-09-28 Richard Henderson <rth@redhat.com>
12752
12753 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12754 * testsuite/libgomp.dg/omp-single-3.c: New test.
12755
12756 2005-09-28 Diego Novillo <dnovillo@redhat.com>
12757
12758 * testsuite/libgomp.dg/omp-single-2.c: New test.
12759 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12760
12761 2005-09-27 Richard Henderson <rth@redhat.com>
12762
12763 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12764 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12765
12766 2005-09-27 Jakub Jelinek <jakub@redhat.com>
12767
12768 * testsuite/libgomp.dg/omp-loop03.c: New test.
12769
12770 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12771
12772 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12773
12774 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12775
12776 * testsuite/libgomp.dg/omp-single-1.c: New test.
12777 * testsuite/libgomp.dg/shared-1.c: Return 0.
12778 Add prototype for abort.
12779 * testsuite/libgomp.dg/shared-2.c: Likewise.
12780
12781 2005-09-26 Jakub Jelinek <jakub@redhat.com>
12782
12783 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12784 constructs.
12785
12786 2005-09-26 Diego Novillo <dnovillo@redhat.com>
12787
12788 * testsuite/libgomp.dg/shared-1.c: New test.
12789 * testsuite/libgomp.dg/shared-2.c: New test.
12790
12791 2005-09-24 Richard Henderson <rth@redhat.com>
12792
12793 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12794
12795 2005-09-24 Richard Henderson <rth@redhat.com>
12796
12797 * iter.c (gomp_iter_static_next): Round up when computing number
12798 of iterations. Don't bother distributing a remainder equally.
12799
12800 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12801 Don't call srand. Zero b before testing.
12802 (main): New.
12803
12804 2005-09-24 Jakub Jelinek <jakub@redhat.com>
12805
12806 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12807 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12808
12809 2005-09-23 Jakub Jelinek <jakub@redhat.com>
12810
12811 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12812 without !$omp end do, followed immediately by subroutine end.
12813
12814 2005-09-23 Diego Novillo <dnovillo@redhat.com>
12815
12816 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12817
12818 2005-09-22 Richard Henderson <rth@redhat.com>
12819
12820 * critical.c (GOMP_critical_name_start): Change argument to void**.
12821 Reuse the pointer space if the mutex fits.
12822 (GOMP_critical_name_end): Likewise.
12823 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12824 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12825 (GOMP_critical_name_end): Likewise.
12826 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12827 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12828
12829 2005-09-20 Richard Henderson <rth@redhat.com>
12830
12831 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12832 (create_lock_lock): New.
12833 (initialize_critical): Initialize it.
12834 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12835 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12836
12837 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12838
12839 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12840
12841 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12842
12843 * testsuite/libgomp.dg/omp-loop01.c: New test.
12844 * testsuite/libgomp.dg/omp-loop02.c: New test.
12845
12846 2005-09-20 Jakub Jelinek <jakub@redhat.com>
12847
12848 * configure.ac (AC_PROG_FC): Add.
12849 (USE_FORTRAN): New automake conditional.
12850 * configure: Rebuilt.
12851 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12852 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12853 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12854 Add rules to build them.
12855 * Makefile.in: Rebuilt.
12856 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12857 OMP_NEST_LOCK_KIND.
12858 * libgomp.map: Add Fortran wrappers.
12859 * libgomp_f.h.in: New file.
12860 * omp_lib.h.in: New file.
12861 * omp_lib.f90.in: New file.
12862 * fortran.c: New file.
12863 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12864 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12865 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12866 libgfortran has been built.
12867 * testsuite/libgomp.fortran/fortran.exp: New file.
12868 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12869 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12870 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12871 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12872 * testsuite/libgomp.fortran/omp_hello.f: New test.
12873 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12874 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12875 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12876 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12877 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12878 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12879 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12880 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12881
12882 2005-08-30 Richard Henderson <rth@redhat.com>
12883
12884 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12885 function for when aliases are not usable.
12886 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12887 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12888 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12889 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12890 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12891 GOMP_loop_ordered_guided_next): Likewise.
12892 * ordered.c (GOMP_ordered_start): Likewise.
12893
12894 2005-08-01 Diego Novillo <dnovillo@redhat.com>
12895
12896 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12897 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12898 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12899 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12900 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12901 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12902 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12903 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12904 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12905
12906 2005-07-07 Eric Christopher <echristo@redhat.com>
12907 Diego Novillo <dnovillo@redhat.com>
12908
12909 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12910 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12911 up code.
12912 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12913 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12914 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12915 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12916 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12917 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12918 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12919
12920 2005-06-13 Diego Novillo <dnovillo@redhat.com>
12921
12922 * TOPLEVEL.patch: Remove.
12923
12924 2005-05-16 Richard Henderson <rth@redhat.com>
12925
12926 * configure.ac: Test for clock_gettime.
12927 * config.h.in, configure: Rebuild.
12928 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12929 (omp_get_wtime): Use clock_gettime if available.
12930 (omp_get_wtick): Use clock_getres if available.
12931
12932 2005-05-11 Richard Henderson <rth@redhat.com>
12933
12934 * config/linux/ia64/futex.h: New file.
12935 * configure.tgt: Use it.
12936
12937 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12938
12939 2005-05-07 Richard Henderson <rth@redhat.com>
12940
12941 * config/linux/powerpc/futex.h: New file.
12942 * configure.tgt: Use it.
12943
12944 * config/linux/i486/futex.h: Merge ...
12945 * config/linux/x86_64/futex.h: ... into ...
12946 * config/linux/x86/futex.h: ... here.
12947 * configure.tgt: Update to match.
12948
12949 2005-05-06 Richard Henderson <rth@redhat.com>
12950
12951 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12952 * config/linux/i486/futex.h: Likewise.
12953 * config/linux/x86_64/futex.h: Likewise.
12954
12955 * config/linux/lock.c: New file.
12956 * config/linux/omp-lock.h: New file.
12957
12958 * critical.c, env.h: Don't include omp.h
12959 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12960 * config/posix/time.c: Likewise.
12961 * config/posix/omp-lock.h: New file.
12962 * libgomp.h: Include omp-lock.h and omp.h.
12963 * Makefile.am (nodist_include_HEADERS): New.
12964 (omp.h): New rule.
12965 * configure.ac (PERL): New.
12966 * mkomp_h.pl: New file.
12967 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12968 with templates.
12969 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12970
12971 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12972 build directory. Re-add -march=i486 hack.
12973
12974 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12975 (libgomp_link_flags): Remove.
12976 (libgomp_initialized): Remove.
12977 (libgomp_init): Don't protect from reinitialization. Copy code
12978 from libstdc++ for getting the multilib set correctly.
12979
12980 2005-05-05 Richard Henderson <rth@redhat.com>
12981
12982 * config/linux/alpha/futex.h: New file.
12983 * configure.tgt (alpha*-*-linux*): Use it.
12984
12985 * config/posix/mutex.c: New file.
12986 * config/posix/sem.c: Use libgomp.h.
12987
12988 * configure.tgt (x86_64-linux): Also test CC for -m32.
12989 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12990
12991 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
12992 after $gccpath.
12993
12994 * Makefile.am (SUBDIRS): New.
12995 (libgomp_la_LDFLAGS): Add -lpthread.
12996 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12997 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12998
12999 * libgomp_g.h: New file.
13000 * libgomp.h: Split out all public declarations to libgomp_g.h.
13001 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13002 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13003 * config/linux/sem.h: Likewise.
13004 * config/posix/sem.h: Likewise.
13005
13006 * Makefile.am (AM_LDFLAGS): New.
13007 (libgomp_version_script): Split out from ...
13008 (libgomp_la_LDFLAGS): ... here.
13009 (libgomp_version_info): New.
13010 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13011 (LIBGOMP_ENABLE): New.
13012 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13013 (LIBGOMP_ENABLE_SYMVERS): New.
13014 * configure.ac (AC_INIT): Version 1.0.
13015 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13016 (enable-linux-futex): Likewise. Rename from enable-futex.
13017 (libtool_VERSION): New.
13018 (LIBGOMP_ENABLE_SYMVERS): Use it.
13019 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13020 * Makefile.in, aclocal.m4, configure: Rebuild.
13021
13022 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13023 (gomp_mutex_unlock_slow): Fix typo.
13024 * config/linux/sem.c: Similarly.
13025 (gomp_sem_post_slow): Fix typo.
13026 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13027 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13028 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13029
13030 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13031 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13032 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13033 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13034 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13035 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13036 LDFLAGS. Pull enable_futex check to top-level.
13037 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13038 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13039
13040 First attempt at real configury.
13041 * Makefile, config.h: Remove file.
13042 * Makefile.am, Makefile.in: New file.
13043 * acinclude.m4 aclocal.m4: New file.
13044 * configure.ac, configure.tgt, configure: New file.
13045
13046 * config/posix/lock.c: Rename from sys-lock.c.
13047 * config/posix/mutex.h: Rename from sys-mutex.h.
13048 * config/posix/sem.c: Rename from sys-sem.c.
13049 * config/posix/sem.h: Rename from sys-sem.h.
13050 * config/posix/proc.c: Rename from sys-proc.c.
13051 * config/posix/time.c: Rename from sys-proc.c.
13052
13053 * config/linux/mutex.c: New file.
13054 * config/linux/mutex.h: New file.
13055 * config/linux/sem.c: New file.
13056 * config/linux/sem.h: New file.
13057 * config/linux/i486/futex.h: New file.
13058 * config/linux/x86_64/futex.h: New file.
13059
13060 2005-05-04 Richard Henderson <rth@redhat.com>
13061
13062 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13063 * libgomp.h: Declare them.
13064 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13065 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13066
13067 2005-05-04 Richard Henderson <rth@redhat.com>
13068
13069 * libgomp-1 code drop
13070
13071 2005-05-04 Richard Henderson <rth@redhat.com>
13072
13073 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13074 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13075 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13076 (gomp_iter_static_next): Update.
13077 (gomp_ordered_static_next): Update.
13078 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13079 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13080 totally empty range.
13081 (gomp_loop_ordered_static_next): Refine test for calling
13082 gomp_ordered_static_next.
13083 * testsuite/ordered-1.c: Add case for more threads than iterations.
13084
13085 * iter.c (gomp_iter_runtime_next_locked): Remove.
13086 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
13087 gomp_loop_guided_start, gomp_loop_ordered_static_start,
13088 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13089 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13090 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13091 gomp_loop_ordered_guided_next): Downcase name, make static, add
13092 an external alias with the old name.
13093 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13094 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13095 switch and call one of the above static functions.
13096 * libgomp.h: Update.
13097
13098 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13099 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13100 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13101 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13102 GOMP_loop_ordered_guided_start): Update to match.
13103 * sections.c (GOMP_sections_start): Likewise.
13104 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13105
13106 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13107 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13108 Use bounds check instead of modulus.
13109 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13110 (gomp_ordered_last): Don't sync with ordered_owner here.
13111 (gomp_ordered_next): Likewise.
13112 (gomp_ordered_static_loop_next): Likewise.
13113 * loop.c, libgomp.h: Update to match.
13114
13115 * libgomp.h (GOMP_barrier): Declare.
13116
13117 * testsuite/barrier-1.c: New file.
13118 * testsuite/critical-1.c: New file.
13119 * testsuite/ordered-2.c: New file.
13120 * testsuite/ordered-1.c: New file.
13121 * testsuite/sections-1.c: New file.
13122 * testsuite/single-1.c: New file.
13123 * testsuite/Makefile (TESTS): Add them.
13124
13125 2005-05-04 Richard Henderson <rth@redhat.com>
13126
13127 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13128 * loop.c (GOMP_loop_static_start): If not the startup thread,
13129 acquire the mutex to wait for initialization complete.
13130 (GOMP_loop_ordered_static_start): Likewise.
13131 (GOMP_loop_ordered_runtime_start): Likewise.
13132 (GOMP_loop_ordered_static_first): Remove.
13133 (GOMP_loop_ordered_dynamic_first): Remove.
13134 (GOMP_loop_ordered_guided_first): Remove.
13135 (GOMP_loop_ordered_runtime_first): Remove.
13136 * ordered.c (gomp_ordered_loop_first): Post to own release when
13137 we're the first thread.
13138 (gomp_ordered_loop_last): Wait on release if not owner.
13139 (gomp_ordered_loop_next): Likewise.
13140 (gomp_ordered_static_loop_init): New.
13141 (gomp_ordered_static_loop_next): Use ordered_owner.
13142 (GOMP_ordered_start): Likewise.
13143 * work.c (gomp_new_work_share): Initialize ordered_owner.
13144
13145 2005-05-03 Richard Henderson <rth@redhat.com>
13146
13147 * Makefile (OPT): New.
13148 (CFLAGS): Use it.
13149
13150 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13151 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13152 * libgomp.h, libgomp.map, NOTES: Update to match.
13153
13154 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13155 Add initialized and thr members.
13156 (gomp_thread_start): Pause when initially spawned to wait for
13157 the whole team to be created.
13158 (gomp_team_start): Release team members at the end.
13159
13160 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13161 (f_foo_1): Use GOMP_loop_end.
13162 (f_foo_2): Use GOMP_loop_end_nowait.
13163
13164 * testsuite/loop-2.c: New file.
13165 * testsuite/Makefile (TESTS): Add it.
13166
13167 2005-05-03 Richard Henderson <rth@redhat.com>
13168
13169 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13170 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13171 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13172 initial work_share.
13173
13174 * testsuite/Makefile: New file.
13175 * testsuite/loop-1.c: New file.
13176
13177 2005-05-03 Richard Henderson <rth@redhat.com>
13178
13179 Initial implementation and checkin.
13180 \f
13181 Copyright (C) 2005-2020 Free Software Foundation, Inc.
13182
13183 Copying and distribution of this file, with or without modification,
13184 are permitted in any medium without royalty provided the copyright
13185 notice and this notice are preserved.