]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Test cases for mixed structured/dynamic data lifetimes with OpenACC [PR92843]
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2020-04-10 Julian Brown <julian@codesourcery.com>
2 Thomas Schwinge <thomas@codesourcery.com>
3
4 PR libgomp/92843
5 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6 New file.
7 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
8 Likewise.
9 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
10 Likewise.
11 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
12 Likewise.
13 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
14 Likewise.
15 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
16 Likewise.
17 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
18 Likewise.
19 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
20 Likewise.
21 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
22 Likewise.
23 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
24 Likewise.
25 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
26 Likewise.
27 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
28 Likewise.
29 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
30 Likewise.
31 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
32 Likewise.
33 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
34 Likewise.
35 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
36 Likewise.
37
38 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
39
40 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
41 run'.
42
43 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
44
45 PR middle-end/94120
46 * libgomp.oacc-c++/declare-pr94120.C: New.
47
48 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
49
50 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
51 files.
52 * configure: Regenerate.
53 * testsuite/libgomp-site-extra.exp.in: New file.
54 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
55 variable.
56 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
57 variable.
58 * testsuite/Makefile.in: Regenerate.
59
60 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
61
62 PR tree-optimization/89713
63 PR c/94392
64 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
65 'bar.sync'.
66 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
67
68 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
69
70 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
71 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
72
73 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
74
75 PR libgomp/81689
76 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
77
78 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
79
80 PR libgomp/94251
81 * target.c (gomp_load_image_to_device): Fix link
82 variable handling.
83
84 2020-03-19 Jakub Jelinek <jakub@redhat.com>
85
86 PR c++/93931
87 * testsuite/libgomp.c++/pr93931.C: New test.
88
89 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
90
91 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
92 dg-allow-blank-lines-in-output.
93
94 2020-03-18 Julian Brown <julian@codesourcery.com>
95 Tobias Burnus <tobias@codesourcery.com>
96
97 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
98 it work concurrently.
99
100 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
101
102 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
103 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
104 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
105
106 2020-03-14 Jakub Jelinek <jakub@redhat.com>
107
108 PR middle-end/93566
109 * testsuite/libgomp.c/pr93566.c: New test.
110
111 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
112
113 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
114 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
115 integer(acc_device_property) for the type of the return value of
116 acc_get_property.
117
118 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
119
120 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
121 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
122 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
123 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
124 (acc_set_device_num): Fix Fortran argument name, use same name for C.
125 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
126 corrections; add note about the previous interface and named constant.
127 (OpenACC library and environment variables): Fix two typos.
128 * openacc.f90: Use for all procedures the argument names from the spec
129 as for …_h they are user visible.
130 (openacc_kinds): Rename acc_device_property to
131 acc_device_property_kinds and change value to int32 ; and update users.
132 Re-add acc_device_property for for backward compatibility.
133 (acc_get_property_string_h): Clean up as acc_device_property_kind
134 changed.
135 (acc_get_property_h): Likewise and return c_size_t instead of
136 acc_device_property.
137 (openacc): Also export acc_device_property_kinds.
138 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
139 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
140 handling; check against /= 0 instead of == 1 to match C.
141 * openacc_lib.h: Use for all procedures the argument names from the spec
142 as for …_h they are user visible. Place !GCC$ into the first column to
143 be active also for fixed-form souce form.
144 (acc_device_current, acc_device_property_kind, acc_device_property,
145 acc_property_memory, acc_property_free_memory, acc_property_name,
146 acc_property_vendor, acc_property_driver): New named constants.
147 (acc_get_property, acc_get_property_string): New generic interface.
148
149 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
150
151 PR libgomp/93481
152 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
153 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
154 optional.
155 (gomp_target_task_fn): Assert "devicep->async_run_func".
156 (clear_unsupported_flags): New function to remove unsupported flags
157 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
158 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
159 * testsuite/libgomp.c/target-33.c:
160 Remove xfail for offload_target_nvptx.
161 * testsuite/libgomp.c/target-34.c: Likewise.
162
163 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
164
165 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
166 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
167 * testsuite/libgomp.c/target-34.c: Likewise.
168 * testsuite/libgomp.c/target-link-1.c: Add xfail for
169 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
170
171 2020-02-09 Jakub Jelinek <jakub@redhat.com>
172
173 * testsuite/libgomp.c/target-38.c: New test.
174
175 2020-02-06 Jakub Jelinek <jakub@redhat.com>
176
177 PR libgomp/93515
178 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
179
180 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
181
182 * testsuite/lib/libgomp.exp
183 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
184 and not as 'source' argument to libgomp_target_compile.
185
186 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
187
188 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
189 (gcn_gfx801_s): Remove.
190 (isa_hsa_name): Remove gfx801.
191 (isa_gcc_name): Remove gfx801/carizzo.
192 (isa_code): Remove gfx801.
193
194 2020-02-03 Julian Brown <julian@codesourcery.com>
195 Tobias Burnus <tobias@codesourcery.com>
196
197 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
198 and *_finalize variants; document acc_attach and acc_detach; update
199 references from OpenACC 2.0 to 2.6.
200 * openacc.f90 (openacc_version): Update to 201711.
201 * openacc_lib.h (openacc_version): Update to 201711.
202 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
203 openacc_version to 201711.
204 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
205
206 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
207
208 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
209 and vgpr_count fields.
210 (struct kernel_info): Add a field for a hsa_kernel_description.
211 (run_kernel): Reduce the number of threads/workers if the requested
212 number would require too many VGPRs.
213 (init_basic_kernel_info): Initialize description field with
214 the hsa_kernel_description entry for the kernel.
215
216 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
217
218 PR bootstrap/93409
219 * plugin/configfrag.ac (enable_offload_targets): Skip
220 HSA and GCN plugin besides -m32 also for -mx32.
221 * configure: Regenerate.
222
223 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
224
225 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
226
227 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
228
229 * plugin-gcn.c (struct agent_info): Add fields "name" and
230 "vendor_name" ...
231 (GOMP_OFFLOAD_init_device): ... and init from here.
232 (struct hsa_context_info): Add field "driver_version_s" ...
233 (init_hsa_contest): ... and init from here.
234 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
235 implementation.
236 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
237 Enable test execution for amdgcn and host offloading targets.
238 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
239 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
240 (expect_device_properties): Split function into ...
241 (expect_device_string_properties): ... this new function ...
242 (expect_device_memory): ... and this new function.
243 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
244 Add test.
245
246 2020-01-28 Julian Brown <julian@codesourcery.com>
247
248 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
249 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
250 component/non-component variable refs in a single directive.
251 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
252
253 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
254
255 * configure.ac: Handle `--with-toolexeclibdir='.
256 * Makefile.in: Regenerate.
257 * aclocal.m4: Regenerate.
258 * configure: Regenerate.
259 * testsuite/Makefile.in: Regenerate.
260
261 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
262
263 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
264 (expect_device_properties): Remove "expected_free_mem" argument,
265 change "expected_total_mem" argument type to size_t;
266 change types of acc_get_property results to size_t,
267 adapt format strings.
268 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
269 Use %zu instead of %zd to print size_t values.
270 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
271 rename to ...
272 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
273 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
274 rename to ...
275 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
276
277 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
278
279 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
280 the device id.
281
282 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
283
284 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
285 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
286 Adjust test dimensions for amdgcn.
287 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
288 gang/worker/vector expectations dynamically.
289 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
290 (main): Likewise.
291 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
292 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
293 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
294 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
295 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
296 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
297 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
298 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
299 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
300 (acc_gang): Recognise acc_device_radeon.
301 (acc_worker): Likewise.
302 (acc_vector): Likewise.
303 (main): Set expectations for amdgcn.
304 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
305 (main): Adjust gang/worker/vector expectations dynamically.
306 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
307 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
308 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
309 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
310 for amdgcn.
311
312 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
313
314 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
315 acc_device_radeon.
316 (openacc): Likewise.
317 * openacc.f90 (openacc_kinds): Likewise.
318 (openacc): Likewise.
319 * openacc.h (acc_device_t): Likewise.
320 * openacc_lib.h: Likewise.
321 * testsuite/lib/libgomp.exp
322 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
323 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
324 (cb_compute_construct_end): Likewise.
325 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
326 (cb_enqueue_launch_start): Likewise.
327 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
328 (cb_enter_data_end): Likewise.
329 (cb_exit_data_start): Likewise.
330 (cb_exit_data_end): Likewise.
331 (cb_compute_construct_end): Likewise.
332 (cb_enqueue_launch_start): Likewise.
333 (cb_enqueue_launch_end): Likewise.
334 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
335 (main): Likewise.
336
337 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
338
339 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
340 to use this instead of 'enum gomp_device_property'.
341 (GOMP_OFFLOAD_get_property): Rename to...
342 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
343 * libgomp.h (struct gomp_device_descr): Move
344 'GOMP_OFFLOAD_openacc_get_property'...
345 (struct acc_dispatch_t): ... here. Adjust all users.
346 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
347
348 * target.c (gomp_map_vars_internal)
349 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
350 paths.
351
352 2020-01-10 Jakub Jelinek <jakub@redhat.com>
353
354 PR libgomp/93219
355 * libgomp.h (gomp_print_string): Change return type from void to int.
356 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
357 not all characters have been written.
358
359 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
360
361 * libgomp.texi: Fix typos, use https.
362
363 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
364
365 * testsuite/libgomp.fortran/optional-map.f90: Add test for
366 unallocated/disassociated actual arguments to nonallocatable/nonpointer
367 dummy arguments; those are/shall be regarded as absent arguments.
368 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
369 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
370
371 2020-01-01 Jakub Jelinek <jakub@redhat.com>
372
373 Update copyright years.
374
375 * libgomp.texi: Bump @copying's copyright year.
376
377 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
378
379 PR libgomp/93065
380 * oacc-init.c (goacc_runtime_deinitialize): New function.
381
382 2019-12-28 Jakub Jelinek <jakub@redhat.com>
383
384 PR bootstrap/93074
385 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
386 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
387
388 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
389 Frederik Harwath <frederik@codesourcery.com>
390 Thomas Schwinge <tschwinge@codesourcery.com>
391
392 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
393 * libgomp-plugin.h (gomp_device_property_value): New union.
394 (gomp_device_property_value): New prototype.
395 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
396 constant.
397 (acc_device_property_t): New enum.
398 (acc_get_property, acc_get_property_string): New prototypes.
399 * oacc-init.c (acc_get_device_type): Also assert that result
400 is not `acc_device_current'.
401 (get_property_any, acc_get_property, acc_get_property_string):
402 New functions.
403 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
404 `acc_property_memory', `acc_property_free_memory',
405 `acc_property_name', `acc_property_vendor' and
406 `acc_property_driver' constants. Add `acc_device_property' data
407 type.
408 (openacc_internal): Add `acc_get_property' and
409 `acc_get_property_string' interfaces. Add `acc_get_property_h',
410 `acc_get_property_string_h', `acc_get_property_l' and
411 `acc_get_property_string_l'.
412 * oacc-host.c (host_get_property): New function.
413 (host_dispatch): Wire it.
414 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
415 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
416 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
417 * libgomp.texi (OpenACC Runtime Library Routines): Add
418 `acc_get_property'.
419 (acc_get_property): New node.
420 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
421 function (stub).
422 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
423 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
424 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
425 calls.
426 (GOMP_OFFLOAD_get_property): New function.
427 (struct ptx_device): Add new field "name".
428 (cuda_driver_version_s): Add new static variable ...
429 (nvptx_init): ... and init from here.
430
431 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
432 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
433 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
434 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
435 with test helper functions.
436
437 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
438
439 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
440
441 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
442 variable.
443
444 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
445
446 * target.c (gomp_map_vars_internal): Restore 'omp declare target
447 link' handling.
448
449 2019-12-19 Julian Brown <julian@codesourcery.com>
450
451 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
452 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
453 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
454
455 2019-12-19 Julian Brown <julian@codesourcery.com>
456 Cesar Philippidis <cesar@codesourcery.com>
457
458 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
459 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
460 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
461 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
462 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
463 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
464 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
465 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
466 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
467 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
468 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
469 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
470 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
471
472 2019-12-19 Julian Brown <julian@codesourcery.com>
473
474 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
475 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
476 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
477 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
478 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
479 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
480 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
481 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
482 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
483 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
484 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
485 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
486
487 2019-12-19 Julian Brown <julian@codesourcery.com>
488
489 * libgomp.h (struct target_var_desc): Add do_detach flag.
490 * oacc-init.c (acc_shutdown_1): Free aux block if present.
491 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
492 struct components. Tidy up and add some new checks.
493 (goacc_enter_data_internal): Update call to find_group_last.
494 (goacc_exit_data_internal): Support detach operations and
495 GOMP_MAP_STRUCT.
496 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
497 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
498 attach/detach in enter/exit data detection code.
499 * target.c (gomp_map_vars_existing): Initialise do_detach field of
500 tgt_var_desc.
501 (gomp_map_vars_internal): Support attach.
502 (gomp_unmap_vars_internal): Support detach.
503
504 2019-12-19 Julian Brown <julian@codesourcery.com>
505 Thomas Schwinge <thomas@codesourcery.com>
506
507 * libgomp.h (struct splay_tree_aux): Add attach_count field.
508 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
509 * libgomp.map (OACC_2.6): New section. Add acc_attach,
510 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
511 acc_detach_finalize_async.
512 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
513 acc_detach, acc_detach_async, acc_detach_finalize,
514 acc_detach_finalize_async): New functions.
515 * openacc.h (acc_attach, acc_attach_async, acc_detach,
516 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
517 prototypes.
518 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
519 (gomp_remove_var_internal): Free attachment counts if present.
520 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
521 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
522
523 2019-12-19 Julian Brown <julian@codesourcery.com>
524 Cesar Philippidis <cesar@codesourcery.com>
525
526 * libgomp.h (gomp_map_val): Add prototype.
527 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
528 open-coding device-address calculation.
529 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
530 non-present case.
531
532 2019-12-19 Julian Brown <julian@codesourcery.com>
533
534 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
535 field for virtual_refcount.
536 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
537 (gomp_free_memmap): Remove prototype.
538 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
539 instead of calling gomp_free_memmap.
540 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
541 dynamic_refcount.
542 (acc_unmap_data): Open code instead of forcing target_mem_desc's
543 to_free field to NULL then calling gomp_unmap_vars. Handle
544 REFCOUNT_INFINITY on target blocks.
545 (goacc_enter_data): Rename to...
546 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
547 handling for mapping groups. Use virtual_refcount instead of
548 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
549 map_map_vars_async call. Re-do lookup for target pointer return value.
550 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
551 renamed goacc_enter_datum function.
552 (goacc_exit_data): Rename to...
553 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
554 (acc_delete, acc_delete_async, acc_delete_finalize,
555 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
556 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
557 goacc_exit_datum function.
558 (gomp_acc_remove_pointer, find_pointer): Remove functions.
559 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
560 New functions.
561 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
562 goacc_exit_data_internal helper functions.
563 * target.c (gomp_map_vars_internal): Handle
564 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
565 semantics.
566 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
567 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
568 virtual_refcount field instead of dynamic_refcount.
569 (gomp_free_memmap): Remove function.
570 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
571 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
572 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
573
574 2019-12-19 Julian Brown <julian@codesourcery.com>
575 Thomas Schwinge <thomas@codesourcery.com>
576
577 * libgomp.h (struct splay_tree_aux): New.
578 (struct splay_tree_key_s): Replace link_key field with aux pointer.
579 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
580 to aux struct.
581 (gomp_remove_var_internal): Free aux block if present.
582 (gomp_load_image_to_device): Zero-initialise aux field instead of
583 link_key field.
584 (omp_target_associate_pointer): Zero-initialise aux field.
585
586 2019-12-18 Jakub Jelinek <jakub@redhat.com>
587
588 PR middle-end/86416
589 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
590 q or none.
591 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
592 L or none.
593
594 2019-12-19 Julian Brown <julian@codesourcery.com>
595 Maciej W. Rozycki <macro@codesourcery.com>
596 Tobias Burnus <tobias@codesourcery.com>
597 Thomas Schwinge <thomas@codesourcery.com>
598
599 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
600 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
601 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
602 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
603 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
604 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
605 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
606 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
607 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
608
609 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
610
611 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
612 called...
613 (goacc_insert_pointer): ... from here, "present" case.
614 (goacc_insert_pointer): Inline function into...
615 (GOACC_enter_exit_data): ... here, and simplify.
616
617 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
618 called...
619 (goacc_insert_pointer): ... from here, "not present" case.
620
621 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
622 all users.
623
624 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
625 'goacc_enter_data', 'goacc_exit_data'.
626
627 * oacc-mem.c (delete_copyout): Refactor into...
628 (goacc_exit_data): ... this. Adjust all users.
629
630 * oacc-mem.c (present_create_copy): Refactor into...
631 (goacc_enter_data): ... this. Adjust all users.
632
633 * target.c (gomp_unmap_vars_internal): Add a safeguard to
634 'gomp_remove_var'.
635
636 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
637 like 'GOMP_MAP_FROM'.
638
639 PR libgomp/92726
640 PR libgomp/92970
641 PR libgomp/92984
642 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
643 fails.
644 (GOACC_enter_exit_data): Simplify accordingly.
645 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
646 subsuming...
647 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
648 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
649 file.
650 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
651 subsuming...
652 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
653 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
654 file.
655 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
656 subsuming...
657 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
658
659 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
660 'finalize' handling.
661
662 PR libgomp/92848
663 * oacc-mem.c (acc_map_data, present_create_copy)
664 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
665 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
666 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
667 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
668 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
669 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
670 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
671 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
672 Remove "XFAIL"s.
673
674 * target.c (gomp_unmap_tgt): Make it 'static'.
675 * libgomp.h (gomp_unmap_tgt): Remove.
676
677 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
678
679 PR middle-end/86416
680 * testsuite/libgomp.c/pr86416-1.c: New.
681 * testsuite/libgomp.c/pr86416-2.c: New.
682
683 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
684
685 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
686 all symbols as public except for the 'use …, only' imported symbol,
687 which is private.
688 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
689 all symbols from module openacc_kinds as PUBLIC
690 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
691 fix comment typo.
692 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
693
694 2019-12-13 Julian Brown <julian@codesourcery.com>
695
696 PR libgomp/92881
697
698 * libgomp.h (gomp_remove_var_async): Add prototype.
699 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
700 gomp_remove_var.
701 * target.c (gomp_unref_tgt): Change return type to bool, indicating
702 whether target_mem_desc was unmapped.
703 (gomp_unref_tgt_void): New.
704 (gomp_remove_var): Reimplement in terms of...
705 (gomp_remove_var_internal): ...this new helper function.
706 (gomp_remove_var_async): New, implemented using above helper function.
707 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
708 gomp_unref_tgt.
709
710 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
711
712 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
713 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
714 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
715 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
716 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
717 Likewise.
718 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
719 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
720
721 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
722
723 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
724 as public except for the 'use …, only' imported symbol, which is
725 private.
726 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
727 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
728 attributes for acc_copyout_finalize and acc_delete_finalize.
729
730 2019-12-11 Jakub Jelinek <jakub@redhat.com>
731
732 PR fortran/92899
733 * testsuite/libgomp.fortran/atomic1.f90: New test.
734
735 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
736
737 PR libgomp/92843
738 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
739 reference counting for structured 'REFCOUNT_INFINITY'. Add some
740 assertions.
741 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
742 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
743 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
744 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
745 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
746
747 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
748 * oacc-mem.c: ... here.
749 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
750 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
751 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
752 Remove.
753 * libgomp_g.h: Update.
754
755 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
756 * oacc-async.c: ... here.
757 * oacc-int.h (goacc_wait): Declare.
758 * libgomp_g.h: Update
759
760 PR libgomp/92854
761 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
762 New file.
763 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
764 Likewise.
765 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
766 Likewise.
767 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
768 Likewise.
769 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
770 Likewise.
771 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
772 Likewise.
773
774 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
775 Julian Brown <julian@codesourcery.com>
776
777 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
778 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
779
780 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
781
782 * omp_lib.h.in: Fix spelling of function declaration
783 omp_get_cancell(l)ation.
784 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
785 Fix typos.
786 * env.c: Fix comment typos.
787 * oacc-host.c: Likewise.
788 * ordered.c: Likewise.
789 * task.c: Likewise.
790 * team.c: Likewise.
791 * config/gcn/task.c: Likewise.
792 * config/gcn/team.c: Likewise.
793 * config/nvptx/task.c: Likewise.
794 * config/nvptx/team.c: Likewise.
795 * plugin/plugin-gcn.c: Likewise.
796 * testsuite/libgomp.fortran/jacobi.f: Likewise.
797 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
798 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
799
800 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
801
802 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
803 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
804 unnecessary 'dg-additional-options "-w"'.
805
806 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
807 Julian Brown <julian@codesourcery.com>
808
809 PR libgomp/92116
810 PR libgomp/92877
811
812 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
813 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
814 Adjust all users.
815 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
816 Remove XFAIL.
817 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
818 Likewise.
819 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
820
821 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
822
823 PR libgomp/92503
824 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
825 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
826 file.
827 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
828 Likewise.
829 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
830 Likewise.
831 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
832 Likewise.
833 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
834 Likewise.
835 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
836 Likewise.
837 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
838 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
839 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
840 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
841 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
842 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
843 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
844 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
845 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
846 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
847
848 PR libgomp/92840
849 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
850 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
851 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
852 New file.
853 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
854 Likewise.
855 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
856 Likewise.
857 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
858 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
859
860 PR libgomp/92511
861 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
862 this file...
863 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
864 this file...
865 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
866 file...
867 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
868 file...
869 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
870 ... with their content moved into, and extended in this new file.
871 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
872 New file.
873 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
874 Likewise.
875 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
876 Likewise.
877 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
878 Likewise.
879
880 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
881
882 PR libgomp/92854
883 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
884
885 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
886
887 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
888
889 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
890
891 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
892 unique.
893 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
894 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
895 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
896 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
897 Ditto.
898 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
899 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
900
901 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
902
903 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
904
905 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
906 Kwok Cheung Yeung <kcy@codesourcery.com>
907
908 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
909 if input it a NULL pointer.
910 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
911 diagnostic of NULL pointer.
912 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
913 * testsuite/libgomp.fortran/optional-map.f90: New.
914 * testsuite/libgomp.fortran/use_device_addr-1.f90
915 (test_dummy_opt_callee_1_absent): New.
916 (test_dummy_opt_call_1): Call it.
917 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
918 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
919 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
920 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
921 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
922 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
923 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
924 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
925 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
926 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
927 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
928 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
929 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
930 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
931 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
932 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
933
934 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
935
936 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
937 expect dg-output of 'Error termination.' for GCN.
938 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
939 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
940
941 2019-12-04 Jakub Jelinek <jakub@redhat.com>
942
943 PR fortran/92756
944 * testsuite/libgomp.fortran/teams1.f90: New test.
945 * testsuite/libgomp.fortran/teams2.f90: New test.
946
947 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
948
949 * oacc-init.c (acc_known_device_type): Add function.
950 (unknown_device_type_error): Add function.
951 (name_of_acc_device_t): Change to call unknown_device_type_error
952 on unknown type.
953 (resolve_device): Use acc_known_device_type.
954 (acc_init): Fail if acc_device_t argument is not valid.
955 (acc_shutdown): Likewise.
956 (acc_get_num_devices): Likewise.
957 (acc_set_device_type): Likewise.
958 (acc_get_device_num): Likewise.
959 (acc_set_device_num): Likewise.
960 (acc_on_device): Add comment that argument validity is not checked.
961
962 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
963
964 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
965 Recognize amdgcn.
966 (check_effective_target_openacc_amdgcn_accel_present): New proc.
967 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
968 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
969 * testsuite/libgomp.oacc-c/c.exp: Likewise.
970 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
971
972 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
973
974 PR libgomp/91938
975 * configure.tgt: Avoid IE tls on *-*-musl*.
976
977 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
978
979 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
980 adding a common-block test case.
981
982 2019-11-29 Jakub Jelinek <jakub@redhat.com>
983
984 PR c++/60228
985 * testsuite/libgomp.c++/udr-20.C: New test.
986 * testsuite/libgomp.c++/udr-21.C: New test.
987
988 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
989
990 * testsuite/lib/libgomp.exp
991 (check_effective_target_offload_target_nvptx): New proc.
992 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
993 'dg-skip-if'.
994 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
995 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
996 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
997
998 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
999
1000 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1001 * testsuite/libgomp.c/pr39591-2.c: Likewise.
1002 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1003 * testsuite/libgomp.c/private-1.c: Likewise.
1004 * testsuite/libgomp.c/task-1.c: Likewise.
1005 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1006
1007 2019-11-20 Julian Brown <julian@codesourcery.com>
1008
1009 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1010 aq->mutex here.
1011 (queue_push_launch): Lock aq->mutex before calling
1012 wait_for_queue_nonfull.
1013 (queue_push_callback): Likewise.
1014 (queue_push_asyncwait): Likewise.
1015 (queue_push_placeholder): Likewise.
1016
1017 2019-11-20 Julian Brown <julian@codesourcery.com>
1018
1019 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1020 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1021 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1022 return code.
1023
1024 2019-11-20 Julian Brown <julian@codesourcery.com>
1025
1026 PR libgomp/92511
1027
1028 * oacc-mem.c (present_create_copy): Fix device pointer return value in
1029 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
1030 in non-present/create case.
1031 (delete_copyout): Change error condition to fail only on copies outside
1032 of mapped block. Adjust error message accordingly.
1033 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1034 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1035 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1036 message.
1037 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1038 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1039 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1040
1041 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
1042
1043 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1044 libatomic in build-tree testing.
1045
1046 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
1047
1048 * testsuite/Makefile.in: Regenerate.
1049
1050 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
1051
1052 * testsuite/libgomp.c/target-print-1.c: New file.
1053 * testsuite/libgomp.fortran/target-print-1.f90: New file.
1054 * testsuite/libgomp.oacc-c/print-1.c: New file.
1055 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1056
1057 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1058 Kwok Cheung Yeung <kcy@codesourcery.com>
1059 Julian Brown <julian@codesourcery.com>
1060 Tom de Vries <tom@codesourcery.com>
1061
1062 * plugin/Makefrag.am: Add amdgcn plugin support.
1063 * plugin/configfrag.ac: Likewise.
1064 * plugin/plugin-gcn.c: New file.
1065 * configure: Regenerate.
1066 * Makefile.in: Regenerate.
1067 * testsuite/Makefile.in: Regenerate.
1068
1069 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1070
1071 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1072 and use team_malloc variants.
1073 (gomp_gcn_exit_kernel): Use team_free.
1074 * libgomp.h (TEAM_ARENA_SIZE): Define.
1075 (TEAM_ARENA_START): Define.
1076 (TEAM_ARENA_FREE): Define.
1077 (TEAM_ARENA_END): Define.
1078 (team_malloc): New function.
1079 (team_malloc_cleared): New function.
1080 (team_free): New function.
1081 * team.c (gomp_new_team): Initialize and use team_malloc.
1082 (free_team): Use team_free.
1083 (gomp_free_thread): Use team_free.
1084 (gomp_pause_host): Use team_free.
1085 * work.c (gomp_init_work_share): Use team_malloc.
1086 (gomp_fini_work_share): Use team_free.
1087
1088 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1089 Kwok Cheung Yeung <kcy@codesourcery.com>
1090 Julian Brown <julian@codesourcery.com>
1091 Tom de Vries <tom@codesourcery.com>
1092
1093 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1094 * Makefile.in: Regenerate.
1095 * config.h.in (PLUGIN_GCN): Add new undef.
1096 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1097 * config/gcn/affinity-fmt.c: New file.
1098 * config/gcn/bar.c: New file.
1099 * config/gcn/bar.h: New file.
1100 * config/gcn/doacross.h: New file.
1101 * config/gcn/icv-device.c: New file.
1102 * config/gcn/oacc-target.c: New file.
1103 * config/gcn/simple-bar.h: New file.
1104 * config/gcn/target.c: New file.
1105 * config/gcn/task.c: New file.
1106 * config/gcn/team.c: New file.
1107 * config/gcn/time.c: New file.
1108 * configure.ac: Add amdgcn*-*-*.
1109 * configure: Regenerate.
1110 * configure.tgt: Add amdgcn*-*-*.
1111 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1112 * libgomp.h (gcn_thrs): Add amdgcn variant.
1113 (set_gcn_thrs): Likewise.
1114 (gomp_thread): Likewise.
1115 * oacc-int.h (goacc_thread): Likewise.
1116 * oacc-target.c: New file.
1117 * openacc.f90 (acc_device_gcn): New parameter.
1118 * openacc.h (acc_device_t): Add acc_device_gcn.
1119 * team.c (gomp_free_pool_helper): Add amdgcn support.
1120
1121 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1122 Julian Brown <julian@codesourcery.com>
1123
1124 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1125 parameter.
1126 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1127 queue constructor.
1128 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1129 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1130 device parameter.
1131
1132 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
1133
1134 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1135 * config/nvptx/libgomp-plugin.c: Move ...
1136 * config/accel/libgomp-plugin.c: ... to here.
1137 * config/nvptx/lock.c: Move ...
1138 * config/accel/lock.c: ... to here.
1139 * config/nvptx/mutex.c: Move ...
1140 * config/accel/mutex.c: ... to here.
1141 * config/nvptx/mutex.h: Move ...
1142 * config/accel/mutex.h: ... to here.
1143 * config/nvptx/oacc-async.c: Move ...
1144 * config/accel/oacc-async.c: ... to here.
1145 * config/nvptx/oacc-cuda.c: Move ...
1146 * config/accel/oacc-cuda.c: ... to here.
1147 * config/nvptx/oacc-host.c: Move ...
1148 * config/accel/oacc-host.c: ... to here.
1149 * config/nvptx/oacc-init.c: Move ...
1150 * config/accel/oacc-init.c: ... to here.
1151 * config/nvptx/oacc-mem.c: Move ...
1152 * config/accel/oacc-mem.c: ... to here.
1153 * config/nvptx/oacc-plugin.c: Move ...
1154 * config/accel/oacc-plugin.c: ... to here.
1155 * config/nvptx/omp-lock.h: Move ...
1156 * config/accel/omp-lock.h: ... to here.
1157 * config/nvptx/openacc.f90: Move ...
1158 * config/accel/openacc.f90: ... to here.
1159 * config/nvptx/pool.h: Move ...
1160 * config/accel/pool.h: ... to here.
1161 * config/nvptx/proc.c: Move ...
1162 * config/accel/proc.c: ... to here.
1163 * config/nvptx/ptrlock.c: Move ...
1164 * config/accel/ptrlock.c: ... to here.
1165 * config/nvptx/ptrlock.h: Move ...
1166 * config/accel/ptrlock.h: ... to here.
1167 * config/nvptx/sem.c: Move ...
1168 * config/accel/sem.c: ... to here.
1169 * config/nvptx/sem.h: Move ...
1170 * config/accel/sem.h: ... to here.
1171 * config/nvptx/thread-stacksize.h: Move ...
1172 * config/accel/thread-stacksize.h: ... to here.
1173
1174 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1175 Tobias Burnus <tobias@codesourcery.com>
1176 Frederik Harwath <frederik@codesourcery.com>
1177 Thomas Schwinge <thomas@codesourcery.com>
1178
1179 libgomp/
1180 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1181 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1182 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1183
1184 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
1185 Kwok Cheung Yeung <kcy@codesourcery.com>
1186
1187 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1188 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1189
1190 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1191
1192 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1193
1194 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1195 run'.
1196 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1197 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1198
1199 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1200
1201 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1202 Add expected warnings about missing reduction clauses.
1203 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1204 Likewise.
1205 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1206 Likewise.
1207 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1208 Likewise.
1209
1210 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
1211
1212 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1213 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1214 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1215 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1216 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1217 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1218
1219 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
1220
1221 PR fortran/92305
1222 * testsuite/libgomp.fortran/allocatable2.f90: Use
1223 unique numbers with 'stop'.
1224 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1225 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1226 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1227 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1228 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1229
1230 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
1231
1232 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1233 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1234 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1235 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1236 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1237 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1238
1239 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1240
1241 * testsuite/libgomp.fortran/target9.f90: New.
1242
1243 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1244
1245 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1246 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1247 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1248 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1249 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1250 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1251 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1252 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1253 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1254 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1255 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1256 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1257 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1258 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1259 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1260 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1261 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1262 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1263 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1264 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1265 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1266 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1267 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1268 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1269 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1270 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1271 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1272 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1273 * testsuite/libgomp.fortran/character1.f90: Ditto.
1274 * testsuite/libgomp.fortran/character2.f90: Ditto.
1275 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1276 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1277 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1278 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1279 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1280 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1281 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1282 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1283 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1284 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1285 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1286 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1287 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1288 * testsuite/libgomp.fortran/do1.f90: Ditto.
1289 * testsuite/libgomp.fortran/do2.f90: Ditto.
1290 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1291 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1292 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1293 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1294 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1295 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1296 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1297 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1298 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1299 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1300 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1301 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1302 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1303 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1304 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1305 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1306 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1307 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1308 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1309 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1310 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1311 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1312 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1313 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1314 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1315 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1316 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1317 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1318 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1319 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1320 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1321 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1322 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1323 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1324 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1325 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1326 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1327 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1328 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1329 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1330 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1331 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1332 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1333 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1334 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1335 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1336 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1337 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1338 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1339 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1340 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1341 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1342 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1343 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1344 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1345 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1346 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1347 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1348 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1349 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1350 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1351 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1352 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1353 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1354 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1355 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1356 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1357 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1358 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1359 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1360 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1361 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1362 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1363 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1364 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1365 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1366 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1367 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1368 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1369 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1370 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1371 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1372 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1373 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1374 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1375 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1376 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1377 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1378 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1379 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1380 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1381 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1382 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1383 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1384 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1385 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1386 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1387 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1388 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1389 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1390 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1391 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1392 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1393 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1394 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1395 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1396 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1397 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1398 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1399 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1400 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1401 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1402 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1403 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1404 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1405 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1406 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1407 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1408 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1409 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1410 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1411 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1412 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1413 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1414 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1415 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1416 * testsuite/libgomp.fortran/stack.f90: Ditto.
1417 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1418 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1419 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1420 * testsuite/libgomp.fortran/target1.f90: Ditto.
1421 * testsuite/libgomp.fortran/target2.f90: Ditto.
1422 * testsuite/libgomp.fortran/target3.f90: Ditto.
1423 * testsuite/libgomp.fortran/target4.f90: Ditto.
1424 * testsuite/libgomp.fortran/target5.f90: Ditto.
1425 * testsuite/libgomp.fortran/target6.f90: Ditto.
1426 * testsuite/libgomp.fortran/target7.f90: Ditto.
1427 * testsuite/libgomp.fortran/target8.f90: Ditto.
1428 * testsuite/libgomp.fortran/task1.f90: Ditto.
1429 * testsuite/libgomp.fortran/task2.f90: Ditto.
1430 * testsuite/libgomp.fortran/task3.f90: Ditto.
1431 * testsuite/libgomp.fortran/task4.f90: Ditto.
1432 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1433 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1434 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1435 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1436 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1437 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1438 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1439 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1440 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1441 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1442 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1443 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1444 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1445 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1446 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1447 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1448 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1449 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1450 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1451 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1452 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1453 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1454 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1455 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1456 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1457 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1458 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1459 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1460 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1461 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1462 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1463 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1464 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1465 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1466
1467 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1468
1469 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1470 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1471 Ditto; add 'dg-do run' for torture testing.
1472 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1473 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1474 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1475 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1476 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1477 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1478 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1479 * testsuite/libgomp.fortran/task2.f90: Ditto.
1480 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1481 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1482 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1483 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1484 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1485 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1486
1487 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
1488
1489 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1490 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1491 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1492 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1493 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1494 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1495 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1496 Use 'stop' not abort().
1497 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1498 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1499 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1500 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1501 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1502 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1503 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1504 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1505 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1506 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1507 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1508 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1509 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1510 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1511 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1512 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1513 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1514 Ditto.
1515 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1516 Ditto.
1517 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1518 Ditto.
1519 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1520 Ditto.
1521 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1522 Ditto.
1523 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1524 Ditto.
1525 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1526 Ditto.
1527 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1528 Ditto.
1529 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1530 Ditto.
1531 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1532 Ditto.
1533 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1534 Ditto.
1535 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1536 Ditto.
1537 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1538 Ditto.
1539 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1540 Ditto.
1541 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1542 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1543 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1544 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1545 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1546 Likewise and also add 'dg-do run'.
1547 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1548 Ditto.
1549
1550 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1551 Tobias Burnus <tobias@codesourcery.com>
1552
1553 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1554 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1555 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1556
1557 2019-10-14 Jakub Jelinek <jakub@redhat.com>
1558
1559 PR libgomp/92081
1560 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1561 than 0.
1562
1563 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
1564
1565 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1566 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1567
1568 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1569
1570 PR middle-end/92036
1571 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1572 file.
1573
1574 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
1575
1576 PR testsuite/91884
1577 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1578 add -lquadmath.
1579 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1580
1581 2019-10-09 Jakub Jelinek <jakub@redhat.com>
1582
1583 PR libgomp/92028
1584 * target.c (gomp_map_vars_internal): Readd the previous
1585 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1586 though do that just in the !not_found_cnt case.
1587
1588 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
1589
1590 * gfortran.dg/gomp/target-simd.f90: New.
1591
1592 2019-10-02 Julian Brown <julian@codesourcery.com>
1593 Cesar Philippidis <cesar@codesourcery.com>
1594
1595 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1596 * target.c (FIELD_TGT_EMPTY): Define.
1597 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1598 as switch instead of list of ifs.
1599 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1600
1601 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1602
1603 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1604 include. Replace alloca () with __builtin_alloca ().
1605 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1606
1607 2019-10-01 Jakub Jelinek <jakub@redhat.com>
1608
1609 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1610 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1611 * oacc-parallel.c: Don't include "libgomp_g.h".
1612 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1613 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1614 * aclocal.m4: Regenerated.
1615 * config.h.in: Regenerated.
1616 * configure: Regenerated.
1617 * Makefile.in: Regenerated.
1618
1619 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1620
1621 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1622
1623 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
1624
1625 * configure: Regenerate.
1626
1627 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
1628
1629 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1630 string is initialized.
1631
1632 2019-09-06 Florian Weimer <fweimer@redhat.com>
1633
1634 * configure: Regenerate.
1635
1636 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1637
1638 PR other/79543
1639 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1640 scanning to conform to the GNU Coding Standards.
1641 * configure: Regenerate.
1642
1643 2019-08-28 Jakub Jelinek <jakub@redhat.com>
1644
1645 PR libgomp/91530
1646 * testsuite/libgomp.c/scan-21.c: New test.
1647 * testsuite/libgomp.c/scan-22.c: New test.
1648
1649 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1650
1651 PR libgomp/91530
1652 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1653 targets.
1654 * testsuite/libgomp.c/scan-12.c: Likewise.
1655 * testsuite/libgomp.c/scan-13.c: Likewise.
1656 * testsuite/libgomp.c/scan-14.c: Likewise.
1657 * testsuite/libgomp.c/scan-15.c: Likewise.
1658 * testsuite/libgomp.c/scan-16.c: Likewise.
1659 * testsuite/libgomp.c/scan-17.c: Likewise.
1660 * testsuite/libgomp.c/scan-18.c: Likewise.
1661 * testsuite/libgomp.c/scan-19.c: Likewise.
1662 * testsuite/libgomp.c/scan-20.c: Likewise.
1663 * testsuite/libgomp.c++/scan-9.C: Likewise.
1664 * testsuite/libgomp.c++/scan-10.C: Likewise.
1665 * testsuite/libgomp.c++/scan-11.C: Likewise.
1666 * testsuite/libgomp.c++/scan-12.C: Likewise.
1667 * testsuite/libgomp.c++/scan-14.C: Likewise.
1668 * testsuite/libgomp.c++/scan-15.C: Likewise.
1669 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1670 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1671 * testsuite/libgomp.c++/scan-16.C: Likewise.
1672
1673 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1674
1675 PR fortran/91473
1676 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1677 -std=legacy so invalid code in the test case is accepted.
1678
1679 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1680
1681 PR fortran/91422
1682 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1683 dimension.
1684
1685 2019-08-08 Jakub Jelinek <jakub@redhat.com>
1686
1687 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1688 perform the lookup in the first loop only if !not_found_cnt, otherwise
1689 perform lookups for it in the second loop guarded with
1690 if (not_found_cnt || has_firstprivate).
1691 * testsuite/libgomp.c/target-37.c: New test.
1692 * testsuite/libgomp.c++/target-22.C: New test.
1693
1694 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1695
1696 * testsuite/libgomp.c/target-18.c (struct S): New type.
1697 (foo): Use use_device_addr clause instead of use_device_ptr clause
1698 where required by OpenMP 5.0, add further tests for both use_device_ptr
1699 and use_device_addr clauses.
1700 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1701 (foo): Use use_device_addr clause instead of use_device_ptr clause
1702 where required by OpenMP 5.0, add further tests for both use_device_ptr
1703 and use_device_addr clauses. Add t and u arguments.
1704 (main): Adjust caller.
1705
1706 2019-08-06 Jakub Jelinek <jakub@redhat.com>
1707
1708 * testsuite/libgomp.c++/loop-13.C: New test.
1709 * testsuite/libgomp.c++/loop-14.C: New test.
1710 * testsuite/libgomp.c++/loop-15.C: New test.
1711
1712 2019-07-31 Jakub Jelinek <jakub@redhat.com>
1713
1714 PR middle-end/91301
1715 * testsuite/libgomp.c++/for-27.C: New test.
1716
1717 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1718
1719 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
1720 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1721
1722 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1723
1724 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1725
1726 2019-07-08 Jakub Jelinek <jakub@redhat.com>
1727
1728 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1729 * testsuite/libgomp.c++/scan-16.C: Likewise.
1730
1731 2019-07-06 Jakub Jelinek <jakub@redhat.com>
1732
1733 * testsuite/libgomp.c/scan-19.c: New test.
1734 * testsuite/libgomp.c/scan-20.c: New test.
1735
1736 * testsuite/libgomp.c/scan-11.c: New test.
1737 * testsuite/libgomp.c/scan-12.c: New test.
1738 * testsuite/libgomp.c/scan-13.c: New test.
1739 * testsuite/libgomp.c/scan-14.c: New test.
1740 * testsuite/libgomp.c/scan-15.c: New test.
1741 * testsuite/libgomp.c/scan-16.c: New test.
1742 * testsuite/libgomp.c/scan-17.c: New test.
1743 * testsuite/libgomp.c/scan-18.c: New test.
1744 * testsuite/libgomp.c++/scan-9.C: New test.
1745 * testsuite/libgomp.c++/scan-10.C: New test.
1746 * testsuite/libgomp.c++/scan-11.C: New test.
1747 * testsuite/libgomp.c++/scan-12.C: New test.
1748 * testsuite/libgomp.c++/scan-13.C: New test.
1749 * testsuite/libgomp.c++/scan-14.C: New test.
1750 * testsuite/libgomp.c++/scan-15.C: New test.
1751 * testsuite/libgomp.c++/scan-16.C: New test.
1752
1753 2019-07-04 Jakub Jelinek <jakub@redhat.com>
1754
1755 * testsuite/libgomp.c/scan-9.c: New test.
1756 * testsuite/libgomp.c/scan-10.c: New test.
1757
1758 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1759
1760 * testsuite/libgomp.c++/scan-1.C: New test.
1761 * testsuite/libgomp.c++/scan-2.C: New test.
1762 * testsuite/libgomp.c++/scan-3.C: New test.
1763 * testsuite/libgomp.c++/scan-4.C: New test.
1764 * testsuite/libgomp.c++/scan-5.C: New test.
1765 * testsuite/libgomp.c++/scan-6.C: New test.
1766 * testsuite/libgomp.c++/scan-7.C: New test.
1767 * testsuite/libgomp.c++/scan-8.C: New test.
1768 * testsuite/libgomp.c/scan-1.c: New test.
1769 * testsuite/libgomp.c/scan-2.c: New test.
1770 * testsuite/libgomp.c/scan-3.c: New test.
1771 * testsuite/libgomp.c/scan-4.c: New test.
1772 * testsuite/libgomp.c/scan-5.c: New test.
1773 * testsuite/libgomp.c/scan-6.c: New test.
1774 * testsuite/libgomp.c/scan-7.c: New test.
1775 * testsuite/libgomp.c/scan-8.c: New test.
1776
1777 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1778
1779 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1780 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1781 Likewise.
1782
1783 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1784 check.
1785
1786 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1787
1788 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1789 file.
1790
1791 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1792
1793 PR fortran/90743
1794 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1795 case.
1796 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1797 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1798 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1799 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1800
1801 PR testsuite/90861
1802 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1803
1804 PR middle-end/90862
1805 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1806
1807 2019-06-16 Tom de Vries <tdevries@suse.de>
1808
1809 PR tree-optimization/89376
1810 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1811
1812 2019-06-15 Tom de Vries <tdevries@suse.de>
1813
1814 PR tree-optimization/89713
1815 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1816 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1817
1818 2019-06-15 Jakub Jelinek <jakub@redhat.com>
1819
1820 PR middle-end/90779
1821 * testsuite/libgomp.c/pr90779.c: New test.
1822 * testsuite/libgomp.fortran/pr90779.f90: New test.
1823
1824 2019-06-15 Tom de Vries <tdevries@suse.de>
1825
1826 PR tree-optimization/90009
1827 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1828
1829 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1830
1831 PR tree-optimization/89713
1832 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1833
1834 2019-06-11 Jakub Jelinek <jakub@redhat.com>
1835
1836 PR target/90811
1837 * testsuite/libgomp.c/pr90811.c: New test.
1838
1839 2019-06-05 Jakub Jelinek <jakub@redhat.com>
1840
1841 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1842 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1843
1844 2019-06-04 Jakub Jelinek <jakub@redhat.com>
1845
1846 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1847 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1848 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1849 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1850
1851 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1852
1853 * configure.ac: Call AX_COUNT_CPUS.
1854 Substitute CPU_COUNT.
1855 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1856 count fallback.
1857 * aclocal.m4: Regenerate.
1858 * configure: Regenerate.
1859 * Makefile.in, testsuite/Makefile.in: Regenerate.
1860
1861 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1862
1863 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1864 to ...
1865 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1866 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1867 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1868
1869 2019-05-27 Jakub Jelinek <jakub@redhat.com>
1870
1871 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1872
1873 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1874
1875 PR libgomp/90641
1876 * work.c (gomp_init_work_share): Instead of aligning final ordered
1877 value to multiples of long long alignment, align to that the
1878 first part (ordered team ids) and if inline_ordered_team_ids
1879 is not on a long long alignment boundary within the structure,
1880 use __alignof__ (long long) - 1 pad size always.
1881 * loop.c (GOMP_loop_start): Fix *mem computation if
1882 inline_ordered_team_ids is not aligned on long long alignment boundary
1883 within the structure.
1884 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1885 * sections.c (GOMP_sections2_start): Likewise.
1886
1887 2019-05-24 Jakub Jelinek <jakub@redhat.com>
1888
1889 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1890 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1891
1892 PR libgomp/90585
1893 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1894 HAVE_INTTYPES_H is defined.
1895 (print_uint64_t): New typedef.
1896 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1897 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1898 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1899 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1900 before casting to void *.
1901 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1902 * oacc-mem.c: Don't include config.h nor stdint.h.
1903 * target.c: Don't include config.h.
1904 * oacc-cuda.c: Likewise.
1905 * oacc-host.c: Don't include stdint.h.
1906
1907 2019-05-20 Jakub Jelinek <jakub@redhat.com>
1908
1909 PR libgomp/90527
1910 * alloc.c (_GNU_SOURCE): Define.
1911
1912 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1913
1914 * acc_prof.h: New file.
1915 * oacc-profiling.c: Likewise.
1916 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1917 Add these, respectively.
1918 * Makefile.in: Regenerate.
1919 * env.c (initialize_env): Call goacc_profiling_initialize.
1920 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1921 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1922 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1923 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1924 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1925 acc_prof_register, acc_prof_unregister, and acc_register_library.
1926 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1927 GOMP_PLUGIN_goacc_thread.
1928 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1929 prof_callbacks_enabled members.
1930 (goacc_prof_enabled, goacc_profiling_initialize)
1931 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1932 (goacc_profiling_dispatch): Declare.
1933 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1934 (GOACC_PROFILING_SETUP_P): Define.
1935 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1936 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1937 OpenACC Profiling Interface.
1938 * oacc-cuda.c (acc_get_current_cuda_device)
1939 (acc_get_current_cuda_context, acc_get_cuda_stream)
1940 (acc_set_cuda_stream): Likewise.
1941 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1942 (acc_init, acc_set_device_type, acc_get_device_type)
1943 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1944 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1945 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1946 (acc_unmap_data, present_create_copy, delete_copyout)
1947 (update_dev_host): Likewise.
1948 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1949 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1950 Likewise.
1951 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1952 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1953 Likewise.
1954 * libgomp.texi: Update.
1955 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1956 file.
1957 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1958 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1959 Likewise.
1960 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1961 Likewise.
1962 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1963 Likewise.
1964 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1965 Likewise.
1966
1967 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1968
1969 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1970 (struct goacc_asyncqueue_list): Likewise.
1971 (goacc_aq): Likewise.
1972 (goacc_aq_list): Likewise.
1973 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1974 (GOMP_OFFLOAD_openacc_async_test): Remove.
1975 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1976 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1977 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1978 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1979 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1980 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1981 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1982 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1983 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1984 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1985 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1986 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1987 (GOMP_OFFLOAD_openacc_async_test): Declare.
1988 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1989 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1990 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1991 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1992 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1993
1994 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1995 (gomp_acc_insert_pointer): Adjust declaration.
1996 (gomp_copy_host2dev): New declaration.
1997 (gomp_copy_dev2host): Likewise.
1998 (gomp_map_vars_async): Likewise.
1999 (gomp_unmap_tgt): Likewise.
2000 (gomp_unmap_vars_async): Likewise.
2001 (gomp_fini_device): Likewise.
2002
2003 * oacc-async.c (get_goacc_thread): New function.
2004 (get_goacc_thread_device): New function.
2005 (lookup_goacc_asyncqueue): New function.
2006 (get_goacc_asyncqueue): New function.
2007 (acc_async_test): Adjust code to use new async design.
2008 (acc_async_test_all): Likewise.
2009 (acc_wait): Likewise.
2010 (acc_wait_async): Likewise.
2011 (acc_wait_all): Likewise.
2012 (acc_wait_all_async): Likewise.
2013 (goacc_async_free): New function.
2014 (goacc_init_asyncqueues): Likewise.
2015 (goacc_fini_asyncqueues): Likewise.
2016 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2017 design.
2018 (acc_set_cuda_stream): Likewise.
2019 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2020 (host_openacc_register_async_cleanup): Remove.
2021 (host_openacc_async_exec): New function.
2022 (host_openacc_async_test): Adjust parameters.
2023 (host_openacc_async_test_all): Remove.
2024 (host_openacc_async_wait): Remove.
2025 (host_openacc_async_wait_async): Remove.
2026 (host_openacc_async_wait_all): Remove.
2027 (host_openacc_async_wait_all_async): Remove.
2028 (host_openacc_async_set_async): Remove.
2029 (host_openacc_async_synchronize): New function.
2030 (host_openacc_async_serialize): New function.
2031 (host_openacc_async_host2dev): New function.
2032 (host_openacc_async_dev2host): New function.
2033 (host_openacc_async_queue_callback): New function.
2034 (host_openacc_async_construct): New function.
2035 (host_openacc_async_destruct): New function.
2036 (struct gomp_device_descr host_dispatch): Remove initialization of old
2037 interface, add initialization of new async sub-struct.
2038 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2039 (goacc_attach_host_thread_to_device): Remove old async code usage.
2040 * oacc-int.h (goacc_init_asyncqueues): New declaration.
2041 (goacc_fini_asyncqueues): Likewise.
2042 (goacc_async_copyout_unmap_vars): Likewise.
2043 (goacc_async_free): Likewise.
2044 (get_goacc_asyncqueue): Likewise.
2045 (lookup_goacc_asyncqueue): Likewise.
2046 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2047 design.
2048 (present_create_copy): Adjust code to use new async design.
2049 (delete_copyout): Likewise.
2050 (update_dev_host): Likewise.
2051 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2052 async design.
2053 (gomp_acc_remove_pointer): Adjust code to use new async design.
2054 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2055 design.
2056 (GOACC_enter_exit_data): Likewise.
2057 (goacc_wait): Likewise.
2058 (GOACC_update): Likewise.
2059 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2060 when called, warn as obsolete in comment.
2061 * target.c (goacc_device_copy_async): New function.
2062 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2063 add goacc_device_copy_async case.
2064 (gomp_copy_dev2host): Likewise.
2065 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2066 (gomp_map_pointer): Likewise.
2067 (gomp_map_fields_existing): Likewise.
2068 (gomp_map_vars_internal): New always_inline function, renamed from
2069 gomp_map_vars.
2070 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2071 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2072 passing goacc_asyncqueue argument.
2073 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2074 (gomp_unref_tgt): New function.
2075 (gomp_unmap_vars_internal): New always_inline function, renamed from
2076 gomp_unmap_vars.
2077 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2078 (gomp_unmap_vars_async): Implement by calling
2079 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2080 (gomp_fini_device): New function.
2081 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2082 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2083 new async interface.
2084 (gomp_target_fini): Adjust code to call gomp_fini_device.
2085
2086 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2087 (struct ptx_stream): Remove.
2088 (struct nvptx_thread): Remove current_stream field.
2089 (cuda_map_create): Remove.
2090 (cuda_map_destroy): Remove.
2091 (map_init): Remove.
2092 (map_fini): Remove.
2093 (map_pop): Remove.
2094 (map_push): Remove.
2095 (struct goacc_asyncqueue): Define.
2096 (struct nvptx_callback): Define.
2097 (struct ptx_free_block): Define.
2098 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2099 stream_lock, and next fields.
2100 (enum ptx_event_type): Remove.
2101 (struct ptx_event): Remove.
2102 (ptx_event_lock): Remove.
2103 (ptx_events): Remove.
2104 (init_streams_for_device): Remove.
2105 (fini_streams_for_device): Remove.
2106 (select_stream_for_async): Remove.
2107 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2108 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2109 case.
2110 (nvptx_open_device): Add free_blocks initialization, remove
2111 init_streams_for_device call.
2112 (nvptx_close_device): Remove fini_streams_for_device call, add
2113 free_blocks destruct code.
2114 (event_gc): Remove.
2115 (event_add): Remove.
2116 (nvptx_exec): Adjust parameters and code.
2117 (nvptx_free): Likewise.
2118 (nvptx_host2dev): Remove.
2119 (nvptx_dev2host): Remove.
2120 (nvptx_set_async): Remove.
2121 (nvptx_async_test): Remove.
2122 (nvptx_async_test_all): Remove.
2123 (nvptx_wait): Remove.
2124 (nvptx_wait_async): Remove.
2125 (nvptx_wait_all): Remove.
2126 (nvptx_wait_all_async): Remove.
2127 (nvptx_get_cuda_stream): Remove.
2128 (nvptx_set_cuda_stream): Remove.
2129 (GOMP_OFFLOAD_alloc): Adjust code.
2130 (GOMP_OFFLOAD_free): Likewise.
2131 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2132 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2133 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2134 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2135 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2136 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2137 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2138 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2139 (cuda_free_argmem): New function.
2140 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2141 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2142 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2143 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2144 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2145 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2146 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2147 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2148 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2149 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2150 (cuda_callback_wrapper): New function.
2151 (cuda_memcpy_sanity_check): New function.
2152 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2153 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2154 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2155 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2156
2157 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2158
2159 PR target/87835
2160 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2161
2162 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2163
2164 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2165
2166 2019-03-27 Kevin Buettner <kevinb@redhat.com>
2167
2168 * team.c (gomp_team_start): Initialize pool->threads[0].
2169
2170 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2171
2172 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2173 "-foffload=$offload_target".
2174 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2175 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2176 * testsuite/lib/libgomp.exp
2177 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2178 as (conceptually) merged into
2179 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2180 users.
2181
2182 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2183 * testsuite/libgomp-test-support.exp.in: Adjust.
2184 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2185 openacc_device_types_s.
2186 (offload_target_to_openacc_device_type): New proc.
2187 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2188 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2189 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2190 * Makefile.in: Regenerate.
2191 * configure: Likewise.
2192 * testsuite/Makefile.in: Likewise.
2193
2194 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2195 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2196 instead of OFFLOAD_TARGETS.
2197 * target.c (gomp_target_init): Adjust.
2198 * testsuite/libgomp-test-support.exp.in: Likewise.
2199 * testsuite/lib/libgomp.exp: Likewise. Populate
2200 openacc_device_types_s instead of offload_targets_s_openacc.
2201 (check_effective_target_openacc_nvidia_accel_selected)
2202 (check_effective_target_openacc_host_selected): Adjust.
2203 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2204 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2205 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2206 * Makefile.in: Regenerate.
2207 * config.h.in: Likewise.
2208 * configure: Likewise.
2209 * testsuite/Makefile.in: Likewise.
2210
2211 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2212 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2213 "offloading: supported, but hardware not accessible".
2214 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2215 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2216
2217 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2218
2219 PR c/87924
2220 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2221 goacc_wait().
2222 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2223 and related adjustment.
2224
2225 2019-01-30 Jakub Jelinek <jakub@redhat.com>
2226
2227 PR c++/88988
2228 * testsuite/libgomp.c++/pr88988.C: New test.
2229
2230 2019-01-28 Jakub Jelinek <jakub@redhat.com>
2231
2232 PR middle-end/89002
2233 * testsuite/libgomp.c/pr89002.c: New test.
2234
2235 2019-01-28 Richard Biener <rguenther@suse.de>
2236
2237 PR testsuite/89064
2238 PR tree-optimization/86865
2239 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2240
2241 2019-01-24 Tom de Vries <tdevries@suse.de>
2242
2243 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2244 once instantiated_devices drops to 0.
2245
2246 2019-01-23 Tom de Vries <tdevries@suse.de>
2247
2248 PR target/PR88946
2249 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2250 cuMemFree.
2251 (nvptx_exec): Don't call map_push if mapnum == 0.
2252 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2253
2254 2019-01-23 Tom de Vries <tdevries@suse.de>
2255
2256 PR target/88941
2257 PR target/88939
2258 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2259 (map_fini): Remove "assert (!s->map->active)".
2260 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2261
2262 2019-01-23 Tom de Vries <tdevries@suse.de>
2263
2264 PR target/87835
2265 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2266 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2267
2268 2019-01-15 Tom de Vries <tdevries@suse.de>
2269
2270 PR target/80547
2271 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2272 New test.
2273
2274 2019-01-12 Tom de Vries <tdevries@suse.de>
2275
2276 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2277 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2278 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2279 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2280
2281 2019-01-12 Tom de Vries <tdevries@suse.de>
2282
2283 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2284
2285 2019-01-12 Tom de Vries <tdevries@suse.de>
2286
2287 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2288 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2289 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2290
2291 2019-01-12 Tom de Vries <tdevries@suse.de>
2292
2293 PR target/85486
2294 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2295 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2296
2297 2019-01-12 Tom de Vries <tdevries@suse.de>
2298
2299 PR target/85381
2300 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2301 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2302
2303 2019-01-12 Tom de Vries <tdevries@suse.de>
2304
2305 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2306 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2307 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2308
2309 2019-01-12 Tom de Vries <tdevries@suse.de>
2310
2311 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2312 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2313 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2314
2315 2019-01-12 Tom de Vries <tdevries@suse.de>
2316
2317 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2318 resources diagnostic.
2319
2320 2019-01-12 Tom de Vries <tdevries@suse.de>
2321
2322 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2323 vector length to be 128.
2324 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2325 length 2097152 to be reduced to 1024 instead of 32.
2326
2327 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2328 James Norris <jnorris@codesourcery.com>
2329
2330 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2331 Library Routines", and "Environment Variables".
2332
2333 2019-01-11 Tom de Vries <tdevries@suse.de>
2334
2335 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2336 num_workers 16.
2337
2338 2019-01-11 Tom de Vries <tdevries@suse.de>
2339
2340 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2341 -foffload=-w.
2342 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2343 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2344 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2345 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2346
2347 2019-01-11 Tom de Vries <tdevries@suse.de>
2348
2349 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2350 test.
2351
2352 2019-01-10 Nathan Sidwell <nathan@acm.org>
2353 Julian Brown <julian@codesourcery.com>
2354
2355 PR lto/71959
2356 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2357 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2358
2359 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2360
2361 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2362 and paste code.
2363
2364 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2365
2366 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2367 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2368 write.
2369
2370 2019-01-09 Tom de Vries <tdevries@suse.de>
2371
2372 PR target/88756
2373 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2374 #define instead of "const int".
2375 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2376 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2377 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2378 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2379
2380 2019-01-09 Tom de Vries <tdevries@suse.de>
2381
2382 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2383 one worker.
2384
2385 2019-01-07 Tom de Vries <tdevries@suse.de>
2386
2387 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2388 GOMP_OPENACC_DIM argument.
2389
2390 2019-01-03 Tom de Vries <tdevries@suse.de>
2391
2392 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2393 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2394
2395 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2396
2397 Update copyright years.
2398
2399 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2400
2401 * libgomp.texi: Bump @copying's copyright year.
2402
2403 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2404
2405 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2406 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2407 (GOACC_declare): Redefine the "device" argument to "flags".
2408
2409 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2410 Cesar Philippidis <cesar@codesourcery.com>
2411
2412 * target.c (struct gomp_coalesce_chunk): New structure.
2413 (struct gomp_coalesce_buf): Update the chunks member to use that
2414 type. Adjust all users.
2415
2416 2018-12-19 Tom de Vries <tdevries@suse.de>
2417
2418 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2419 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2420 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2421
2422 2018-12-19 Tom de Vries <tdevries@suse.de>
2423
2424 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2425 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2426 gcc/testsuite/gcc.dg/goacc.
2427 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2428
2429 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2430 Chung-Lin Tang <cltang@codesourcery.com>
2431
2432 * oacc-mem.c (acc_present_or_create): Remove definition and change
2433 to alias of acc_create.
2434 (acc_present_or_copyin): Remove definition and change to alias of
2435 acc_copyin.
2436 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2437 of acc_present_or_create.
2438 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2439 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2440 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2441 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2444 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2445 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2446 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2447 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2448 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2449 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2450 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2451 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2452 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2453 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2454
2455 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2456
2457 PR libgomp/88495
2458 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2459 "identical parameters".
2460 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2461 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2462
2463 PR libgomp/88484
2464 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2465 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2466
2467 PR libgomp/88407
2468 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2469 (nvptx_wait_async): Unseen async-argument is a no-op.
2470 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2471 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2472 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2473 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2474 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2475 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2476 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2477 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2478 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2479
2480 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2481 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2482
2483 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2484
2485 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2486 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2487 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2488
2489 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2490
2491 PR libgomp/88370
2492 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2493 (acc_set_cuda_stream): Clarify.
2494 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2495 "async_valid_p".
2496 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2497 acc_async_sync".
2498 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2499 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2500 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2501 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2502
2503 2018-12-14 Tom de Vries <tdevries@suse.de>
2504
2505 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2506 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2507 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2508 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2509 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2510
2511 2018-12-13 Tom de Vries <tdevries@suse.de>
2512
2513 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2514 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2515 * fortran.c (omp_display_affinity_): ... here.
2516 * libgomp.h (gomp_print_string): Declare.
2517 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2518 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2519 write.
2520
2521 2018-12-13 Jakub Jelinek <jakub@redhat.com>
2522
2523 PR libgomp/88460
2524 * testsuite/libgomp.c++/for-24.C (results): Include it in
2525 omp declare target region.
2526 (main): Use map (always, tofrom: results) instead of
2527 map (tofrom: results).
2528
2529 2018-12-12 Jakub Jelinek <jakub@redhat.com>
2530
2531 PR fortran/88463
2532 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2533 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2534
2535 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2536
2537 2018-12-12 Andreas Schwab <schwab@suse.de>
2538
2539 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2540 clobbered.
2541
2542 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2543
2544 PR fortran/88411
2545 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2546
2547 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2548 Jakub Jelinek <jakub@redhat.com>
2549
2550 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2551 devicep->host2dev_func.
2552
2553 2018-12-08 Jakub Jelinek <jakub@redhat.com>
2554
2555 PR libgomp/87995
2556 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2557 tls_runtime effective target.
2558 (t): New threadprivate variable.
2559 (main): Set t in threads which execute iterations of the worksharing
2560 loop. Propagate that to the task after the loop and don't abort
2561 if the current taskgroup hasn't been cancelled.
2562
2563 2018-12-02 Jakub Jelinek <jakub@redhat.com>
2564
2565 * testsuite/libgomp.c/task-reduction-3.c: New test.
2566
2567 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2568
2569 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2570
2571 PR libgomp/88288
2572 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2573 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2574
2575 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2576
2577 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2578
2579 2018-10-19 Richard Biener <rguenther@suse.de>
2580
2581 PR tree-optimization/88182
2582 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2583
2584 2018-11-26 Jakub Jelinek <jakub@redhat.com>
2585
2586 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2587 (RUNTEST): Don't define.
2588 (RUNTESTDEFAULTFLAGS): Add.
2589 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2590 (distclean-am): Depend on distclean-DEJAGNU.
2591 (check-am): If -j% option is present in MFLAGS and if
2592 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2593 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2594 * testsuite/Makefile.in: Regenerated.
2595
2596 2018-11-26 Richard Biener <rguenther@suse.de>
2597
2598 PR tree-optimization/88182
2599 * testsuite/libgomp.c++/pr88182.C: New testcase.
2600
2601 2018-11-20 Jakub Jelinek <jakub@redhat.com>
2602
2603 PR bootstrap/88106
2604 * config/mingw32/affinity-fmt.c: New file.
2605
2606 2018-11-09 Jakub Jelinek <jakub@redhat.com>
2607
2608 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2609 (gomp_display_affinity): Use __builtin_choose_expr to handle
2610 properly handle argument having integral, or pointer or some other
2611 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2612 with uint64_t type instead of %llx and unsigned long long.
2613
2614 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2615 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2616
2617 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2618
2619 * affinity.c: Include <string.h>, <stdio.h>.
2620 (gomp_display_affinity_place): Remove cpusetp.
2621 * teams.c: Include <limits.h>.
2622
2623 2018-11-08 Jakub Jelinek <jakub@redhat.com>
2624
2625 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2626 in_reduction clause for s[0].
2627
2628 * affinity.c (gomp_display_affinity_place): New function.
2629 * affinity-fmt.c: New file.
2630 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2631 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2632 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2633 Move these functions to ...
2634 * config/nvptx/teams.c: ... here. New file.
2635 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2636 New functions.
2637 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2638 functions.
2639 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2640 and _aligned_malloc.
2641 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2642 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2643 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2644 gomp_affinity_format_len): New variables.
2645 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2646 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2647 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2648 modifiers. Display (non-default) chunk sizes. Print
2649 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2650 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2651 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2652 * fortran.c: Include stdio.h and string.h.
2653 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2654 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2655 (omp_set_affinity_format_, omp_get_affinity_format_,
2656 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2657 omp_pause_resource_all_): New functions.
2658 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2659 switch.
2660 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2661 functions to ...
2662 * teams.c: ... here. New file.
2663 * libgomp_g.h: Include gstdint.h.
2664 (GOMP_loop_nonmonotonic_runtime_start,
2665 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2666 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2667 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2668 GOMP_parallel_loop_nonmonotonic_runtime,
2669 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2670 GOMP_loop_ull_nonmonotonic_runtime_start,
2671 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2672 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2673 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2674 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2675 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2676 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2677 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2678 GOMP_teams_reg): Declare.
2679 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2680 gomp_aligned_alloc uses fallback implementation.
2681 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2682 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2683 (struct gomp_doacross_work_share): Add extra field.
2684 (struct gomp_work_share): Add task_reductions field.
2685 (struct gomp_taskgroup): Add workshare and reductions fields.
2686 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2687 (gomp_thread_handle): New typedef.
2688 (gomp_display_affinity_place, gomp_set_affinity_format,
2689 gomp_display_string, gomp_display_affinity,
2690 gomp_display_affinity_thread): Declare.
2691 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2692 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2693 gomp_workshare_task_reduction_register): Declare.
2694 (gomp_team_start): Add taskgroup argument.
2695 (gomp_pause_host): Declare.
2696 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2697 to size_t.
2698 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2699 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2700 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2701 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2702 GOMP_loop_ull_doacross_start,
2703 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2704 GOMP_loop_maybe_nonmonotonic_runtime_next,
2705 GOMP_loop_maybe_nonmonotonic_runtime_start,
2706 GOMP_loop_nonmonotonic_runtime_next,
2707 GOMP_loop_nonmonotonic_runtime_start,
2708 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2709 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2710 GOMP_loop_ull_nonmonotonic_runtime_next,
2711 GOMP_loop_ull_nonmonotonic_runtime_start,
2712 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2713 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2714 GOMP_taskgroup_reduction_register,
2715 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2716 GOMP_teams_reg and GOMP_taskwait_depend.
2717 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2718 omp_{capture,display}_affinity{,_}, and
2719 omp_[gs]et_affinity_format{,_}.
2720 * loop.c: Include string.h.
2721 (GOMP_loop_runtime_next): Add ialias.
2722 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2723 (gomp_loop_static_start, gomp_loop_dynamic_start,
2724 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2725 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2726 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2727 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2728 or gomp_doacross_init callers.
2729 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2730 GOMP_loop_doacross_start): New functions.
2731 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2732 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2733 Mask off GFS_MONOTONIC bit.
2734 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2735 GOMP_loop_maybe_nonmonotonic_runtime_start,
2736 GOMP_loop_nonmonotonic_runtime_next,
2737 GOMP_loop_nonmonotonic_runtime_start,
2738 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2739 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2740 functions.
2741 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2742 gomp_team_start.
2743 * loop_ull.c: Include string.h.
2744 (GOMP_loop_ull_runtime_next): Add ialias.
2745 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2746 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2747 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2748 gomp_loop_ull_ordered_dynamic_start,
2749 gomp_loop_ull_ordered_guided_start,
2750 gomp_loop_ull_doacross_static_start,
2751 gomp_loop_ull_doacross_dynamic_start,
2752 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2753 and gomp_doacross_ull_init callers.
2754 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2755 GOMP_loop_ull_doacross_start): New functions.
2756 (GOMP_loop_ull_runtime_start,
2757 GOMP_loop_ull_ordered_runtime_start,
2758 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2759 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2760 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2761 GOMP_loop_ull_nonmonotonic_runtime_next,
2762 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2763 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2764 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2765 (omp_pause_resource_t, omp_depend_t): New typedefs.
2766 (enum omp_lock_hint_t): Renamed to ...
2767 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2768 enumerators using numbers and omp_lock_hint_* as their aliases.
2769 (omp_lock_hint_t): New typedef. Rename to ...
2770 (omp_sync_hint_t): ... this.
2771 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2772 omp_sync_hint_t instead of omp_lock_hint_t.
2773 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2774 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2775 Declare.
2776 (omp_target_is_present, omp_target_disassociate_ptr):
2777 Change first argument from void * to const void *.
2778 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2779 from void * to const void *.
2780 (omp_target_associate_ptr): Change first and second arguments from
2781 void * to const void *.
2782 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2783 omp_pause_hard): New parameters.
2784 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2785 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2786 New interfaces.
2787 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2788 omp_pause_hard): New parameters.
2789 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2790 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2791 New externals.
2792 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2793 EXTRA argument. If not needed to prepare array, if extra is 0,
2794 clear ws->doacross, otherwise allocate just doacross structure and
2795 extra payload. If array is needed, allocate also extra payload.
2796 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2797 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2798 doacross == NULL.
2799 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2800 gomp_team_start.
2801 (GOMP_parallel): Likewise. Formatting fix.
2802 (GOMP_parallel_reductions): New function.
2803 (GOMP_cancellation_point): If taskgroup has workshare
2804 flag set, check cancelled of prev taskgroup if any.
2805 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2806 on prev taskgroup if any.
2807 * sections.c: Include string.h.
2808 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2809 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2810 (GOMP_sections2_start): New function.
2811 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2812 Pass NULL as taskgroup to gomp_team_start.
2813 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2814 gomp_work_share_start callers.
2815 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2816 If taskgroup has workshare flag set, check cancelled on prev
2817 taskgroup if any. Guard all cancellation tests with
2818 gomp_cancel_var test.
2819 (omp_target_is_present, omp_target_disassociate_ptr):
2820 Change ptr argument from void * to const void *.
2821 (omp_target_memcpy): Change src argument from void * to const void *.
2822 (omp_target_memcpy_rect): Likewise.
2823 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2824 instead of char * where needed.
2825 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2826 from void * to const void *.
2827 (omp_pause_resource, omp_pause_resource_all): New functions.
2828 * task.c (gomp_task_handle_depend): Handle new depend array format
2829 in addition to the old. Handle mutexinoutset kinds the same as
2830 inout for now, handle unspecified kinds.
2831 (gomp_create_target_task): If taskgroup has workshare flag set, check
2832 cancelled on prev taskgroup if any. Guard all cancellation tests with
2833 gomp_cancel_var test. Handle new depend array format count in
2834 addition to the old.
2835 (GOMP_task): Likewise. Adjust function comment.
2836 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2837 cancelled on prev taskgroup if any. Guard all cancellation tests with
2838 gomp_cancel_var test.
2839 (GOMP_taskwait_depend): New function.
2840 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2841 format in addition to the old. Handle mutexinoutset kinds the same as
2842 inout for now, handle unspecified kinds. Fix a function comment typo.
2843 (gomp_taskgroup_init): New function.
2844 (GOMP_taskgroup_start): Use it.
2845 (gomp_reduction_register, gomp_create_artificial_team,
2846 GOMP_taskgroup_reduction_register,
2847 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2848 gomp_parallel_reduction_register,
2849 gomp_workshare_task_reduction_register,
2850 gomp_workshare_taskgroup_start,
2851 GOMP_workshare_task_reduction_unregister): New functions.
2852 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2853 check cancelled on prev taskgroup if any. Guard all cancellation
2854 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2855 by calling GOMP_taskgroup_reduction_register.
2856 * team.c (gomp_thread_attr): Remove comment.
2857 (struct gomp_thread_start_data): Add handle field.
2858 (gomp_thread_start): Call pthread_detach.
2859 (gomp_new_team): Adjust gomp_init_work_share caller.
2860 (gomp_free_pool_helper): Call pthread_detach.
2861 (gomp_team_start): Add taskgroup argument, initialize implicit
2862 tasks' taskgroup field to that. Don't call
2863 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2864 (gomp_team_end): Determine nesting by thr->ts.level != 0
2865 rather than thr->ts.team != NULL.
2866 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2867 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2868 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2869 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2870 if more than 1 allocate also extra payload at the end of array. Never
2871 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2872 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2873 return true instead of ws.
2874 * Makefile.in: Regenerated.
2875 * configure: Regenerated.
2876 * config.h.in: Regenerated.
2877 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2878 in some cases.
2879 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2880 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2881 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2882 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2883 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2884 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2885 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2886 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2887 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2888 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2889 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2890 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2891 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2892 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2893 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2894 define a different N(test), don't define N(f0) to N(f14), but instead
2895 define N(f20) to N(f34) using != comparisons.
2896 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2897 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2898 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2899 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2900 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2901 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2902 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2903 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2904 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2905 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2906 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2907 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2908 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2909 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2910 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2911 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2912 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2913 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2914 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2915 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2916 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2917 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2918 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2919 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2920 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2921 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2922 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2923 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2924 * testsuite/libgomp.c++/depend-1.C: New test.
2925 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2926 * testsuite/libgomp.c++/depobj-1.C: New test.
2927 * testsuite/libgomp.c++/for-16.C: New test.
2928 * testsuite/libgomp.c++/for-21.C: New test.
2929 * testsuite/libgomp.c++/for-22.C: New test.
2930 * testsuite/libgomp.c++/for-23.C: New test.
2931 * testsuite/libgomp.c++/for-24.C: New test.
2932 * testsuite/libgomp.c++/for-25.C: New test.
2933 * testsuite/libgomp.c++/for-26.C: New test.
2934 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2935 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2936 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2937 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2938 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2939 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2940 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2941 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2942 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2943 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2944 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2945 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2946 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2947 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2948 * testsuite/libgomp.c/task-reduction-1.c: New test.
2949 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2950 * testsuite/libgomp.c/task-reduction-2.c: New test.
2951 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2952 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2953 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2954 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2955 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2956 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2957 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2958 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2959 * testsuite/libgomp.c/teams-1.c: New test.
2960 * testsuite/libgomp.c/teams-2.c: New test.
2961 * testsuite/libgomp.c/thread-limit-4.c: New test.
2962 * testsuite/libgomp.c/thread-limit-5.c: New test.
2963 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2964
2965 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2966
2967 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2968 acc_memcpy_to/from_device functions, now with async parameter.
2969 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2970 (acc_memcpy_from_device): Likewise.
2971 (acc_memcpy_to_device_async): New API function.
2972 (acc_memcpy_from_device_async): Likewise.
2973 (present_create_copy): Add async parameter and async setting/unsetting.
2974 (acc_create): Adjust present_create_copy call.
2975 (acc_copyin): Likewise.
2976 (acc_present_or_create): Likewise.
2977 (acc_present_or_copyin): Likewise.
2978 (acc_create_async): New API function.
2979 (acc_copyin_async): New API function.
2980 (delete_copyout): Add async parameter and async setting/unsetting.
2981 (acc_delete): Adjust delete_copyout call.
2982 (acc_copyout): Likewise.
2983 (acc_delete_async): New API function.
2984 (acc_copyout_async): Likewise.
2985 (update_dev_host): Add async parameter and async setting/unsetting.
2986 (acc_update_device): Adjust update_dev_host call.
2987 (acc_update_self): Likewise.
2988 (acc_update_device_async): New API function.
2989 (acc_update_self_async): Likewise.
2990 * openacc.h (acc_copyin_async): Declare new API function.
2991 (acc_create_async): Likewise.
2992 (acc_copyout_async): Likewise.
2993 (acc_delete_async): Likewise.
2994 (acc_update_device_async): Likewise.
2995 (acc_update_self_async): Likewise.
2996 (acc_memcpy_to_device_async): Likewise.
2997 (acc_memcpy_from_device_async): Likewise.
2998 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2999 (acc_copyin_async_64_h): New subroutine.
3000 (acc_copyin_async_array_h): New subroutine.
3001 (acc_create_async_32_h): New subroutine.
3002 (acc_create_async_64_h): New subroutine.
3003 (acc_create_async_array_h): New subroutine.
3004 (acc_copyout_async_32_h): New subroutine.
3005 (acc_copyout_async_64_h): New subroutine.
3006 (acc_copyout_async_array_h): New subroutine.
3007 (acc_delete_async_32_h): New subroutine.
3008 (acc_delete_async_64_h): New subroutine.
3009 (acc_delete_async_array_h): New subroutine.
3010 (acc_update_device_async_32_h): New subroutine.
3011 (acc_update_device_async_64_h): New subroutine.
3012 (acc_update_device_async_array_h): New subroutine.
3013 (acc_update_self_async_32_h): New subroutine.
3014 (acc_update_self_async_64_h): New subroutine.
3015 (acc_update_self_async_array_h): New subroutine.
3016 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3017 (acc_copyin_async_64_h): New subroutine.
3018 (acc_copyin_async_array_h): New subroutine.
3019 (acc_create_async_32_h): New subroutine.
3020 (acc_create_async_64_h): New subroutine.
3021 (acc_create_async_array_h): New subroutine.
3022 (acc_copyout_async_32_h): New subroutine.
3023 (acc_copyout_async_64_h): New subroutine.
3024 (acc_copyout_async_array_h): New subroutine.
3025 (acc_delete_async_32_h): New subroutine.
3026 (acc_delete_async_64_h): New subroutine.
3027 (acc_delete_async_array_h): New subroutine.
3028 (acc_update_device_async_32_h): New subroutine.
3029 (acc_update_device_async_64_h): New subroutine.
3030 (acc_update_device_async_array_h): New subroutine.
3031 (acc_update_self_async_32_h): New subroutine.
3032 (acc_update_self_async_64_h): New subroutine.
3033 (acc_update_self_async_array_h): New subroutine.
3034 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3035 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3036 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3037 acc_memcpy_to_device_async*, acc_update_device_async*, and
3038 acc_update_self_async* entries.
3039 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3040 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3041 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3042
3043 2018-10-31 Joseph Myers <joseph@codesourcery.com>
3044
3045 PR bootstrap/82856
3046 * Makefile.am: Include multilib.am
3047 (AUTOMAKE_OPTIONS): Add info-in-builddir.
3048 (CLEANFILES): Remove libgomp.info.
3049 * configure.ac: Remove AC_PREREQ.
3050 * testsuite/Makefile.am (RUNTEST): Remove quotes.
3051 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3052 Regenerate.
3053
3054 2018-10-29 Joseph Myers <joseph@codesourcery.com>
3055 Julian Brown <julian@codesourcery.com>
3056
3057 * testsuite/libgomp.oacc-c++/this.C: New.
3058
3059 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
3060
3061 * plugin/plugin-nvptx.c (struct cuda_map): New.
3062 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3063 h_tail with (cuda_map *) map.
3064 (cuda_map_create): New function.
3065 (cuda_map_destroy): New function.
3066 (map_init): Update to use a linked list of cuda_map objects.
3067 (map_fini): Likewise.
3068 (map_pop): Likewise.
3069 (map_push): Likewise. Return CUdeviceptr instead of void.
3070 (init_streams_for_device): Remove stales references to ptx_stream
3071 members.
3072 (select_stream_for_async): Likewise.
3073 (nvptx_exec): Update call to map_init.
3074
3075 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
3076 Julian Brown <julian@codesourcery.com>
3077
3078 PR middle-end/86336
3079 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3080
3081 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
3082 Thomas Koenig <tkoenig@gcc.gnu.org>
3083
3084 PR fortran/25829
3085 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3086 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3087 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3088 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3089 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3090 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3091 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3092
3093 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3094 Tom de Vries <tdevries@suse.de>
3095
3096 PR target/85590
3097 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3098 (cuOccupancyMaxPotentialBlockSize): Declare.
3099 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3100 CUDA_ONE_CALL_MAYBE_NULL.
3101 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3102 CUoccupancyB2DSize and declare
3103 cuOccupancyMaxPotentialBlockSize.
3104 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3105 default num_gangs and num_workers when the driver supports it.
3106
3107 2018-08-08 Tom de Vries <tdevries@suse.de>
3108
3109 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3110 CUDA_ONE_CALL_MAYBE_NULL.
3111 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3112 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3113 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3114 are not found.
3115
3116 2018-08-08 Tom de Vries <tdevries@suse.de>
3117
3118 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3119 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3120 present.
3121
3122 2018-08-08 Tom de Vries <tdevries@suse.de>
3123
3124 * plugin/plugin-nvptx.c
3125 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3126 (nvptx_open_device): Use
3127 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3128
3129 2018-08-08 Tom de Vries <tdevries@suse.de>
3130
3131 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3132 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3133
3134 2018-08-07 Tom de Vries <tdevries@suse.de>
3135
3136 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3137 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3138 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3139 corresponding call in CUDA_ONE_CALL. Add def/undef of
3140 CUDA_ONE_CALL_MAYBE_NULL.
3141 (CUDA_CALL_EXISTS): Define.
3142
3143 2018-08-07 Tom de Vries <tdevries@suse.de>
3144
3145 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3146 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3147 corresponding undefs right after.
3148
3149 2018-08-04 Tom de Vries <tdevries@suse.de>
3150
3151 * plugin/configfrag.ac: For --without-cuda-driver, set
3152 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3153 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3154 * configure: Regenerate.
3155
3156 2018-08-02 Tom de Vries <tdevries@suse.de>
3157
3158 PR target/86660
3159 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3160 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3161 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3162 Same.
3163 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3164 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3165 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3166
3167 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3168 Thomas Schwinge <thomas@codesourcery.com>
3169
3170 * config/nvptx/oacc-parallel.c: Truncate.
3171
3172 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3173 James Norris <jnorris@codesourcery.com>
3174
3175 * plugin/plugin-nvptx.c (struct map): Removed.
3176 (map_init, map_pop): Remove use of struct map.
3177 (map_push): Likewise and change argument list.
3178 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3179
3180 2018-08-01 Tom de Vries <tdevries@suse.de>
3181
3182 * plugin/cuda-lib.def: New file. Factor out of ...
3183 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3184 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3185 using CUDA_CALLS.
3186
3187 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3188
3189 Revert 'AsyncI/O patch committed'.
3190 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3191 Thomas Koenig <tkoenig@gcc.gnu.org>
3192
3193 PR fortran/25829
3194 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3195 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3196 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3197 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3198 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3199 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3200 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3201
3202 2018-07-30 Tom de Vries <tdevries@suse.de>
3203
3204 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3205 (nvptx_exec): Ensure worker and vector default dims don't exceed
3206 targ_fn->max_threads_per_block.
3207
3208 2018-07-30 Tom de Vries <tdevries@suse.de>
3209
3210 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3211 (nvptx_open_device): Init default_dims for device.
3212 (nvptx_exec): Use default_dims from device.
3213
3214 2018-07-26 Jakub Jelinek <jakub@redhat.com>
3215
3216 PR testsuite/86660
3217 * testsuite/libgomp.c++/for-15.C (results): Include it in
3218 omp declare target region.
3219 (main): Use map (always, tofrom: results) instead of
3220 map (tofrom: results).
3221
3222 PR middle-end/86660
3223 * testsuite/libgomp.c/pr86660.c: New test.
3224
3225 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3226 Tom de Vries <tdevries@suse.de>
3227
3228 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3229 sufficient resources to launch a kernel, and give a hint on how to fix
3230 it.
3231
3232 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3233 Tom de Vries <tdevries@suse.de>
3234
3235 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3236 max_threads_per_block and max_threads_per_multiprocessor fields.
3237 (nvptx_open_device): Initialize new fields.
3238 (nvptx_exec): Use num_sms, and new fields.
3239
3240 2018-07-26 Tom de Vries <tdevries@suse.de>
3241
3242 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3243 to correct locations. Remove xfail.
3244
3245 2018-07-26 Tom de Vries <tdevries@suse.de>
3246
3247 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3248 acc_wait. Move acc_async_test calls to correct locations. Remove
3249 xfail.
3250
3251 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3252 Thomas Koenig <tkoenig@gcc.gnu.org>
3253
3254 PR fortran/25829
3255 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3256 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3257 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3258 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3259 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3260 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3261 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3262
3263 2018-07-17 Jakub Jelinek <jakub@redhat.com>
3264
3265 PR middle-end/86542
3266 * testsuite/libgomp.c++/pr86542.C: New test.
3267
3268 PR middle-end/86539
3269 * testsuite/libgomp.c++/pr86539.C: New test.
3270
3271 2018-07-11 Jakub Jelinek <jakub@redhat.com>
3272
3273 PR c++/86443
3274 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3275 (results): Make sure the variable is not inside declare target region.
3276 (qux): Remove unused function.
3277
3278 2018-07-10 Jakub Jelinek <jakub@redhat.com>
3279
3280 PR c++/86443
3281 * testsuite/libgomp.c++/for-15.C: New test.
3282
3283 2018-06-26 Jakub Jelinek <jakub@redhat.com>
3284
3285 PR c++/86291
3286 * testsuite/libgomp.c++/pr86291.C: New test.
3287
3288 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3289
3290 * libgomp.texi (Top): Move www.openmp.org to https.
3291 (Enabling OpenMP): Ditto.
3292 (omp_get_active_level): Ditto.
3293 (omp_get_ancestor_thread_num): Ditto.
3294 (omp_get_cancellation): Ditto.
3295 (omp_get_default_device): Ditto.
3296 (omp_get_dynamic): Ditto.
3297 (omp_get_level): Ditto.
3298 (omp_get_max_active_levels): Ditto.
3299 (omp_get_max_task_priority): Ditto.
3300 (omp_get_max_threads): Ditto.
3301 (omp_get_nested): Ditto.
3302 (omp_get_num_devices): Ditto.
3303 (omp_get_num_procs): Ditto.
3304 (omp_get_num_teams): Ditto.
3305 (omp_get_num_threads): Ditto.
3306 (omp_get_proc_bind): Ditto.
3307 (omp_get_schedule): Ditto.
3308 (omp_get_team_num): Ditto.
3309 (omp_get_team_size): Ditto.
3310 (omp_get_thread_limit): Ditto.
3311 (omp_get_thread_num): Ditto.
3312 (omp_in_parallel): Ditto.
3313 (omp_in_final): Ditto.
3314 (omp_is_initial_device): Ditto.
3315 (omp_set_default_device): Ditto.
3316 (omp_set_dynamic): Ditto.
3317 (omp_set_max_active_levels): Ditto.
3318 (omp_set_nested): Ditto.
3319 (omp_set_num_threads): Ditto.
3320 (omp_set_schedule): Ditto.
3321 (omp_init_lock): Ditto.
3322 (omp_set_lock): Ditto.
3323 (omp_test_lock): Ditto.
3324 (omp_unset_lock): Ditto.
3325 (omp_destroy_lock): Ditto.
3326 (omp_init_nest_lock): Ditto.
3327 (omp_set_nest_lock): Ditto.
3328 (omp_test_nest_lock): Ditto.
3329 (omp_unset_nest_lock): Ditto.
3330 (omp_destroy_nest_lock): Ditto.
3331 (omp_get_wtick): Ditto.
3332 (omp_get_wtime): Ditto.
3333 (OMP_CANCELLATION): Ditto.
3334 (OMP_DISPLAY_ENV): Ditto.
3335 (OMP_DEFAULT_DEVICE): Ditto.
3336 (OMP_DYNAMIC): Ditto.
3337 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3338 (OMP_MAX_TASK_PRIORITY): Ditto.
3339 (OMP_NESTED): Ditto.
3340 (OMP_NUM_THREADS): Ditto.
3341 (OMP_PROC_BIND): Ditto.
3342 (OMP_PLACES): Ditto.
3343 (OMP_STACKSIZE): Ditto.
3344 (OMP_SCHEDULE): Ditto.
3345 (OMP_THREAD_LIMIT): Ditto.
3346 (OMP_WAIT_POLICY): Ditto.
3347
3348 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3349 James Norris <jnorris@codesourcery.com>
3350 Julian Brown <julian@codesourcery.com>
3351 Thomas Schwinge <thomas@codesourcery.com>
3352 Tom de Vries <tom@codesourcery.com>
3353
3354 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3355 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3356 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3357 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3358 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3359 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3360 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3361 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3362 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3363 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3364 Likewise.
3365 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3366 Likewise.
3367 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3368 Likewise.
3369 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3370 Likewise.
3371 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3372 Likewise.
3373 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3374 Likewise.
3375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3376 Likewise.
3377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3378 Likewise.
3379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3380 Likewise.
3381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3382 Likewise.
3383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3384 Likewise.
3385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3386 Likewise.
3387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3388 Likewise.
3389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3390 Likewise.
3391 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3392 Likewise.
3393 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3394 Likewise.
3395 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3396 Likewise.
3397 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3398 Likewise.
3399 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3400 Likewise.
3401 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3402 Likewise.
3403 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3404 Likewise.
3405 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3406 Likewise.
3407 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3408 Likewise.
3409 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3410 Likewise.
3411 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3412 Likewise.
3413 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3414 Likewise.
3415 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3416 Likewise.
3417 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3418 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3419 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3420 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3421 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3422 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3423 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3424 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3425 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3426 Likewise.
3427 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3428 Likewise.
3429 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3430 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3431 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3432 Likewise.
3433 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3434 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3435 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3436 Likewise.
3437 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3438 Likewise.
3439 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3440 Likewise.
3441 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3442 Likewise.
3443 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3444 Likewise.
3445 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3446 Likewise.
3447 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3448 Likewise.
3449 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3450 Likewise.
3451 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3452 Likewise.
3453 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3454 Likewise.
3455 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3456 Likewise.
3457 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3458 Likewise.
3459 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3460 Likewise.
3461 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3462 Likewise.
3463 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3464 Likewise.
3465 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3466 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3467 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3468 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3469 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3470 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3471 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3472
3473 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3474 Thomas Schwinge <thomas@codesourcery.com>
3475 Cesar Philippidis <cesar@codesourcery.com>
3476
3477 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3478 (gomp_acc_remove_pointer): Update declaration.
3479 (gomp_acc_declare_allocate): Declare.
3480 (gomp_remove_var): Declare.
3481 * libgomp.map (OACC_2.5): Define.
3482 * oacc-mem.c (acc_map_data): Update refcount.
3483 (acc_unmap_data): Likewise.
3484 (present_create_copy): Likewise.
3485 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3486 (acc_copyin): Likewise.
3487 (FLAG_FINALIZE): Define.
3488 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3489 (acc_delete_finalize): New function.
3490 (acc_delete_finalize_async): New function.
3491 (acc_copyout_finalize): New function.
3492 (acc_copyout_finalize_async): New function.
3493 (gomp_acc_insert_pointer): Update refcounts.
3494 (gomp_acc_remove_pointer): Return if data is not present on the
3495 accelerator.
3496 * oacc-parallel.c (find_pset): Rename to find_pointer.
3497 (find_pointer): Add support for GOMP_MAP_POINTER.
3498 (handle_ftn_pointers): New function.
3499 (GOACC_parallel_keyed): Update refcounts of variables.
3500 (GOACC_enter_exit_data): Add support for finalized data mappings.
3501 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3502 of fortran arrays.
3503 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3504 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3505 for GOMP_MAP_FORCE_FROM.
3506 * openacc.f90 (module openacc_internal): Add
3507 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3508 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3509 acc_copyout_finalize and acc_delete_finalize.
3510 (acc_copyout_finalize_32_h): New subroutine.
3511 (acc_copyout_finalize_64_h): New subroutine.
3512 (acc_copyout_finalize_array_h): New subroutine.
3513 (acc_delete_finalize_32_h): New subroutine.
3514 (acc_delete_finalize_64_h): New subroutine.
3515 (acc_delete_finalize_array_h): New subroutine.
3516 * openacc.h (acc_copyout_finalize): Declare.
3517 (acc_copyout_finalize_async): Declare.
3518 (acc_delete_finalize): Declare.
3519 (acc_delete_finalize_async): Declare.
3520 * openacc_lib.h (acc_copyout_finalize): New interface.
3521 (acc_delete_finalize): New interface.
3522 * target.c (gomp_map_vars): Update dynamic_refcount.
3523 (gomp_remove_var): New function.
3524 (gomp_unmap_vars): Use it.
3525 (gomp_unload_image_from_device): Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3527 case to utilize OpenACC 2.5 data clause semantics.
3528 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3529 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3530 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3531 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3532 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3533 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3534 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3535 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3536 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3537 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3538 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3539 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3540 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3541 utilize OpenACC 2.5 data clause semantics.
3542 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3543 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3544 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3545 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3546 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3547 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3548 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3549 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3550 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3551
3552 2018-05-21 Janus Weil <janus@gcc.gnu.org>
3553
3554 PR fortran/85841
3555 PR testsuite/85865
3556 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3557 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3558 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3559 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3560 * testsuite/libgomp.fortran/task2.f90: Ditto.
3561 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3562 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3563 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3564 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3565 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3566 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3567 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3568 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3569 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3570
3571 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3572
3573 PR c++/85782
3574 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3575
3576 2018-05-09 Tom de Vries <tom@codesourcery.com>
3577
3578 PR libgomp/82901
3579 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3580 to GOACC_enter_exit_data.
3581
3582 2018-05-09 Tom de Vries <tom@codesourcery.com>
3583
3584 PR libgomp/83792
3585 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3586 (async_synchronous_p): New function.
3587 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3588 async_valid_p.
3589 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3590 async_valid_stream_id_p.
3591 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3592 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3593
3594 2018-05-07 Tom de Vries <tom@codesourcery.com>
3595
3596 PR testsuite/85677
3597 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3598 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3599
3600 2018-05-03 Tom de Vries <tom@codesourcery.com>
3601
3602 PR testsuite/85106
3603 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3604 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3605 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3606 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3607
3608 2018-05-02 Tom de Vries <tom@codesourcery.com>
3609
3610 PR libgomp/85411
3611 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3612 GOMP_OPENACC_DIM ...
3613 * env.c (parse_gomp_openacc_dim): ... here. New function.
3614 (initialize_env): Call parse_gomp_openacc_dim.
3615 (goacc_default_dims): Define.
3616 * libgomp.h (goacc_default_dims): Declare.
3617 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3618 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3619 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3620 GOMP_PLUGIN_acc_default_dim.
3621 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3622 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3623
3624 2018-05-02 Tom de Vries <tom@codesourcery.com>
3625
3626 PR testsuite/83791
3627 * testsuite/libgomp.c++/udr-9.C: Update.
3628 * testsuite/libgomp.c++/atomic-16.C: Remove.
3629 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3630 * testsuite/libgomp.c++/loop-13.C: Remove.
3631 * testsuite/libgomp.c++/loop-14.C: Remove.
3632 * testsuite/libgomp.c++/loop-15.C: Remove.
3633 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3634 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3635 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3636 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3637 * testsuite/libgomp.c++/ordered-1.C: Remove.
3638 * testsuite/libgomp.c++/pr45784.C: Remove.
3639 * testsuite/libgomp.c++/pr64824.C: Remove.
3640 * testsuite/libgomp.c++/pr64868.C: Remove.
3641 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3642 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3643 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3644 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3645 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3646 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3647 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3648 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3649 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3650 * testsuite/libgomp.c++/pr69389.C: Remove.
3651 * testsuite/libgomp.c++/simd10.C: Remove.
3652 * testsuite/libgomp.c++/simd11.C: Remove.
3653 * testsuite/libgomp.c++/simd12.C: Remove.
3654 * testsuite/libgomp.c++/simd13.C: Remove.
3655 * testsuite/libgomp.c++/target-1.C: Remove.
3656 * testsuite/libgomp.c++/target-3.C: Remove.
3657 * testsuite/libgomp.c++/target-4.C: Remove.
3658 * testsuite/libgomp.c++/target-5.C: Remove.
3659 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3660 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3661 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3662 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3663 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3664 * testsuite/libgomp.c++/udr-9.C: Remove.
3665 * testsuite/libgomp.c++/for-10.C: Remove.
3666 * testsuite/libgomp.c++/for-11.C: Remove.
3667 * testsuite/libgomp.c++/for-12.C: Remove.
3668 * testsuite/libgomp.c++/for-13.C: Remove.
3669 * testsuite/libgomp.c++/for-14.C: Remove.
3670 * testsuite/libgomp.c++/for-9.C: Remove.
3671 * testsuite/libgomp.c/atomic-18.c: Move ...
3672 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3673 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3674 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3675 * testsuite/libgomp.c/loop-13.c: Move ...
3676 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3677 * testsuite/libgomp.c/loop-14.c: Move ...
3678 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3679 * testsuite/libgomp.c/loop-15.c: Remove.
3680 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3681 * testsuite/libgomp.c/monotonic-1.c: Move ...
3682 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3683 * testsuite/libgomp.c/monotonic-2.c: Move ...
3684 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3685 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3686 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3687 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3688 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3689 * testsuite/libgomp.c/ordered-4.c: Move ...
3690 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3691 * testsuite/libgomp.c/pr45784.c: Move ...
3692 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3693 * testsuite/libgomp.c/pr64824.c: Move ...
3694 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3695 * testsuite/libgomp.c/pr64868.c: Move ...
3696 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3697 * testsuite/libgomp.c/pr66199-1.c: Move ...
3698 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3699 * testsuite/libgomp.c/pr66199-2.c: Move ...
3700 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3701 * testsuite/libgomp.c/pr66199-3.c: Move ...
3702 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3703 * testsuite/libgomp.c/pr66199-4.c: Move ...
3704 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3705 * testsuite/libgomp.c/pr66199-5.c: Move ...
3706 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3707 * testsuite/libgomp.c/pr66199-6.c: Move ...
3708 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3709 * testsuite/libgomp.c/pr66199-7.c: Move ...
3710 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3711 * testsuite/libgomp.c/pr66199-8.c: Move ...
3712 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3713 * testsuite/libgomp.c/pr66199-9.c: Move ...
3714 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3715 * testsuite/libgomp.c/pr69389.c: Move ...
3716 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3717 * testsuite/libgomp.c/simd-14.c: Move ...
3718 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3719 * testsuite/libgomp.c/simd-15.c: Move ...
3720 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3721 * testsuite/libgomp.c/simd-16.c: Move ...
3722 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3723 * testsuite/libgomp.c/simd-17.c: Move ...
3724 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3725 * testsuite/libgomp.c/target-1.c: Move ...
3726 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3727 * testsuite/libgomp.c/target-10.c: Move ...
3728 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3729 * testsuite/libgomp.c/target-13.c: Move ...
3730 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3731 * testsuite/libgomp.c/target-2.c: Move ...
3732 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3733 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3734 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3735 * testsuite/libgomp.c/taskloop-1.c: Move ...
3736 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3737 * testsuite/libgomp.c/taskloop-2.c: Move ...
3738 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3739 * testsuite/libgomp.c/taskloop-3.c: Move ...
3740 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3741 * testsuite/libgomp.c/taskloop-4.c: Move ...
3742 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3743 * testsuite/libgomp.c/udr-1.c: Move ...
3744 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3745 * testsuite/libgomp.c/for-1.c: Move ...
3746 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3747 * testsuite/libgomp.c/for-1.h: Move ...
3748 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3749 * testsuite/libgomp.c/for-2.c: Move ...
3750 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3751 * testsuite/libgomp.c/for-2.h: Move ...
3752 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3753 * testsuite/libgomp.c/for-3.c: Move ...
3754 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3755 * testsuite/libgomp.c/for-4.c: Move ...
3756 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3757 * testsuite/libgomp.c/for-5.c: Move ...
3758 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3759 * testsuite/libgomp.c/for-6.c: Move ...
3760 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3761
3762 2018-05-02 Tom de Vries <tom@codesourcery.com>
3763
3764 PR libgomp/82428
3765 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3766 __builtin_goacc_parlevel_{id,size}.
3767 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3768 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3769 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3770 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3771 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3772 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3773 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3774 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3775 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3776 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3777 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3778 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3779 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3780 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3781 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3782 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3783 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3784 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3785 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3786 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3787 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3788 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3789 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3790
3791 2018-05-02 Tom de Vries <tom@codesourcery.com>
3792
3793 PR testsuite/85106
3794 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3795
3796 2018-05-02 Tom de Vries <tom@codesourcery.com>
3797
3798 PR testsuite/85106
3799 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3800
3801 2018-04-29 Julian Brown <julian@codesourcery.com>
3802 Tom de Vries <tom@codesourcery.com>
3803
3804 PR testsuite/85527
3805 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3806 arbitrary order for iterations of atomic subtract check.
3807
3808 2018-04-28 Tom de Vries <tom@codesourcery.com>
3809
3810 PR testsuite/85527
3811 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3812 atomic capture results obtained in parallel loop to an array, instead of
3813 to a scalar.
3814
3815 2018-04-26 Tom de Vries <tom@codesourcery.com>
3816
3817 PR libgomp/84020
3818 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3819 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3820 (process_GOMP_NVPTX_JIT): New function.
3821 (link_ptx): Use process_GOMP_NVPTX_JIT.
3822
3823 2018-04-26 Richard Biener <rguenther@suse.de>
3824 Tom de Vries <tom@codesourcery.com>
3825
3826 PR lto/85422
3827 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3828
3829 2018-04-26 Tom de Vries <tom@codesourcery.com>
3830
3831 PR target/85519
3832 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3833 recursion depth from 25 to 23.
3834 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3835
3836 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3837
3838 * configure: Regenerated.
3839
3840 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3841 Tom de Vries <tom@codesourcery.com>
3842
3843 PR target/85445
3844 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3845
3846 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3847
3848 PR libgomp/85463
3849 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3850 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3851 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3852 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3853 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3854 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3855
3856 PR libfortran/85166
3857 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3858 abort".
3859 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3860
3861 2018-04-19 Jakub Jelinek <jakub@redhat.com>
3862
3863 * configure: Regenerated.
3864
3865 2018-04-18 David Malcolm <dmalcolm@redhat.com>
3866
3867 PR jit/85384
3868 * configure: Regenerate.
3869
3870 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3871 Tom de Vries <tom@codesourcery.com>
3872
3873 PR middle-end/84955
3874 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3875 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3876
3877 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3878
3879 PR fortran/83064
3880 PR testsuite/85346
3881 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3882 test from gfortran.dg to here.
3883
3884 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3885
3886 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3887 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3888
3889 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3890
3891 PR middle-end/84955
3892 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3893 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3894
3895 2018-04-05 Tom de Vries <tom@codesourcery.com>
3896
3897 PR target/85204
3898 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3899
3900 2018-03-26 Tom de Vries <tom@codesourcery.com>
3901
3902 PR tree-optimization/85063
3903 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3904 * testsuite/libgomp.c/switch-conversion.c: New test.
3905 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3906 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3907
3908 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3909
3910 PR fortran/84381
3911 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3912 call abort by STOP n.
3913 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3914 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3915 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3916 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3917 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3918 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3919 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3920 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3921 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3922 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3923 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3924 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3925 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3926 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3927 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3928 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3929 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3930 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3931 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3932 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3933 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3934 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3935 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3936 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3937 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3938 * testsuite/libgomp.fortran/character1.f90: Likewise.
3939 * testsuite/libgomp.fortran/character2.f90: Likewise.
3940 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3941 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3942 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3943 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3944 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3945 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3946 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3947 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3948 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3949 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3950 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3951 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3952 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3953 * testsuite/libgomp.fortran/do1.f90: Likewise.
3954 * testsuite/libgomp.fortran/do2.f90: Likewise.
3955 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3956 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3957 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3958 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3959 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3960 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3961 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3962 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3963 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3964 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3965 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3966 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3967 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3968 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3969 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3970 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3971 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3972 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3973 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3974 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3975 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3976 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3977 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3978 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3979 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3980 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3981 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3982 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3983 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3984 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3985 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3986 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3987 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3988 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3989 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3990 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3991 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3992 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3993 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3994 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3995 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3996 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3997 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3998 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3999 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4000 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4001 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4002 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4003 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4004 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4005 * testsuite/libgomp.fortran/lib2.f: Likewise.
4006 * testsuite/libgomp.fortran/lib3.f: Likewise.
4007 * testsuite/libgomp.fortran/lib4.f90: Likewise.
4008 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4009 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4010 * testsuite/libgomp.fortran/nested1.f90: Likewise.
4011 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4012 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4013 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4014 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4015 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4016 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4017 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4018 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4019 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4020 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4021 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4022 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4023 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4024 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4025 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4026 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4027 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4028 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4029 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4030 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4031 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4032 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4033 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4034 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4035 * testsuite/libgomp.fortran/pr25162.f: Likewise.
4036 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4037 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4038 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4039 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4040 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4041 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4042 * testsuite/libgomp.fortran/pr28390.f: Likewise.
4043 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4044 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4045 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4046 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4047 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4048 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4049 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4050 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4051 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4052 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4053 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4054 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4055 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4056 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4057 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4058 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4059 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4060 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4061 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4062 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4063 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4064 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4065 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4066 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4067 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4068 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4069 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4070 * testsuite/libgomp.fortran/reference1.f90: Likewise.
4071 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4072 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4073 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4074 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4075 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4076 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4077 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4078 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4079 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4080 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4081 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4082 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4083 * testsuite/libgomp.fortran/stack.f90: Likewise.
4084 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4085 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4086 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4087 * testsuite/libgomp.fortran/target1.f90: Likewise.
4088 * testsuite/libgomp.fortran/target2.f90: Likewise.
4089 * testsuite/libgomp.fortran/target3.f90: Likewise.
4090 * testsuite/libgomp.fortran/target4.f90: Likewise.
4091 * testsuite/libgomp.fortran/target5.f90: Likewise.
4092 * testsuite/libgomp.fortran/target6.f90: Likewise.
4093 * testsuite/libgomp.fortran/target7.f90: Likewise.
4094 * testsuite/libgomp.fortran/target8.f90: Likewise.
4095 * testsuite/libgomp.fortran/task1.f90: Likewise.
4096 * testsuite/libgomp.fortran/task2.f90: Likewise.
4097 * testsuite/libgomp.fortran/task3.f90: Likewise.
4098 * testsuite/libgomp.fortran/task4.f90: Likewise.
4099 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4100 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4101 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4102 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4103 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4104 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4105 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4106 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4107 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4108 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4109 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4110 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4111 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4112 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4113 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4114 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4115 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4116 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4117 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4118 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4119 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4120 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4121 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4122 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4123 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4124 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4125 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4126 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4127 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4128 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4129 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4130 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4131 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4132 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4133 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4134 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4135 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4136 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4137 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4138 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4139 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4140 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4141 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4142 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4143 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4144 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4145 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4146 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4147 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4148 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4149 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4150 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4151 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4152 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4153 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4154 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4155 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4156 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4157 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4158 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4159 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4160 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4161 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4162 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4163 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4164 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4165 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4166 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4167 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4168 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4169 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4170 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4171 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4172 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4173 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4174 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4175 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4176 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4177 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4178 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4179 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4180 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4181 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4182 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4183 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4184 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4185 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4186 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4187 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4188 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4189 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4190 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4191 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4192 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4193 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4194 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4195 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4196 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4197 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4198 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4199 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4200 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4201 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4202 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4203 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4204 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4205 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4206 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4207 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4208 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4209 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4210 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4211 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4212 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4213 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4214 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4215 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4216 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4217 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4218 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4219 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4220 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4221 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4222 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4223 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4224 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4225
4226 2018-03-20 Richard Biener <rguenther@suse.de>
4227
4228 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4229 parallelizable loop.
4230
4231 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4232
4233 PR target/84148
4234 * configure: Regenerate.
4235
4236 2018-02-16 Jakub Jelinek <jakub@redhat.com>
4237
4238 PR fortran/84418
4239 * libgomp.fortran/pr84418-1.f90: New test.
4240 * libgomp.fortran/pr84418-2.f90: New test.
4241
4242 2018-02-14 Jakub Jelinek <jakub@redhat.com>
4243
4244 PR fortran/84313
4245 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4246 -std=f2003 -fall-intrinsics into dg-additional-options.
4247
4248 2018-02-08 Martin Jambor <mjambor@suse.cz>
4249
4250 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4251 clonable.
4252
4253 2018-02-08 Martin Jambor <mjambor@suse.cz>
4254
4255 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4256
4257 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4258
4259 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4260 [__cplusplus]: Declare extern "C".
4261
4262 2018-02-07 Tom de Vries <tom@codesourcery.com>
4263
4264 PR libgomp/84217
4265 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4266
4267 2018-01-29 Christoph Spiel <cspiel@freenet.de>
4268 Jakub Jelinek <jakub@redhat.com>
4269
4270 PR libgomp/84096
4271 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4272 instead of omp_lock_t.
4273
4274 2018-01-25 Tom de Vries <tom@codesourcery.com>
4275
4276 PR target/84028
4277 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4278
4279 2018-01-24 Tom de Vries <tom@codesourcery.com>
4280
4281 PR target/83589
4282 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4283
4284 2018-01-24 Tom de Vries <tom@codesourcery.com>
4285
4286 PR target/81352
4287 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4288
4289 2018-01-19 Tom de Vries <tom@codesourcery.com>
4290 Cesar Philippidis <cesar@codesourcery.com>
4291
4292 PR target/83920
4293 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4294 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4295
4296 2018-01-03 Jakub Jelinek <jakub@redhat.com>
4297
4298 Update copyright years.
4299
4300 * libgomp.texi: Bump @copying's copyright year.
4301
4302 2017-12-30 Tom de Vries <tom@codesourcery.com>
4303
4304 PR libgomp/83046
4305 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4306 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4307
4308 2017-12-27 Tom de Vries <tom@codesourcery.com>
4309
4310 PR c++/83046
4311 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4312 (test_nonstatic): Fix return type to workaround PR83046.
4313
4314 2017-12-05 Jakub Jelinek <jakub@redhat.com>
4315
4316 PR testsuite/83281
4317 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4318 j suffix instead of i.
4319 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4320 Likewise.
4321
4322 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4323
4324 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4325 call to acc_wait (1).
4326
4327 2017-11-24 Jakub Jelinek <jakub@redhat.com>
4328
4329 PR fortran/81304
4330 * testsuite/libgomp.fortran/pr81304.f90: New test.
4331
4332 2017-11-23 Jakub Jelinek <jakub@redhat.com>
4333
4334 PR fortran/81841
4335 * libgomp.fortran/pr81841.f90: New test.
4336
4337 2017-11-22 Jakub Jelinek <jakub@redhat.com>
4338
4339 PR libgomp/83106
4340 * target.c (gomp_target_init): Compute lengths just once and
4341 use them in both malloc size and subsequent copying.
4342
4343 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4344
4345 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4346 * acinclude.m4: Add cet.m4.
4347 * configure: Regenerate.
4348 * Makefile.in: Likewise.
4349 * testsuite/Makefile.in: Likewise.
4350
4351 2017-11-15 Tom de Vries <tom@codesourcery.com>
4352
4353 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4354 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4355 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4356 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4357 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4358 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4359
4360 2017-11-14 Tom de Vries <tom@codesourcery.com>
4361
4362 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4363 non-nvidia devices.
4364
4365 2017-11-07 Jakub Jelinek <jakub@redhat.com>
4366
4367 PR c++/82835
4368 * testsuite/libgomp.c++/pr82835.C: New test.
4369
4370 2017-11-06 Martin Liska <mliska@suse.cz>
4371
4372 * testsuite/libgomp.c++/loop-2.C: Return a value
4373 for functions with non-void return type, or change type to void,
4374 or add -Wno-return-type for test.
4375 * testsuite/libgomp.c++/loop-4.C: Likewise.
4376 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4377 * testsuite/libgomp.c++/shared-1.C: Likewise.
4378 * testsuite/libgomp.c++/single-1.C: Likewise.
4379 * testsuite/libgomp.c++/single-2.C: Likewise.
4380
4381 2017-10-31 Tom de Vries <tom@codesourcery.com>
4382
4383 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4384 "do {} while (false)".
4385 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4386 after HSA_DEBUG call.
4387
4388 2017-10-28 Jakub Jelinek <jakub@redhat.com>
4389
4390 * target.c (struct gomp_coalesce_buf): New type.
4391 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4392 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4393 (gomp_copy_host2dev): Add CBUF argument, if copying into
4394 the cached ranges, memcpy into buffer instead of copying
4395 into device.
4396 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4397 Add CBUF argument, pass it through to other calls.
4398 (gomp_map_vars): Aggregate copies from host to device if small enough
4399 and with small enough gaps in between into memcpy into a buffer and
4400 fewer host to device copies from the buffer.
4401 (gomp_update): Adjust gomp_copy_host2dev caller.
4402
4403 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4404
4405 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4406 run" directive.
4407 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4408 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4409 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4410 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4411
4412 2017-10-16 Tom de Vries <tom@codesourcery.com>
4413
4414 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4415 openacc_nvidia_accel_selected.
4416 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4417 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4418 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4419 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4420 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4421 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4422 openacc_nvidia_accel_selected. Skip for shared memory device.
4423 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4424 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4425
4426 2017-10-09 Martin Jambor <mjambor@suse.cz>
4427
4428 PR hsa/82416
4429 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4430
4431 2017-10-07 Tom de Vries <tom@codesourcery.com>
4432
4433 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4434 Remove acc_device_nvidia references.
4435 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4436 Same.
4437
4438 2017-10-05 Tom de Vries <tom@codesourcery.com>
4439
4440 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4441 vector_length(32) clause from acc parallel directive.
4442 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4443
4444 2017-10-04 Tom de Vries <tom@codesourcery.com>
4445
4446 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4447 (main): Reduce sum of arr elements. Assert that hres is exactly
4448 representable in 32-bit floating point.
4449 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4450 (main): Reduce sum of arr elements. Assert that hres and hmres are
4451 exactly representable in 32-bit floating point.
4452 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4453
4454 2017-09-28 Tom de Vries <tom@codesourcery.com>
4455
4456 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4457 setting.
4458 * testsuite/libgomp.c++/pr69393.C: Same.
4459 * testsuite/libgomp.c++/taskloop-1.C: Same.
4460 * testsuite/libgomp.c++/taskloop-3.C: Same.
4461 * testsuite/libgomp.c++/taskloop-4.C: Same.
4462 * testsuite/libgomp.c/for-4.c: Same.
4463 * testsuite/libgomp.c/pr66199-3.c: Same.
4464 * testsuite/libgomp.c/pr66199-4.c: Same.
4465 * testsuite/libgomp.c/pr66199-6.c: Same.
4466 * testsuite/libgomp.c/taskloop-1.c: Same.
4467 * testsuite/libgomp.c/taskloop-3.c: Same.
4468 * testsuite/libgomp.c/taskloop-4.c: Same.
4469 * testsuite/libgomp.fortran/aligned1.f03: Same.
4470 * testsuite/libgomp.fortran/condinc1.f: Same.
4471 * testsuite/libgomp.fortran/condinc3.f90: Same.
4472 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4473 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4474 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4475 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4476 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4477 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4478 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4479 * testsuite/libgomp.fortran/recursion1.f90: Same.
4480 * testsuite/libgomp.fortran/target2.f90: Same.
4481 * testsuite/libgomp.fortran/target5.f90: Same.
4482 * testsuite/libgomp.fortran/task3.f90: Same.
4483
4484 2017-09-28 Tom de Vries <tom@codesourcery.com>
4485
4486 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4487 vector_length(32) clause from acc parallel directive.
4488 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4489
4490 2017-09-27 Tom de Vries <tom@codesourcery.com>
4491
4492 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4493 Remove acc_device_nvidia references.
4494
4495 2017-09-16 Tom de Vries <tom@codesourcery.com>
4496
4497 PR c/81875
4498 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4499
4500 2017-09-14 Tom de Vries <tom@codesourcery.com>
4501
4502 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4503 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4504 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4505 * testsuite/libgomp.c/c.exp: Include test-cases from
4506 libgomp.c-c++-common.
4507 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4508 files.
4509
4510 2017-09-14 Jakub Jelinek <jakub@redhat.com>
4511
4512 PR c++/81314
4513 * testsuite/libgomp.c++/pr81314.C: New test.
4514
4515 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4516
4517 * libgomp.texi (Top): www.openacc.org now uses https.
4518 (Enabling OpenACC): Ditto.
4519 (acc_get_num_devices): Ditto.
4520 (acc_set_device_type): Ditto.
4521 (acc_get_device_type): Ditto.
4522 (acc_set_device_num): Ditto.
4523 (acc_get_device_num): Ditto.
4524 (acc_async_test): Ditto.
4525 (acc_async_test_all): Ditto.
4526 (acc_wait): Ditto.
4527 (acc_wait_all): Ditto.
4528 (acc_wait_all_async): Ditto.
4529 (acc_wait_async): Ditto.
4530 (acc_init): Ditto.
4531 (acc_shutdown): Ditto.
4532 (acc_on_device): Ditto.
4533 (acc_malloc): Ditto.
4534 (acc_free): Ditto.
4535 (acc_copyin): Ditto.
4536 (acc_present_or_copyin): Ditto.
4537 (acc_create): Ditto.
4538 (acc_present_or_create): Ditto.
4539 (acc_copyout): Ditto.
4540 (acc_delete): Ditto.
4541 (acc_update_device): Ditto.
4542 (acc_update_self): Ditto.
4543 (acc_map_data): Ditto.
4544 (acc_unmap_data): Ditto.
4545 (acc_deviceptr): Ditto.
4546 (acc_hostptr): Ditto.
4547 (acc_is_present): Ditto.
4548 (acc_memcpy_to_device): Ditto.
4549 (acc_memcpy_from_device): Ditto.
4550 (acc_get_current_cuda_device): Ditto.
4551 (acc_get_current_cuda_context): Ditto.
4552 (acc_get_cuda_stream): Ditto.
4553 (acc_set_cuda_stream): Ditto.
4554 (ACC_DEVICE_TYPE): Ditto.
4555 (ACC_DEVICE_NUM): Ditto.
4556 (OpenACC Library Interoperability): Ditto.
4557
4558 2017-08-09 Jakub Jelinek <jakub@redhat.com>
4559
4560 PR c/81687
4561 * testsuite/libgomp.c/pr81687-1.c: New test.
4562 * testsuite/libgomp.c/pr81687-2.c: New test.
4563
4564 2017-08-07 Jakub Jelinek <jakub@redhat.com>
4565
4566 PR c/69389
4567 * testsuite/libgomp.c/pr69389.c: New test.
4568 * testsuite/libgomp.c++/pr69389.C: New test.
4569
4570 2017-08-07 Tom de Vries <tom@codesourcery.com>
4571
4572 PR middle-end/78266
4573 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4574 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4575
4576 2017-07-27 Jakub Jelinek <jakub@redhat.com>
4577
4578 PR c/45784
4579 * testsuite/libgomp.c/pr45784.c: New test.
4580 * testsuite/libgomp.c++/pr45784.C: New test.
4581
4582 2017-07-19 Tom de Vries <tom@codesourcery.com>
4583
4584 * testsuite/libgomp.oacc-c/vec.c: New test.
4585
4586 2017-07-03 Tom de Vries <tom@codesourcery.com>
4587
4588 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4589
4590 2017-06-27 Tom de Vries <tom@codesourcery.com>
4591
4592 * plugin/plugin-nvptx.c (notify_var): New function.
4593 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4594
4595 2017-06-27 Tom de Vries <tom@codesourcery.com>
4596
4597 * env.c (parse_unsigned_long_1): Factor out of ...
4598 (parse_unsigned_long): ... here.
4599 (parse_int_1): Factor out of ...
4600 (parse_int): ... here.
4601 (parse_int_secure): New function.
4602 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4603 * secure_getenv.h: Factor out of ...
4604 * plugin/plugin-hsa.c: ... here.
4605 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4606
4607 2017-06-21 Jakub Jelinek <jakub@redhat.com>
4608
4609 PR c++/81130
4610 * testsuite/libgomp.c++/pr81130.C: New test.
4611
4612 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4613
4614 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4615 default args.
4616 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4617 dg-xfail-run-if default args.
4618
4619 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4620
4621 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4622 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4623
4624 2017-05-30 Jakub Jelinek <jakub@redhat.com>
4625
4626 PR libgomp/80822
4627 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4628 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4629 sibling lists, depending on level just pick up what CPUs to put
4630 together into a place vs. whether add multiple ordered places.
4631
4632 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4633
4634 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4635 * libgomp.map (OACC_2.0.1): Add these.
4636 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4637 for "acc_wait", and "acc_wait_all", respectively.
4638 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4639 for "acc_wait", and "acc_wait_all", respectively.
4640 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4641 * libgomp.texi (acc_wait, acc_wait_all): Update.
4642 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4643 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4644 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4645
4646 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4647 acc_present_or_copyin and acc_present_or_create procedures,
4648 respectively.
4649 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4650 generally different variants of OpenACC Runtime Library functions.
4651 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4652
4653 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4654 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4655
4656 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4657 of preprocessor definitions.
4658 * libgomp.h (strong_alias): Guard by "#ifdef
4659 HAVE_ATTRIBUTE_ALIAS".
4660 * oacc-mem.c: Provide "acc_pcreate" as alias for
4661 "acc_present_or_create", and "acc_pcopyin" as alias for
4662 "acc_present_or_copyin".
4663 * libgomp.map: New version "OACC_2.0.1".
4664 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4665 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4666 its content into...
4667 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4668 Extend testing.
4669
4670 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4671 when disabling nvptx offloading.
4672
4673 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4674
4675 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4676 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4677 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4678
4679 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4680 * testsuite/lib/libgomp.exp
4681 (check_effective_target_openacc_nvidia_accel_configured): New
4682 proc.
4683 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4684 (check_effective_target_c++): New procs.
4685 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4686 (check_effective_target_c++): Likewise.
4687
4688 2017-05-22 Jakub Jelinek <jakub@redhat.com>
4689
4690 PR middle-end/80809
4691 * testsuite/libgomp.c/pr80809-2.c: New test.
4692 * testsuite/libgomp.c/pr80809-3.c: New test.
4693
4694 PR middle-end/80809
4695 * testsuite/libgomp.c/pr80809-1.c: New test.
4696
4697 PR middle-end/80853
4698 * testsuite/libgomp.c/pr80853.c: New test.
4699
4700 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4701
4702 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4703 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4704 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4705 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4706 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4707
4708 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4709 Debug output for failure.
4710
4711 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4712
4713 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4714
4715 2017-04-27 Jakub Jelinek <jakub@redhat.com>
4716
4717 PR bootstrap/80531
4718 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4719 bootstrap compare failures.
4720
4721 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
4722
4723 * testsuite/libgomp.c/target-36.c: New testcase.
4724
4725 2017-04-13 Jakub Jelinek <jakub@redhat.com>
4726
4727 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4728 instead of char.
4729
4730 2017-04-11 Jakub Jelinek <jakub@redhat.com>
4731
4732 PR libgomp/80394
4733 * testsuite/libgomp.c/pr80394.c: New test.
4734
4735 2017-04-04 Jakub Jelinek <jakub@redhat.com>
4736
4737 PR libgomp/79876
4738 * config/posix/thread-stacksize.h: New file.
4739 * config/darwin/thread-stacksize.h: New file.
4740 * config/nvptx/thread-stacksize.h: New file.
4741 * env.c: Include thread-stacksize.h.
4742 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4743 instead of 0. Call pthread_attr_setstacksize even if
4744 GOMP_DEFAULT_STACKSIZE is non-zero.
4745
4746 2017-03-30 Jakub Jelinek <jakub@redhat.com>
4747
4748 * env.c (initialize_env): Initialize stacksize to 0.
4749
4750 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4751
4752 PR c++/80029
4753 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4754
4755 2017-03-08 Jakub Jelinek <jakub@redhat.com>
4756
4757 PR c/79940
4758 * testsuite/libgomp.c/pr79940.c: New test.
4759
4760 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4761
4762 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4763 targets.
4764 Add __float128 options.
4765
4766 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
4767
4768 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4769 hppa*-*-* dg-skip-if directive.
4770
4771 2017-02-09 Jakub Jelinek <jakub@redhat.com>
4772
4773 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4774 dg-skip-if directive into a comment.
4775
4776 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4777 Chung-Lin Tang <cltang@codesourcery.com>
4778
4779 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4780 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4781 add additional case.
4782 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4783 "openacc_nvidia_accel_selected".
4784 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4785 Add num_workers(8) clause.
4786
4787 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
4788
4789 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4790 hppa*-*-*.
4791 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4792 include complex.h on hppa*-*-hpux*.
4793 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4794
4795 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4796
4797 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4798
4799 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4800 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4801 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4802 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4803 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4804 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4805 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4806 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4807 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4808 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4809
4810 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4811
4812 * libgomp-plugin.h: #include <stdbool.h>.
4813 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4814 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4815 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4816 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4817 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4818 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4819 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4820 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4821 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4822 (GOMP_OFFLOAD_openacc_async_test)
4823 (GOMP_OFFLOAD_openacc_async_test_all)
4824 (GOMP_OFFLOAD_openacc_async_wait)
4825 (GOMP_OFFLOAD_openacc_async_wait_async)
4826 (GOMP_OFFLOAD_openacc_async_wait_all)
4827 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4828 (GOMP_OFFLOAD_openacc_async_set_async)
4829 (GOMP_OFFLOAD_openacc_create_thread_data)
4830 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4831 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4832 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4833 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4834 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4835 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4836 these.
4837 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4838 (GOMP_OFFLOAD_unload_image): Fix argument types.
4839
4840 2017-01-26 Jakub Jelinek <jakub@redhat.com>
4841
4842 * testsuite/lib/libgomp.exp
4843 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4844 check_compile invocation. Fix up removal of executable. Drop
4845 bogus "2>&1" argument.
4846
4847 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4848 directive.
4849
4850 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
4851 Martin Jambor <mjambor@suse.cz>
4852
4853 * plugin/hsa.h: Moved to top level include.
4854 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4855
4856 2017-01-21 Jakub Jelinek <jakub@redhat.com>
4857
4858 PR other/79046
4859 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4860 of cat to get version from BASE-VER file.
4861 * testsuite/Makefile.in: Regenerated.
4862
4863 2017-01-19 Jakub Jelinek <jakub@redhat.com>
4864
4865 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4866 for _WIN64.
4867
4868 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4869
4870 * plugin/hsa.h: Add GCC runtime library exception.
4871 * plugin/hsa_ext_finalize.h: Likewise.
4872
4873 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4874 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4875 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4876 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4877 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4878 library to link ptx plugin against.
4879 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4880 (CUDA_CALLS): Define.
4881 (cuda_lib, cuda_lib_inited): New variables.
4882 (init_cuda_lib): New function.
4883 (CUDA_CALL_PREFIX): Define.
4884 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4885 (CUDA_CALL): Use FN instead of (FN).
4886 (CUDA_CALL_NOCHECK): Define.
4887 (cuda_error, fini_streams_for_device, select_stream_for_async,
4888 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4889 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4890 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4891 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4892 CUDA_CALL_NOCHECK.
4893 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4894 CUDA_CALL_NOCHECK.
4895 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4896 Use CUDA_CALL_NOCHECK.
4897 * plugin/cuda/cuda.h: New file.
4898 * config.h.in: Regenerated.
4899 * configure: Regenerated.
4900
4901 PR other/79046
4902 * configure.ac: Add GCC_BASE_VER.
4903 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4904 get version from BASE-VER file.
4905 * testsuite/Makefile.in: Regenerated.
4906 * configure: Regenerated.
4907 * Makefile.in: Regenerated.
4908
4909 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4910
4911 PR libgomp/60670
4912 * Makefile.am: Make fincludedir multilib-aware.
4913 * Makefile.in: Regenerate.
4914
4915 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4916
4917 Update copyright years.
4918
4919 * libgomp.texi: Bump @copying's copyright year.
4920
4921 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4922
4923 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4924 pthread_spinlock_t instead of gomp_mutex_t lock.
4925 (gomp_get_thread_pool): Likewise.
4926 (gomp_release_thread_pool): Likewise.
4927 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4928 Likewise.
4929
4930 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4931
4932 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4933 thread pool in case nthreads == 1.
4934
4935 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4936
4937 * config/nvptx/env.c: Delete.
4938 * icv.c: Move definitions of ICV variables back ...
4939 * env.c: ...here. Do not compile environment-related functionality if
4940 LIBGOMP_OFFLOADED_ONLY is set.
4941
4942 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4943
4944 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4945 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4946 * configure: Regenerate.
4947 * config.h.in: Likewise.
4948
4949 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4950
4951 * Makefile.in: Regenerate with automake-1.11.6.
4952 * aclocal.m4: Likewise.
4953 * configure: Likewise.
4954 * testsuite/Makefile.in: Likewise.
4955
4956 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
4957
4958 * config/nvptx/critical.c: Delete to use generic implementation.
4959
4960 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4961
4962 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4963 ../../affinity.c as fallback.
4964 * config/nvptx/affinity.c: Delete to use fallback implementation.
4965
4966 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
4967 Jakub Jelinek <jakub@redhat.com>
4968 Dmitry Melnik <dm@ispras.ru>
4969
4970 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4971 * Makefile.in. Regenerate.
4972 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4973 (LIBGOMP_USE_PTHREADS): ...here; new define.
4974 * configure: Regenerate.
4975 * config.h.in: Likewise.
4976 * config/posix/affinity.c: Move to...
4977 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4978 interface by LIBGOMP_USE_PTHREADS.
4979 * critical.c: Split out GOMP_atomic_{start,end} into...
4980 * atomic.c: ...here (new file).
4981 * env.c: Split out ICV definitions into...
4982 * icv.c: ...here (new file) and...
4983 * icv-device.c: ...here. New file.
4984 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4985 (gomp_destroy_lock_30): Ditto.
4986 (gomp_set_lock_30): Ditto.
4987 (gomp_unset_lock_30): Ditto.
4988 (gomp_test_lock_30): Ditto.
4989 (gomp_init_nest_lock_30): Ditto.
4990 (gomp_destroy_nest_lock_30): Ditto.
4991 (gomp_set_nest_lock_30): Ditto.
4992 (gomp_unset_nest_lock_30): Ditto.
4993 (gomp_test_nest_lock_30): Ditto.
4994 * lock.c: New.
4995 * config/nvptx/lock.c: New.
4996 * config/nvptx/bar.c: New.
4997 * config/nvptx/bar.h: New.
4998 * config/nvptx/doacross.h: New.
4999 * config/nvptx/error.c: New.
5000 * config/nvptx/icv-device.c: New.
5001 * config/nvptx/mutex.h: New.
5002 * config/nvptx/pool.h: New.
5003 * config/nvptx/proc.c: New.
5004 * config/nvptx/ptrlock.h: New.
5005 * config/nvptx/sem.h: New.
5006 * config/nvptx/simple-bar.h: New.
5007 * config/nvptx/target.c: New.
5008 * config/nvptx/task.c: New.
5009 * config/nvptx/team.c: New.
5010 * config/nvptx/time.c: New.
5011 * config/posix/simple-bar.h: New.
5012 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
5013 (gomp_num_teams_var): Declare.
5014 (struct gomp_thread_pool): Change threads_dock member to
5015 gomp_simple_barrier_t.
5016 [__nvptx__] (gomp_thread): New implementation.
5017 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5018 (gomp_thread_destructor): Ditto.
5019 (gomp_init_thread_affinity): Ditto.
5020 * team.c: Guard uses of Pthreads-specific interfaces by
5021 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
5022 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5023 * config/nvptx/alloc.c: Delete.
5024 * config/nvptx/barrier.c: Ditto.
5025 * config/nvptx/fortran.c: Ditto.
5026 * config/nvptx/iter.c: Ditto.
5027 * config/nvptx/iter_ull.c: Ditto.
5028 * config/nvptx/loop.c: Ditto.
5029 * config/nvptx/loop_ull.c: Ditto.
5030 * config/nvptx/ordered.c: Ditto.
5031 * config/nvptx/parallel.c: Ditto.
5032 * config/nvptx/priority_queue.c: Ditto.
5033 * config/nvptx/sections.c: Ditto.
5034 * config/nvptx/single.c: Ditto.
5035 * config/nvptx/splay-tree.c: Ditto.
5036 * config/nvptx/work.c: Ditto.
5037 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5038 -foffload=-lgfortran in addition to -lgfortran.
5039 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5040 * plugin/plugin-nvptx.c: Include <limits.h>.
5041 (struct targ_fn_descriptor): Add new fields.
5042 (struct ptx_device): Ditto. Set them...
5043 (nvptx_open_device): ...here.
5044 (nvptx_adjust_launch_bounds): New.
5045 (nvptx_host2dev): Allow NULL 'nvthd'.
5046 (nvptx_dev2host): Ditto.
5047 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5048 (link_ptx): Adjust log sizes.
5049 (nvptx_host2dev): Allow NULL 'nvthd'.
5050 (nvptx_dev2host): Ditto.
5051 (nvptx_set_clocktick): New. Use it...
5052 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
5053 fields.
5054 (GOMP_OFFLOAD_dev2dev): New.
5055 (nvptx_adjust_launch_bounds): New.
5056 (nvptx_stacks_size): New.
5057 (nvptx_stacks_alloc): New.
5058 (nvptx_stacks_free): New.
5059 (GOMP_OFFLOAD_run): New.
5060 (GOMP_OFFLOAD_async_run): New (stub).
5061
5062 2016-11-23 Martin Jambor <mjambor@suse.cz>
5063
5064 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5065 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5066 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5067
5068 2016-11-23 Martin Liska <mliska@suse.cz>
5069 Martin Jambor <mjambor@suse.cz>
5070
5071 * plugin/hsa.h: New file.
5072 * plugin/hsa_ext_finalize.h: New file.
5073 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5074 header file unistd.h, and functions secure_getenv, __secure_getenv,
5075 getuid, geteuid, getgid and getegid.
5076 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5077 -D_GNU_SOURCE.
5078 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5079 Handle various cases of secure_getenv presence, add an implementation
5080 when we can test effective UID and GID.
5081 (struct hsa_runtime_fn_info): New structure.
5082 (hsa_runtime_fn_info hsa_fns): New variable.
5083 (hsa_runtime_lib): Likewise.
5084 (support_cpu_devices): Likewise.
5085 (init_enviroment_variables): Load newly introduced ENV
5086 variables.
5087 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5088 (hsa_fatal): Likewise.
5089 (DLSYM_FN): New macro.
5090 (init_hsa_runtime_functions): New function.
5091 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5092 structure. Depending on environment, also allow CPU devices.
5093 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5094 (get_kernarg_memory_region): Likewise.
5095 (GOMP_OFFLOAD_init_device): Likewise.
5096 (destroy_hsa_program): Likewise.
5097 (init_basic_kernel_info): New function.
5098 (GOMP_OFFLOAD_load_image): Use it.
5099 (create_and_finalize_hsa_program): Call hsa run-time functions via
5100 hsa_fns structure.
5101 (create_single_kernel_dispatch): Likewise.
5102 (release_kernel_dispatch): Likewise.
5103 (init_single_kernel): Likewise.
5104 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5105 (get_group_size): New function.
5106 (run_kernel): Likewise.
5107 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5108 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5109 structure.
5110 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5111 * testsuite/libgomp-test-support.exp.in: Likewise.
5112 * Makefile.in: Regenerated.
5113 * aclocal.m4: Likewise.
5114 * config.h.in: Likewise.
5115 * configure: Likewise.
5116 * testsuite/Makefile.in: Likewise.
5117
5118 2016-11-15 Martin Jambor <mjambor@suse.cz>
5119 Alexander Monakov <amonakov@ispras.ru>
5120
5121 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5122 mapping clauses to target constructs.
5123 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5124
5125 2016-11-15 Matthias Klose <doko@ubuntu.com>
5126
5127 * configure: Regenerate.
5128
5129 2016-11-10 Jakub Jelinek <jakub@redhat.com>
5130
5131 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5132 * omp_lib.h.in (openmp_version): Likewise.
5133 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5134 of 201307.
5135 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5136
5137 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5138 (fib_wrapper): Add map(from: x) clause.
5139 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5140 (e_53_2): Likewise.
5141 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5142 (accum): Add map(tmp) clause.
5143 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5144 (accum): Add map(tofrom: tmp) clause.
5145 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5146 (gramSchmidt): Likewise.
5147 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5148 map(tofrom: sum) clause.
5149 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5150 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5151 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5152 only allowed on the loop iterator.
5153 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5154 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5155 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5156 * testsuite/libgomp.fortran/doacross1.f90: New test.
5157 * testsuite/libgomp.fortran/doacross3.f90: New test.
5158 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5159 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5160 * testsuite/libgomp.fortran/doacross2.f90: New test.
5161 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5162 #pragma omp atomic read.
5163 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5164 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5165
5166 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5167 Nathan Sidwell <nathan@acm.org>
5168
5169 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5170 to determine default geometry.
5171 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5172 dimension.
5173
5174 2016-11-01 Jakub Jelinek <jakub@redhat.com>
5175
5176 * hashtab.h: Use standard GPLv3 with runtime exception
5177 boilerplate.
5178
5179 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
5180
5181 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5182 size when allocating new thread.
5183
5184 2016-09-14 Marek Polacek <polacek@redhat.com>
5185
5186 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5187
5188 2016-08-19 Jakub Jelinek <jakub@redhat.com>
5189
5190 PR fortran/71014
5191 * testsuite/libgomp.fortran/pr71014.f90: New test.
5192
5193 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5194
5195 PR middle-end/70895
5196 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5197 firstprivate clauses.
5198 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5199 copy clauses.
5200 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5201 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5202 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5203 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5204 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5205 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5206 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5207 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5208 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5209 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5210 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5211 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5212
5213 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5214
5215 PR fortran/70598
5216 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5217
5218 2016-08-08 Jakub Jelinek <jakub@redhat.com>
5219
5220 PR c++/58706
5221 * testsuite/libgomp.c++/pr58706.C: New test.
5222
5223 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5224
5225 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5226 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5227 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5228 Likewise.
5229 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5230 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5231 Likewise.
5232 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5233
5234 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5235 test, and don't hardcode -O0.
5236
5237 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5238
5239 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5240
5241 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5242
5243 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5244 test.
5245
5246 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5247
5248 PR middle-end/71734
5249 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5250 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5251
5252 2016-07-01 Jakub Jelinek <jakub@redhat.com>
5253
5254 PR fortran/71717
5255 * testsuite/libgomp.fortran/associate3.f90: New test.
5256
5257 2016-06-17 Jakub Jelinek <jakub@redhat.com>
5258
5259 * testsuite/libgomp.c++/target-21.C: New test.
5260
5261 2016-06-16 Jakub Jelinek <jakub@redhat.com>
5262
5263 * testsuite/libgomp.c++/target-20.C: New test.
5264
5265 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5266 Cesar Philippidis <cesar@codesourcery.com>
5267
5268 PR middle-end/71373
5269 * libgomp.oacc-c/nested-function-1.c: New file.
5270 * libgomp.oacc-c/nested-function-2.c: Likewise.
5271 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5272 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5273 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5274
5275 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5276
5277 PR c/71381
5278 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5279 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5280 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5281
5282 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5283
5284 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5285 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5286
5287 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5288
5289 PR c/70688
5290 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
5291
5292 2016-05-26 Jakub Jelinek <jakub@redhat.com>
5293
5294 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5295 instead of invalid schedule(static, 0).
5296 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5297
5298 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5299
5300 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5301 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5302 parameter, use to set async stream around call to gomp_unmap_vars,
5303 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5304 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5305 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5306 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5307 (event_add): Add int parameter, initialize 'val' field when
5308 adding new ptx_event struct.
5309 (nvptx_evec): Adjust event_add() call arguments.
5310 (nvptx_host2dev): Likewise.
5311 (nvptx_dev2host): Likewise.
5312 (nvptx_wait_async): Likewise.
5313 (nvptx_wait_all_async): Likewise.
5314 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5315 pass to event_add() call.
5316 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5317 parameter.
5318 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5319 call openacc.register_async_cleanup_func() hook.
5320 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5321 * target.c (gomp_copy_from_async): Delete function.
5322 (gomp_map_vars): Remove async_refcount.
5323 (gomp_unmap_vars): Likewise.
5324 (gomp_load_image_to_device): Likewise.
5325 (omp_target_associate_ptr): Likewise.
5326 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5327 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5328 (gomp_copy_from_async): Remove.
5329
5330 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5331
5332 * target.c (gomp_device_copy): New function.
5333 (gomp_copy_host2dev): Likewise.
5334 (gomp_copy_dev2host): Likewise.
5335 (gomp_free_device_memory): Likewise.
5336 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5337 (gomp_map_pointer): Likewise.
5338 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5339 NULL value from alloc_func plugin hook.
5340 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5341 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5342 (gomp_unmap_vars): Likewise.
5343 (gomp_update): Adjust to call gomp_copy_dev2host and
5344 gomp_copy_host2dev functions.
5345 (gomp_unload_image_from_device): Handle false value from
5346 unload_image_func plugin hook.
5347 (gomp_init_device): Handle false value from init_device_func
5348 plugin hook.
5349 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5350 (omp_target_free): Adjust to call gomp_free_device_memory.
5351 (omp_target_memcpy): Handle return values from host2dev_func,
5352 dev2host_func, and dev2dev_func plugin hooks.
5353 (omp_target_memcpy_rect_worker): Likewise.
5354 (gomp_target_fini): Handle false value from fini_device_func
5355 plugin hook.
5356 * libgomp.h (struct gomp_device_descr): Adjust return type of
5357 init_device_func, fini_device_func, unload_image_func, free_func,
5358 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5359 * oacc-init.c (acc_shutdown_1): Handle false value from
5360 fini_device_func plugin hook.
5361 * oacc-host.c (host_init_device): Change return type to bool.
5362 (host_fini_device): Likewise.
5363 (host_unload_image): Likewise.
5364 (host_free): Likewise.
5365 (host_dev2host): Likewise.
5366 (host_host2dev): Likewise.
5367 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5368 (acc_memcpy_to_device): Likewise.
5369 (acc_memcpy_from_device): Likewise.
5370 (delete_copyout): Add libfnname parameter, handle free_func
5371 hook fatal error case.
5372 (acc_delete): Adjust delete_copyout call.
5373 (acc_copyout): Likewise.
5374 (update_dev_host): Move gomp_mutex_unlock to after
5375 host2dev/dev2host hook calls.
5376
5377 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5378 to 'hsa_error_msg', for clarity.
5379 (hsa_fatal): Likewise.
5380 (hsa_error): New function.
5381 (init_hsa_context): Change return type to bool, adjust to return
5382 false on error.
5383 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5384 return value.
5385 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5386 return false on error.
5387 (get_agent_info): Adjust to return NULL on error.
5388 (destroy_hsa_program): Change return type to bool, adjust to
5389 return false on error.
5390 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5391 (destroy_module): Change return type to bool, adjust to
5392 return false on error.
5393 (GOMP_OFFLOAD_unload_image): Likewise.
5394 (GOMP_OFFLOAD_fini_device): Likewise.
5395 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5396 (GOMP_OFFLOAD_free): Change to return false when called.
5397 (GOMP_OFFLOAD_dev2host): Likewise.
5398 (GOMP_OFFLOAD_host2dev): Likewise.
5399 (GOMP_OFFLOAD_dev2dev): Likewise.
5400
5401 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5402 (CUDA_CALL): Likewise.
5403 (CUDA_CALL_ASSERT): Likewise.
5404 (map_init): Change return type to bool, use CUDA_CALL* macros.
5405 (map_fini): Likewise.
5406 (init_streams_for_device): Change return type to bool, adjust
5407 call to map_init.
5408 (fini_streams_for_device): Change return type to bool, adjust
5409 call to map_fini.
5410 (select_stream_for_async): Release stream_lock before calls to
5411 GOMP_PLUGIN_fatal, adjust call to map_init.
5412 (nvptx_init): Use CUDA_CALL* macros.
5413 (nvptx_attach_host_thread_to_device): Change return type to bool,
5414 use CUDA_CALL* macros.
5415 (nvptx_open_device): Use CUDA_CALL* macros.
5416 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5417 macros.
5418 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5419 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5420 (nvptx_exec): Use CUDA_CALL* macros.
5421 (nvptx_alloc): Use CUDA_CALL* macros.
5422 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5423 (nvptx_host2dev): Likewise.
5424 (nvptx_dev2host): Likewise.
5425 (nvptx_wait): Use CUDA_CALL* macros.
5426 (nvptx_wait_async): Likewise.
5427 (nvptx_wait_all): Likewise.
5428 (nvptx_wait_all_async): Likewise.
5429 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5430 use CUDA_CALL* macros, adjust call to map_fini.
5431 (GOMP_OFFLOAD_init_device): Change return type to bool,
5432 adjust code accordingly.
5433 (GOMP_OFFLOAD_fini_device): Likewise.
5434 (GOMP_OFFLOAD_load_image): Adjust calls to
5435 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5436 use CUDA_CALL* macros.
5437 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5438 return code.
5439 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5440 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5441 handle error return.
5442 (GOMP_OFFLOAD_dev2host): Likewise.
5443 (GOMP_OFFLOAD_host2dev): Likewise.
5444 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5445 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5446
5447 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5448
5449 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5450 (acc_free): Likewise.
5451 (acc_memcpy_to_device): Likewise.
5452 (acc_memcpy_from_device): Likewise.
5453 (acc_deviceptr): Likewise.
5454 (acc_hostptr): Likewise.
5455 (acc_is_present): Likewise.
5456 (acc_map_data): Likewise.
5457 (acc_unmap_data): Likewise.
5458 (present_create_copy): Likewise.
5459 (delete_copyout): Likewise.
5460 (update_dev_host): Likewise.
5461 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5462 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5463 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5464 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5465 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5466 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5467 it only runs on nvptx targets.
5468 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5469 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5470 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5471 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5472 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5473 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5474 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5475 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5476 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5477 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5478 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5479 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5480 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5481 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5482 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5483 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5484 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5485 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5486 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5487 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5488 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5489 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5490 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5491
5492 2016-05-23 Martin Jambor <mjambor@suse.cz>
5493
5494 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5495
5496 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5497
5498 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5499 to gomp_init_targets_once.
5500 (acc_set_device_type): Remove !cached_base_dev condition on call to
5501 gomp_init_targets_once, move call to before acc_device_lock acquire,
5502 to avoid deadlock.
5503 (acc_get_device_num): Remove !cached_base_dev condition on call to
5504 gomp_init_targets_once.
5505 (acc_set_device_num): Likewise.
5506
5507 2016-05-16 Martin Jambor <mjambor@suse.cz>
5508
5509 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
5510
5511 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5512
5513 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5514 expected partitioning.
5515
5516 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5517
5518 PR middle-end/70626
5519 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5520 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5521 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5522
5523 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
5524
5525 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5526 non-fatal.
5527
5528 2016-04-19 Jakub Jelinek <jakub@redhat.com>
5529
5530 PR middle-end/70680
5531 * testsuite/libgomp.c/pr70680-1.c: New test.
5532 * testsuite/libgomp.c/pr70680-2.c: New test.
5533
5534 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5535
5536 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5537 pass parameter variables to subroutines.
5538
5539 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5540
5541 PR middle-end/70643
5542 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5543
5544 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5545
5546 PR testsuite/68242
5547 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5548 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5549
5550 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5551
5552 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5553 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5554 GOACC_declare prototype.
5555
5556 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5557 Merge this file, and...
5558 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5559 ... this file, and...
5560 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5561 ... this file, and...
5562 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5563 ... this file, and...
5564 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5565 ... this file, and...
5566 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5567 ... this file, and...
5568 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5569 ... this file, and...
5570 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5571 ... this file, and...
5572 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5573 ... this file, and...
5574 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5575 ... this file, and...
5576 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5577 ... this file, and...
5578 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5579 ... this file, and...
5580 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5581 ... this file into...
5582 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5583 file.
5584
5585 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5586 Make failure observable.
5587
5588 2016-04-12 Jakub Jelinek <jakub@redhat.com>
5589
5590 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5591 field.
5592 * target.c (gomp_target_fallback_firstprivate,
5593 gomp_target_unshare_firstprivate): Removed.
5594 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5595 before waiting for dependencies.
5596 (gomp_target_task_fn): Don't copy firstprivate vars here.
5597 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5598 firstprivate_copies here.
5599 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5600 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5601 explicit/implicit firstprivate.
5602
5603 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5604
5605 PR lto/70289
5606 PR ipa/70348
5607 PR tree-optimization/70373
5608 PR middle-end/70533
5609 PR middle-end/70534
5610 PR middle-end/70535
5611 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5612 test.
5613 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5614 test.
5615 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5616 test.
5617 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5618 test.
5619 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5620 test.
5621 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5622 test.
5623 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5624 test.
5625 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5626 test.
5627 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5628 test.
5629 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5630 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5631 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5632 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5633 test.
5634 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5635 test.
5636 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5637 test.
5638 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5639 test.
5640 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5641 coverage.
5642 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5643 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5644 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5645 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5646 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5647 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5648 coverage.
5649 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5650 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5651 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5652 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5653 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5654 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5655 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5656 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5657 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5658 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5659 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5660 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5661 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5662 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5663 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5664
5665 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5666 James Norris <jnorris@codesourcery.com>
5667 Nathan Sidwell <nathan@codesourcery.com>
5668 Julian Brown <julian@codesourcery.com>
5669 Cesar Philippidis <cesar@codesourcery.com>
5670 Chung-Lin Tang <cltang@codesourcery.com>
5671 Tom de Vries <tom@codesourcery.com>
5672
5673 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5674 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5675 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5676 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5677 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5678 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5679 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5680 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5681 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5682 XFAIL.
5683 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5684 Incorporate...
5685 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5686 file.
5687 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5688 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5689 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5691 Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5693 Likewise.
5694 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5695 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5696 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5697 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5698 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5699 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5700 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5701 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5702 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5703 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5704 Likewise.
5705 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5706 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5707 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5708 file...
5709 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5710 file into...
5711 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5712 file. Update.
5713 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5714 file.
5715 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5716 Likewise.
5717 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5718 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5719 ... this new file. Update.
5720 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5721 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5722 ... this new file. Update.
5723 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5724 file. Incorporate...
5725 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5726 file, and...
5727 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5728 file, and...
5729 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5730 file.
5731 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5732
5733 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5734
5735 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5736 set-torture-options.
5737
5738 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5739
5740 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5741 gcc-dg-runtest.
5742 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5743 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5744 -fno-builtin-acc_on_device instead of -O0.
5745 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5746 -O0.
5747 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5748 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5749 Likewise.
5750 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5751 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5752 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5753 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5754 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5755 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5756 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5757 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5758 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5759 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5760 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5761 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5762 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5763 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5764 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5765 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5766 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5767 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5768 Don't specify -O2.
5769 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5770 Likewise.
5771 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5772 Likewise.
5773
5774 2016-03-24 Martin Liska <mliska@suse.cz>
5775
5776 * plugin/plugin-hsa.c (packet_store_release): New function
5777 that is taken from the HSA runtime manual.
5778 (GOMP_OFFLOAD_run): Use the function.
5779
5780 2016-03-23 Jakub Jelinek <jakub@redhat.com>
5781
5782 PR c++/70376
5783 * testsuite/libgomp.c++/pr70376.C: New test.
5784
5785 2016-03-23 Tom de Vries <tom@codesourcery.com>
5786
5787 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5788 initialization of lresult and lvresult.
5789 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5790
5791 2016-03-23 James Norris <jnorris@codesourcery.com>
5792 Daichi Fukuoka <dc-fukuoka@sgi.com>
5793
5794 PR libgomp/69414
5795 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5796 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5797 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5798 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5799
5800 2016-03-23 Martin Liska <mliska@suse.cz>
5801
5802 PR hsa/70337
5803 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5804 argument just in case a dispatched kernel uses that argument.
5805
5806 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5807
5808 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5809 -ftree-parallelize-loops/-fopenacc changes.
5810 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5811 Likewise.
5812 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5813 Likewise.
5814 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5815 Likewise.
5816 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5817 Likewise.
5818 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5819 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5820
5821 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5822
5823 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5824 always_ld_library_path the path to libgcc_s.
5825
5826 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5827
5828 PR testsuite/70009
5829 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5830
5831 2016-03-09 Tom de Vries <tom@codesourcery.com>
5832
5833 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5834 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5835 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5836 Same.
5837 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5838 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5839 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5840 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5841
5842 2016-03-07 Martin Jambor <mjambor@suse.cz>
5843
5844 * testsuite/lib/libgomp.exp
5845 (check_effective_target_hsa_offloading_selected_nocache): New.
5846 (check_effective_target_hsa_offloading_selected): Likewise.
5847 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5848 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5849 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5850 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5851 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5852 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5853 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5854 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5855 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5856 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5857 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5858 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5859 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5860 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5861 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5862 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5863 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5864
5865 2016-03-07 Martin Jambor <mjambor@suse.cz>
5866
5867 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5868 non-shared memory accelerators.
5869 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5870 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5871 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5872 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5873 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5874 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5875 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5876 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5877 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5878
5879 2016-03-07 Martin Jambor <mjambor@suse.cz>
5880
5881 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5882 ALWAYS_CFLAGS.
5883
5884 2016-03-02 Jakub Jelinek <jakub@redhat.com>
5885
5886 PR libgomp/69555
5887 * testsuite/libgomp.c++/pr69555-1.C: New test.
5888 * testsuite/libgomp.c++/pr69555-2.C: New test.
5889
5890 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5891 Martin Jambor <mjambor@suse.cz>
5892
5893 * testsuite/lib/libgomp.exp
5894 (check_effective_target_offload_device_shared_as): New proc.
5895 * testsuite/libgomp.c++/declare_target-1.C: New test.
5896
5897 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5898
5899 PR driver/68463
5900 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5901
5902 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5903
5904 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5905 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5906 dims.
5907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5908 -ftree-parallelize-loops/-fopenacc changes.
5909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5910 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5911 Likewise.
5912 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5913 Likewise.
5914 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5915 Likewise.
5916 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5917 Likewise.
5918 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5919 Likewise.
5920 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5921 Likewise.
5922 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5923 Likewise.
5924 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5925 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5926 Likewise.
5927 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5928 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5929 Likewise.
5930 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5931 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5932 Likewise.
5933
5934 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5935
5936 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5937
5938 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5939
5940 PR driver/69805
5941 * testsuite/libgomp.c/pr69805.c: New test.
5942
5943 2016-02-16 Tom de Vries <tom@codesourcery.com>
5944
5945 PR lto/67709
5946 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5947
5948 2016-02-09 Tom de Vries <tom@codesourcery.com>
5949
5950 PR tree-optimization/69599
5951 * testsuite/libgomp.c/omp-nested-3.c: New test.
5952 * testsuite/libgomp.c/pr46032-2.c: New test.
5953 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5954 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5955
5956 2016-02-09 Tom de Vries <tom@codesourcery.com>
5957
5958 PR lto/69707
5959 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5960
5961 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5962
5963 * testsuite/libgomp.c/target-31.c: Fix testcase.
5964
5965 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5966
5967 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5968 clause.
5969 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5970 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5971 reduction and map clauses.
5972 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5973
5974 2016-02-02 James Norris <jnorris@codesourcery.com>
5975
5976 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5977
5978 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5979
5980 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5981 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5982
5983 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5984 cases.
5985
5986 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5987 variables.
5988 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5989 (hsa_kmt_lib): Set variables.
5990 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5991 always_ld_library_path.
5992 * Makefile.in: Regenerate.
5993 * configure: Likewise.
5994 * testsuite/Makefile.in: Likewise.
5995
5996 * plugin/configfrag.ac (offload_additional_options)
5997 (offload_additional_lib_paths): Don't amend for hsa offloading.
5998 * configure: Regenerate.
5999
6000 * plugin/configfrag.ac: Don't configure for offloading target if
6001 we don't build the corresponding plugin.
6002 * configure: Regenerate.
6003
6004 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6005
6006 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6007 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6008
6009 2016-01-26 Tom de Vries <tom@codesourcery.com>
6010
6011 PR tree-optimization/69110
6012 * testsuite/libgomp.c/pr69110.c: New test.
6013
6014 2016-01-25 Richard Biener <rguenther@suse.de>
6015
6016 PR lto/69393
6017 * testsuite/libgomp.c++/pr69393.C: New testcase.
6018
6019 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
6020
6021 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6022 function wasn't mapped to the device with non-shared memory.
6023
6024 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
6025
6026 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6027
6028 2016-01-19 Martin Jambor <mjambor@suse.cz>
6029 Martin Liska <mliska@suse.cz>
6030
6031 * plugin/Makefrag.am: Add HSA plugin requirements.
6032 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6033 (HSA_RUNTIME_LIB): Likewise.
6034 (HSA_RUNTIME_CPPFLAGS): Likewise.
6035 (HSA_RUNTIME_INCLUDE): New substitution.
6036 (HSA_RUNTIME_LIB): Likewise.
6037 (HSA_RUNTIME_LDFLAGS): Likewise.
6038 (hsa-runtime): New configure option.
6039 (hsa-runtime-include): Likewise.
6040 (hsa-runtime-lib): Likewise.
6041 (PLUGIN_HSA): New substitution variable.
6042 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6043 configure options.
6044 (PLUGIN_HSA_CPPFLAGS): Likewise.
6045 (PLUGIN_HSA_LDFLAGS): Likewise.
6046 (PLUGIN_HSA_LIBS): Likewise.
6047 Check that we have access to HSA run-time.
6048 * libgomp-plugin.h (offload_target_type): New element
6049 OFFLOAD_TARGET_TYPE_HSA.
6050 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6051 args.
6052 (bool gomp_create_target_task): Updated.
6053 (gomp_device_descr): Extra parameter of run_func and async_run_func,
6054 new field can_run_func.
6055 * libgomp_g.h (GOMP_target_ext): Update prototype.
6056 * oacc-host.c (host_run): Added a new parameter args.
6057 * target.c (calculate_firstprivate_requirements): New function.
6058 (copy_firstprivate_data): Likewise.
6059 (gomp_target_fallback_firstprivate): Use them.
6060 (gomp_target_unshare_firstprivate): New function.
6061 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6062 devices.
6063 (GOMP_target): Do host fallback for all shared memory devices. Do not
6064 pass any args to plugins.
6065 (GOMP_target_ext): Introduce device-specific argument parameter args.
6066 Allow host fallback if device shares memory. Do not remap data if
6067 device has shared memory.
6068 (gomp_target_task_fn): Likewise. Also treat shared memory devices
6069 like host fallback for mappings.
6070 (GOMP_target_data): Treat shared memory devices like host fallback.
6071 (GOMP_target_data_ext): Likewise.
6072 (GOMP_target_update): Likewise.
6073 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6074 gomp_create_target_task.
6075 (GOMP_target_enter_exit_data): Likewise.
6076 (omp_target_alloc): Treat shared memory devices like host fallback.
6077 (omp_target_free): Likewise.
6078 (omp_target_is_present): Likewise.
6079 (omp_target_memcpy): Likewise.
6080 (omp_target_memcpy_rect): Likewise.
6081 (omp_target_associate_ptr): Likewise.
6082 (gomp_load_plugin_for_device): Also load can_run.
6083 * task.c (GOMP_PLUGIN_target_task_completion): Free
6084 firstprivate_copies.
6085 (gomp_create_target_task): Accept new argument args and store it to
6086 ttask.
6087 * plugin/plugin-hsa.c: New file.
6088
6089 2016-01-18 Tom de Vries <tom@codesourcery.com>
6090
6091 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6092 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6093 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6094 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6095 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6096 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6097 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6098 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6099 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6100 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6101 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6102 Same.
6103 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6104 Same.
6105 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6106 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6107 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6108 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6109 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6110 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6111 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6112 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6113 Same.
6114 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6115
6116 2016-01-15 Jakub Jelinek <jakub@redhat.com>
6117
6118 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6119
6120 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6121
6122 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6123
6124 2016-01-12 James Norris <jnorris@codesourcery.com>
6125
6126 * libgomp.texi: Updates for OpenACC.
6127
6128 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
6129
6130 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6131
6132 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6133
6134 PR fortran/66680
6135 * testsuite/libgomp.fortran/pr66680.f90: New test.
6136
6137 2016-01-07 Jakub Jelinek <jakub@redhat.com>
6138
6139 PR middle-end/68960
6140 * testsuite/libgomp.c/pr68960.c: New test.
6141
6142 2016-01-06 Nathan Sidwell <nathan@acm.org>
6143
6144 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
6145 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6146
6147 2016-01-04 Jakub Jelinek <jakub@redhat.com>
6148
6149 Update copyright years.
6150
6151 * libgomp.texi: Bump @copying's copyright year.
6152
6153 2015-12-31 Nathan Sidwell <nathan@acm.org>
6154
6155 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6156 dg-additional-options syntax.
6157 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6159 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6163 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6166 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6167 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6169 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6170 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6172 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6173 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6174 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6175
6176 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6177
6178 * libgomp.h (REFCOUNT_LINK): Define.
6179 (struct splay_tree_key_s): Add link_key.
6180 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6181 Replace target address of the pointer with target address of newly
6182 mapped object in the splay tree. Set link pointer on target to the
6183 device address of the mapped object.
6184 (gomp_unmap_vars): Restore target address of the pointer in the splay
6185 tree for REFCOUNT_LINK objects after unmapping.
6186 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6187 declare target link" objects.
6188 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6189 "omp declare target link" objects, which were mapped for the image.
6190 (gomp_exit_data): Restore target address of the pointer in the splay
6191 tree for REFCOUNT_LINK objects after unmapping.
6192 * testsuite/libgomp.c/target-link-1.c: New file.
6193
6194 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6195
6196 * libgomp.h (gomp_device_state): New enum.
6197 (struct gomp_device_descr): Replace is_initialized with state.
6198 (gomp_fini_device): Remove declaration.
6199 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6200 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6201 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6202 (acc_set_device_type): Use state instead of is_initialized.
6203 (acc_set_device_num): Likewise.
6204 * target.c (resolve_device): Use state instead of is_initialized.
6205 Do not initialize finalized device.
6206 (gomp_map_vars): Do nothing if device is finalized.
6207 (gomp_unmap_vars): Likewise.
6208 (gomp_update): Likewise.
6209 (GOMP_offload_register_ver): Use state instead of is_initialized.
6210 (GOMP_offload_unregister_ver): Likewise.
6211 (gomp_init_device): Likewise.
6212 (gomp_unload_device): Likewise.
6213 (gomp_fini_device): Remove.
6214 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6215 (GOMP_target): Go to host fallback if device is finalized.
6216 (GOMP_target_ext): Likewise.
6217 (gomp_exit_data): Do nothing if device is finalized.
6218 (gomp_target_task_fn): Go to host fallback if device is finalized.
6219 (gomp_target_fini): New static function.
6220 (gomp_target_init): Use state instead of is_initialized.
6221 Call gomp_target_fini at exit.
6222
6223 2015-12-09 Tom de Vries <tom@codesourcery.com>
6224
6225 PR tree-optimization/68716
6226 * testsuite/libgomp.c/omp-nested-2.c: New test.
6227
6228 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6229
6230 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6231 target openacc_nvidia_accel_selected.
6232 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6233 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6234 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6235 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6236
6237 2015-12-01 Julian Brown <julian@codesourcery.com>
6238 James Norris <James_Norris@mentor.com>
6239
6240 * oacc-parallel.c (GOACC_host_data): New function.
6241 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6242 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6243 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6244 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6245 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6246 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6247 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6248
6249 2015-11-30 James Norris <jnorris@codesourcery.com>
6250 Cesar Philippidis <cesar@codesourcery.com>
6251
6252 libgomp/
6253 * libgomp.oacc-fortran/routine-5.f90: New test.
6254 * libgomp.oacc-fortran/routine-7.f90: New test.
6255 * libgomp.oacc-fortran/routine-9.f90: New test.
6256
6257 2015-11-30 Tom de Vries <tom@codesourcery.com>
6258
6259 PR tree-optimization/46032
6260 * testsuite/libgomp.c/pr46032.c: New test.
6261
6262 2015-11-27 Jakub Jelinek <jakub@redhat.com>
6263
6264 PR libgomp/68579
6265 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6266 (gomp_create_target_task): Call it before freeing
6267 GOMP_TARGET_TASK_DATA tasks.
6268
6269 PR c/63326
6270 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6271 in between case label and OpenMP standalone directives.
6272 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6273
6274 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
6275
6276 * configure: Regenerate.
6277
6278 2015-11-26 Jakub Jelinek <jakub@redhat.com>
6279
6280 * testsuite/libgomp.c/target-35.c: New test.
6281
6282 2015-11-22 James Norris <jnorris@codesourcery.com>
6283 Cesar Philippidis <cesar@codesourcery.com>
6284
6285 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6286 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6287 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6288 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6289 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6290
6291 2015-11-20 Jakub Jelinek <jakub@redhat.com>
6292
6293 PR middle-end/68221
6294 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6295 * testsuite/libgomp.c/reduction-12.c: Likewise.
6296 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6297 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6298
6299 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6300
6301 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6302 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6303 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6304 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6305 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6306 and fix.
6307 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6308 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6309
6310 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6311
6312 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6313 worker & gang cases.
6314 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6315
6316 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6317
6318 * config/nvptx/priority_queue.c: New file.
6319
6320 2015-11-14 Jakub Jelinek <jakub@redhat.com>
6321
6322 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6323 sections.
6324
6325 2015-11-14 Jakub Jelinek <jakub@redhat.com>
6326 Aldy Hernandez <aldyh@redhat.com>
6327 Ilya Verbin <ilya.verbin@intel.com>
6328
6329 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6330 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6331 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6332 iterators or IV by chunk size.
6333 * parallel.c (gomp_resolve_num_threads): Don't assume that
6334 if thr->ts.team is non-NULL, then pool must be non-NULL.
6335 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6336 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6337 GOMP_PLUGIN_target_task_completion.
6338 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6339 * Makefile.in: Regenerate.
6340 * libgomp.h: Shuffle prototypes and forward definitions around so
6341 priority queues can be defined.
6342 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6343 (enum gomp_target_task_state): New enum.
6344 (struct gomp_target_task): Add state, tgt, task and team fields.
6345 (gomp_create_target_task): Change return type to bool, add
6346 state argument.
6347 (gomp_target_task_fn): Change return type to bool.
6348 (struct gomp_device_descr): Add async_run_func.
6349 (struct gomp_task): Remove children, next_child, prev_child,
6350 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6351 Add pnode field.
6352 (struct gomp_taskgroup): Remove children.
6353 Add taskgroup_queue.
6354 (struct gomp_team): Change task_queue type to a priority queue.
6355 (splay_compare): Define inline.
6356 (priority_queue_offset): New.
6357 (priority_node_to_task): New.
6358 (task_to_priority_node): New.
6359 * oacc-mem.c: Do not include splay-tree.h.
6360 * priority_queue.c: New file.
6361 * priority_queue.h: New file.
6362 * splay-tree.c: Do not include splay-tree.h.
6363 (splay_tree_foreach_internal): New.
6364 (splay_tree_foreach): New.
6365 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6366 (splay_tree_callback): Define typedef.
6367 * target.c (splay_compare): Move to libgomp.h.
6368 (GOMP_target): Don't adjust *thr in any way around running offloaded
6369 task.
6370 (GOMP_target_ext): Likewise. Handle target nowait.
6371 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6372 return value from gomp_create_target_task, if false, fallthrough
6373 as if no dependencies exist.
6374 (gomp_target_task_fn): Change return type to bool, return true
6375 if the task should have another part scheduled later. Handle
6376 target nowait.
6377 (gomp_load_plugin_for_device): Initialize async_run.
6378 * task.c (gomp_init_task): Initialize children_queue.
6379 (gomp_clear_parent_in_list): New.
6380 (gomp_clear_parent_in_tree): New.
6381 (gomp_clear_parent): Handle priorities.
6382 (GOMP_task): Likewise.
6383 (priority_queue_move_task_first,
6384 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6385 New functions.
6386 (gomp_create_target_task): Use priority queues. Change return type
6387 to bool, add state argument, return false if for async
6388 {{enter,exit} data,update} constructs no dependencies need to be
6389 waited for, handle target nowait. Set task->fn to NULL instead of
6390 gomp_target_task_fn.
6391 (verify_children_queue): Remove.
6392 (priority_list_upgrade_task): New.
6393 (priority_queue_upgrade_task): New.
6394 (verify_task_queue): Remove.
6395 (priority_list_downgrade_task): New.
6396 (priority_queue_downgrade_task): New.
6397 (gomp_task_run_pre): Use priority queues.
6398 Abstract code out to priority_queue_downgrade_task.
6399 (gomp_task_run_post_handle_dependers): Use priority queues.
6400 (gomp_task_run_post_remove_parent): Likewise.
6401 (gomp_task_run_post_remove_taskgroup): Likewise.
6402 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6403 tasks specially.
6404 (GOMP_taskwait): Likewise.
6405 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6406 priority-queue_upgrade_task.
6407 (GOMP_taskgroup_start): Use priority queues.
6408 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6409 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6410 barrier.
6411 * taskloop.c (GOMP_taskloop): Handle priorities.
6412 * team.c (gomp_new_team): Call priority_queue_init.
6413 (free_team): Call priority_queue_free.
6414 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6415 team created for target nowait in implicit parallel region.
6416 (gomp_team_start): For nested check, test thr->ts.level instead of
6417 thr->ts.team != NULL.
6418 * testsuite/libgomp.c/doacross-3.c: New test.
6419 * testsuite/libgomp.c/ordered-5.c: New test.
6420 * testsuite/libgomp.c/priority.c: New test.
6421 * testsuite/libgomp.c/target-31.c: New test.
6422 * testsuite/libgomp.c/target-32.c: New test.
6423 * testsuite/libgomp.c/target-33.c: New test.
6424 * testsuite/libgomp.c/target-34.c: New test.
6425
6426 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6427
6428 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6429
6430 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6431 loop is sequential.
6432
6433 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6434
6435 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6436 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6437
6438 2015-11-12 James Norris <jnorris@codesourcery.com>
6439 Joseph Myers <joseph@codesourcery.com>
6440
6441 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6442 * oacc-parallel.c (GOACC_declare): New function.
6443 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6444 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6445 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6446 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6447 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6448
6449 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6450
6451 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6452
6453 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6454
6455 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6456 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6457
6458 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6459
6460 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6461 inadvertent commit.
6462
6463 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6464
6465 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6466 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6467 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6468 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6469 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6470
6471 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6472
6473 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6474 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6475
6476 2015-11-05 Jakub Jelinek <jakub@redhat.com>
6477 Ilya Verbin <ilya.verbin@intel.com>
6478
6479 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6480 GOMP_loop_nonmonotonic_dynamic_start,
6481 GOMP_loop_nonmonotonic_guided_next,
6482 GOMP_loop_nonmonotonic_guided_start,
6483 GOMP_loop_ull_nonmonotonic_dynamic_next,
6484 GOMP_loop_ull_nonmonotonic_dynamic_start,
6485 GOMP_loop_ull_nonmonotonic_guided_next,
6486 GOMP_loop_ull_nonmonotonic_guided_start,
6487 GOMP_parallel_loop_nonmonotonic_dynamic,
6488 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6489 (GOMP_target_41): Renamed to ...
6490 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6491 arguments.
6492 (GOMP_target_data_41): Renamed to ...
6493 (GOMP_target_data_ext): ... this.
6494 (GOMP_target_update_41): Renamed to ...
6495 (GOMP_target_update_ext): ... this.
6496 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6497 GOMP_target_data_ext and GOMP_target_update_ext instead of
6498 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6499 Export GOMP_loop_nonmonotonic_dynamic_next,
6500 GOMP_loop_nonmonotonic_dynamic_start,
6501 GOMP_loop_nonmonotonic_guided_next,
6502 GOMP_loop_nonmonotonic_guided_start,
6503 GOMP_loop_ull_nonmonotonic_dynamic_next,
6504 GOMP_loop_ull_nonmonotonic_dynamic_start,
6505 GOMP_loop_ull_nonmonotonic_guided_next,
6506 GOMP_loop_ull_nonmonotonic_guided_start,
6507 GOMP_parallel_loop_nonmonotonic_dynamic and
6508 GOMP_parallel_loop_nonmonotonic_guided.
6509 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6510 GOMP_parallel_loop_nonmonotonic_guided,
6511 GOMP_loop_nonmonotonic_dynamic_start,
6512 GOMP_loop_nonmonotonic_guided_start,
6513 GOMP_loop_nonmonotonic_dynamic_next,
6514 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6515 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6516 GOMP_loop_ull_nonmonotonic_guided_start,
6517 GOMP_loop_ull_nonmonotonic_dynamic_next,
6518 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6519 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6520 functions.
6521 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6522 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6523 Use gomp_map_val function.
6524 (gomp_target_fallback_firstprivate): New static function.
6525 (GOMP_target_41): Renamed to ...
6526 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6527 arguments. Move firstprivate fallback handling into a new
6528 function.
6529 (GOMP_target_data_41): Renamed to ...
6530 (GOMP_target_data_ext): ... this.
6531 (GOMP_target_update_41): Renamed to ...
6532 (GOMP_target_update_ext): ... this.
6533 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6534 gomp_map_0len_lookup instead of gomp_map_lookup.
6535 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6536 gomp_map_lookup.
6537 * testsuite/libgomp.c/target-28.c: Likewise.
6538 * testsuite/libgomp.c/monotonic-1.c: New test.
6539 * testsuite/libgomp.c/monotonic-2.c: New test.
6540 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6541 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6542 * testsuite/libgomp.c/pr66199-5.c: New test.
6543 * testsuite/libgomp.c/pr66199-6.c: New test.
6544 * testsuite/libgomp.c/pr66199-7.c: New test.
6545 * testsuite/libgomp.c/pr66199-8.c: New test.
6546 * testsuite/libgomp.c/pr66199-9.c: New test.
6547 * testsuite/libgomp.c/reduction-11.c: New test.
6548 * testsuite/libgomp.c/reduction-12.c: New test.
6549 * testsuite/libgomp.c/reduction-13.c: New test.
6550 * testsuite/libgomp.c/reduction-14.c: New test.
6551 * testsuite/libgomp.c/reduction-15.c: New test.
6552 * testsuite/libgomp.c/target-12.c (main): Adjust for
6553 omp_target_is_present change for one-past-last element.
6554 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6555 the same var is both mapped and privatized.
6556 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6557 handling of zero-length array sections.
6558 * testsuite/libgomp.c/target-28.c: New test.
6559 * testsuite/libgomp.c/target-29.c: New test.
6560 * testsuite/libgomp.c/target-30.c: New test.
6561 * testsuite/libgomp.c/target-teams-1.c: New test.
6562 * testsuite/libgomp.c++/member-6.C: New test.
6563 * testsuite/libgomp.c++/member-7.C: New test.
6564 * testsuite/libgomp.c++/monotonic-1.C: New test.
6565 * testsuite/libgomp.c++/monotonic-2.C: New test.
6566 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6567 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6568 * testsuite/libgomp.c++/pr66199-3.C: New test.
6569 * testsuite/libgomp.c++/pr66199-4.C: New test.
6570 * testsuite/libgomp.c++/pr66199-5.C: New test.
6571 * testsuite/libgomp.c++/pr66199-6.C: New test.
6572 * testsuite/libgomp.c++/pr66199-7.C: New test.
6573 * testsuite/libgomp.c++/pr66199-8.C: New test.
6574 * testsuite/libgomp.c++/pr66199-9.C: New test.
6575 * testsuite/libgomp.c++/reduction-11.C: New test.
6576 * testsuite/libgomp.c++/reduction-12.C: New test.
6577 * testsuite/libgomp.c++/target-13.C: New test.
6578 * testsuite/libgomp.c++/target-14.C: New test.
6579 * testsuite/libgomp.c++/target-15.C: New test.
6580 * testsuite/libgomp.c++/target-16.C: New test.
6581 * testsuite/libgomp.c++/target-17.C: New test.
6582 * testsuite/libgomp.c++/target-18.C: New test.
6583 * testsuite/libgomp.c++/target-19.C: New test.
6584
6585 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6586
6587 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6588 and reduction copy.
6589 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6590 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6591 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6592 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6593 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6594 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6595 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6596 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6597 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6598 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6599 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6600 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6601 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6602 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6603
6604 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6605
6606 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6607 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6608 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6609 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6610 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6611 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6612 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6613 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6614
6615 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6616
6617 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6618 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6619 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6620 * oacc-host.c (host_openacc_exec): Likewise.
6621 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6622
6623 2015-11-03 Julian Brown <julian@codesourcery.com>
6624 Thomas Schwinge <thomas@codesourcery.com>
6625
6626 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6627 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6628 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6629 Likewise.
6630 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6631 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6632
6633 2015-11-03 James Norris <jnorris@codesourcery.com>
6634
6635 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6636 file.
6637 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6638 Likewise.
6639 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6640 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6641 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6642 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6643 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6644
6645 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6646
6647 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6648 compatibility.
6649 (enum acc_async_t): Reformat.
6650 (acc_on_device): Declare compatible with builtin and provide C++
6651 wrapper.
6652 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6653
6654 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6655 Cesar Philippidis <cesar@codesourcery.com>
6656
6657 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6658 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6659 ... this. Add a description of the test at the top of the file.
6660 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6661 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6662 ... this. Add a description of the test at the top of the file.
6663
6664 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6665
6666 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6667 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6668 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6669 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6670 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6671 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6672
6673 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6674
6675 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6676 dimensions.
6677
6678 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6679
6680 PR testsuite/68063
6681 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6682
6683 2015-10-27 James Norris <jnorris@codesourcery.com>
6684
6685 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6686 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6687
6688 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6689
6690 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6691 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6692
6693 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6694 acc_device_nvidia usage.
6695 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6696 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6697 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6698
6699 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6700 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6701
6702 PR libgomp/66518
6703 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6704
6705 PR libgomp/65437
6706 PR libgomp/66518
6707 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6708 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6709
6710 2015-10-23 Tom de Vries <tom@codesourcery.com>
6711
6712 PR testsuite/68063
6713 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6714
6715 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6716
6717 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6718 vector_length.
6719 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6720
6721 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6722 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6723
6724 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6725 to 0 when mapnum is 0.
6726
6727 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6728
6729 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6730 Cast to int from int32_t.
6731
6732 2015-10-13 Jakub Jelinek <jakub@redhat.com>
6733 Aldy Hernandez <aldyh@redhat.com>
6734 Ilya Verbin <ilya.verbin@intel.com>
6735
6736 * config/linux/affinity.c (omp_get_place_num_procs,
6737 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6738 * config/linux/doacross.h: New file.
6739 * config/posix/affinity.c (omp_get_place_num_procs,
6740 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6741 * config/posix/doacross.h: New file.
6742 * env.c: Include gomp-constants.h.
6743 (struct gomp_task_icv): Rename run_sched_modifier to
6744 run_sched_chunk_size.
6745 (gomp_max_task_priority_var): New variable.
6746 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6747 (handle_omp_display_env): Change _OPENMP value from 201307 to
6748 201511. Print OMP_MAX_TASK_PRIORITY.
6749 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6750 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6751 chunk_size and run_sched_modifier to run_sched_chunk_size.
6752 (omp_get_max_task_priority, omp_get_initial_device,
6753 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6754 omp_get_partition_place_nums): New functions.
6755 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6756 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6757 to chunk_size.
6758 (omp_get_num_places_, omp_get_place_num_procs_,
6759 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6760 omp_get_place_proc_ids_8_, omp_get_place_num_,
6761 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6762 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6763 omp_get_max_task_priority_): New functions.
6764 * libgomp_g.h (GOMP_loop_doacross_static_start,
6765 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6766 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6767 GOMP_loop_ull_doacross_dynamic_start,
6768 GOMP_loop_ull_doacross_guided_start,
6769 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6770 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6771 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6772 GOMP_target_data_41, GOMP_target_update_41,
6773 GOMP_target_enter_exit_data): New prototypes.
6774 (GOMP_task): Add prototype argument.
6775 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6776 (struct gomp_doacross_work_share): New type.
6777 (struct gomp_work_share): Add doacross field.
6778 (struct gomp_task_icv): Rename run_sched_modifier to
6779 run_sched_chunk_size.
6780 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6781 GOMP_TASK_UNDEFERRED. Add comments.
6782 (struct gomp_task_depend_entry): Add comments.
6783 (struct gomp_task): Likewise.
6784 (struct gomp_taskgroup): Likewise.
6785 (struct gomp_target_task): New type.
6786 (struct gomp_team): Add comment.
6787 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6788 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6789 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6790 (struct target_var_desc): New type.
6791 (struct target_mem_desc): Adjust comment. Use struct
6792 target_var_desc instead of splay_tree_key for list.
6793 (REFCOUNT_INFINITY): Define.
6794 (struct splay_tree_key_s): Remove copy_from field.
6795 (struct gomp_device_descr): Add dev2dev_func field.
6796 (enum gomp_map_vars_kind): New enum.
6797 (gomp_map_vars): Add one argument.
6798 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6799 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6800 omp_get_place_num_procs, omp_get_place_num_procs_,
6801 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6802 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6803 omp_get_place_num_, omp_get_partition_num_places,
6804 omp_get_partition_num_places_, omp_get_partition_place_nums,
6805 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6806 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6807 omp_target_free, omp_target_is_present, omp_target_memcpy,
6808 omp_target_memcpy_rect, omp_target_associate_ptr and
6809 omp_target_disassociate_ptr.
6810 (GOMP_4.0.2): Renamed to ...
6811 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6812 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6813 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6814 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6815 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6816 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6817 GOMP_loop_ull_doacross_guided_start,
6818 GOMP_loop_ull_doacross_runtime_start,
6819 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6820 GOMP_doacross_ull_wait.
6821 * libgomp.texi: Document omp_get_max_task_priority.
6822 Rename modifier argument to chunk_size for omp_set_schedule and
6823 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6824 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6825 to run_sched_chunk_size renaming.
6826 (GOMP_loop_ordered_runtime_start): Likewise.
6827 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6828 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6829 GOMP_parallel_loop_runtime_start): New functions.
6830 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6831 to run_sched_chunk_size renaming.
6832 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6833 GOMP_loop_doacross_guided_start): New functions or aliases.
6834 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6835 run_sched_modifier to run_sched_chunk_size renaming.
6836 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6837 (gomp_loop_ull_doacross_static_start,
6838 gomp_loop_ull_doacross_dynamic_start,
6839 gomp_loop_ull_doacross_guided_start,
6840 GOMP_loop_ull_doacross_runtime_start): New functions.
6841 (GOMP_loop_ull_doacross_static_start,
6842 GOMP_loop_ull_doacross_dynamic_start,
6843 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6844 * oacc-mem.c (acc_map_data, present_create_copy,
6845 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6846 to gomp_map_vars.
6847 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6848 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6849 instead of false to gomp_map_vars.
6850 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6851 * omp.h.in (omp_lock_hint_t): New type.
6852 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6853 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6854 omp_get_place_num, omp_get_partition_num_places,
6855 omp_get_partition_place_nums, omp_get_initial_device,
6856 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6857 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6858 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6859 prototypes.
6860 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6861 (omp_lock_hint_none, omp_lock_hint_uncontended,
6862 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6863 omp_lock_hint_speculative): New parameters.
6864 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6865 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6866 omp_get_place_num, omp_get_partition_num_places,
6867 omp_get_partition_place_nums, omp_get_initial_device,
6868 omp_get_max_task_priority): New interfaces.
6869 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6870 to chunk_size.
6871 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6872 (omp_lock_hint_none, omp_lock_hint_uncontended,
6873 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6874 omp_lock_hint_speculative): New parameters.
6875 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6876 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6877 omp_get_place_num, omp_get_partition_num_places,
6878 omp_get_partition_place_nums, omp_get_initial_device,
6879 omp_get_max_task_priority): New functions and subroutines.
6880 * ordered.c: Include stdarg.h and string.h.
6881 (MAX_COLLAPSED_BITS): Define.
6882 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6883 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6884 GOMP_doacross_ull_wait): New functions.
6885 * target.c: Include errno.h.
6886 (resolve_device): If device is not initialized, call
6887 gomp_init_device on it.
6888 (gomp_map_lookup): New function.
6889 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6890 Don't bump refcount if REFCOUNT_INFINITY. Handle
6891 GOMP_MAP_ALWAYS_TO_P.
6892 (get_kind): Rename is_openacc argument to short_mapkind.
6893 (gomp_map_pointer): Use gomp_map_lookup.
6894 (gomp_map_fields_existing): New function.
6895 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6896 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6897 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6898 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6899 Adjust for tgt->list changed type and copy_from living in there.
6900 (gomp_copy_from_async): Adjust for tgt->list changed type and
6901 copy_from living in there.
6902 (gomp_unmap_vars): Likewise.
6903 (gomp_update): Likewise. Rename is_openacc argument to
6904 short_mapkind. Don't fail if object is not mapped.
6905 (gomp_load_image_to_device): Initialize refcount to
6906 REFCOUNT_INFINITY.
6907 (gomp_target_fallback): New function.
6908 (gomp_get_target_fn_addr): Likewise.
6909 (GOMP_target): Adjust gomp_map_vars caller, use
6910 gomp_get_target_fn_addr and gomp_target_fallback.
6911 (GOMP_target_41): New function.
6912 (gomp_target_data_fallback): New function.
6913 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6914 (GOMP_target_data_41): New function.
6915 (GOMP_target_update): Adjust gomp_update caller.
6916 (GOMP_target_update_41): New function.
6917 (gomp_exit_data, GOMP_target_enter_exit_data,
6918 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6919 omp_target_is_present, omp_target_memcpy,
6920 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6921 omp_target_associate_ptr, omp_target_disassociate_ptr,
6922 gomp_load_plugin_for_device): New functions.
6923 * task.c: Include gomp-constants.h. Include taskloop.c
6924 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6925 (gomp_task_handle_depend): New function.
6926 (GOMP_task): Use it. Add priority argument. Use
6927 gomp-constant.h constants instead of hardcoded numbers.
6928 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6929 (gomp_create_target_task): New function.
6930 (verify_children_queue, verify_taskgroup_queue,
6931 verify_task_queue): New functions.
6932 (gomp_task_run_pre): Call verify_*_queue functions.
6933 If an upcoming tied task is about to leave the sibling or
6934 taskgroup queues in an invalid state, adjust appropriately.
6935 Remove taskgroup argument. Add comments.
6936 (gomp_task_run_post_handle_dependers): Add comments.
6937 (gomp_task_run_post_remove_parent): Likewise.
6938 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6939 (GOMP_taskwait): Likewise. Add comments.
6940 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6941 problem such that the first non parent_depends_on task does not
6942 end up at the end of the children queue.
6943 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6944 GOMP_TASK_UNDEFERRED.
6945 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6946 * taskloop.c: New file.
6947 * testsuite/lib/libgomp.exp
6948 (check_effective_target_offload_device_nonshared_as): New proc.
6949 * testsuite/libgomp.c/affinity-2.c: New test.
6950 * testsuite/libgomp.c/doacross-1.c: New test.
6951 * testsuite/libgomp.c/doacross-2.c: New test.
6952 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6953 Add map clause to target.
6954 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6955 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6956 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6957 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6958 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6959 Likewise.
6960 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6961 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6962 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6963 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6964 not defined. Use those where needed.
6965 * testsuite/libgomp.c/for-4.c: New test.
6966 * testsuite/libgomp.c/for-5.c: New test.
6967 * testsuite/libgomp.c/for-6.c: New test.
6968 * testsuite/libgomp.c/linear-1.c: New test.
6969 * testsuite/libgomp.c/ordered-4.c: New test.
6970 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6971 only allowed on the loop iterator.
6972 * testsuite/libgomp.c/pr66199-3.c: New test.
6973 * testsuite/libgomp.c/pr66199-4.c: New test.
6974 * testsuite/libgomp.c/reduction-7.c: New test.
6975 * testsuite/libgomp.c/reduction-8.c: New test.
6976 * testsuite/libgomp.c/reduction-9.c: New test.
6977 * testsuite/libgomp.c/reduction-10.c: New test.
6978 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6979 map(tofrom:s).
6980 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6981 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6982 * testsuite/libgomp.c/target-11.c: New test.
6983 * testsuite/libgomp.c/target-12.c: New test.
6984 * testsuite/libgomp.c/target-13.c: New test.
6985 * testsuite/libgomp.c/target-14.c: New test.
6986 * testsuite/libgomp.c/target-15.c: New test.
6987 * testsuite/libgomp.c/target-16.c: New test.
6988 * testsuite/libgomp.c/target-17.c: New test.
6989 * testsuite/libgomp.c/target-18.c: New test.
6990 * testsuite/libgomp.c/target-19.c: New test.
6991 * testsuite/libgomp.c/target-20.c: New test.
6992 * testsuite/libgomp.c/target-21.c: New test.
6993 * testsuite/libgomp.c/target-22.c: New test.
6994 * testsuite/libgomp.c/target-23.c: New test.
6995 * testsuite/libgomp.c/target-24.c: New test.
6996 * testsuite/libgomp.c/target-25.c: New test.
6997 * testsuite/libgomp.c/target-26.c: New test.
6998 * testsuite/libgomp.c/target-27.c: New test.
6999 * testsuite/libgomp.c/taskloop-1.c: New test.
7000 * testsuite/libgomp.c/taskloop-2.c: New test.
7001 * testsuite/libgomp.c/taskloop-3.c: New test.
7002 * testsuite/libgomp.c/taskloop-4.c: New test.
7003 * testsuite/libgomp.c++/ctor-13.C: New test.
7004 * testsuite/libgomp.c++/doacross-1.C: New test.
7005 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7006 Replace offload_device with offload_device_nonshared_as.
7007 * testsuite/libgomp.c++/for-12.C: New test.
7008 * testsuite/libgomp.c++/for-13.C: New test.
7009 * testsuite/libgomp.c++/for-14.C: New test.
7010 * testsuite/libgomp.c++/linear-1.C: New test.
7011 * testsuite/libgomp.c++/member-1.C: New test.
7012 * testsuite/libgomp.c++/member-2.C: New test.
7013 * testsuite/libgomp.c++/member-3.C: New test.
7014 * testsuite/libgomp.c++/member-4.C: New test.
7015 * testsuite/libgomp.c++/member-5.C: New test.
7016 * testsuite/libgomp.c++/ordered-1.C: New test.
7017 * testsuite/libgomp.c++/reduction-5.C: New test.
7018 * testsuite/libgomp.c++/reduction-6.C: New test.
7019 * testsuite/libgomp.c++/reduction-7.C: New test.
7020 * testsuite/libgomp.c++/reduction-8.C: New test.
7021 * testsuite/libgomp.c++/reduction-9.C: New test.
7022 * testsuite/libgomp.c++/reduction-10.C: New test.
7023 * testsuite/libgomp.c++/reference-1.C: New test.
7024 * testsuite/libgomp.c++/simd14.C: New test.
7025 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7026 * testsuite/libgomp.c++/target-5.C: New test.
7027 * testsuite/libgomp.c++/target-6.C: New test.
7028 * testsuite/libgomp.c++/target-7.C: New test.
7029 * testsuite/libgomp.c++/target-8.C: New test.
7030 * testsuite/libgomp.c++/target-9.C: New test.
7031 * testsuite/libgomp.c++/target-10.C: New test.
7032 * testsuite/libgomp.c++/target-11.C: New test.
7033 * testsuite/libgomp.c++/target-12.C: New test.
7034 * testsuite/libgomp.c++/taskloop-1.C: New test.
7035 * testsuite/libgomp.c++/taskloop-2.C: New test.
7036 * testsuite/libgomp.c++/taskloop-3.C: New test.
7037 * testsuite/libgomp.c++/taskloop-4.C: New test.
7038 * testsuite/libgomp.c++/taskloop-5.C: New test.
7039 * testsuite/libgomp.c++/taskloop-6.C: New test.
7040 * testsuite/libgomp.c++/taskloop-7.C: New test.
7041 * testsuite/libgomp.c++/taskloop-8.C: New test.
7042 * testsuite/libgomp.c++/taskloop-9.C: New test.
7043 * testsuite/libgomp.fortran/affinity1.f90: New test.
7044 * testsuite/libgomp.fortran/affinity2.f90: New test.
7045
7046 2015-10-13 Tom de Vries <tom@codesourcery.com>
7047
7048 PR tree-optimization/67476
7049 * testsuite/libgomp.c/autopar-3.c: New test.
7050 * testsuite/libgomp.c/autopar-4.c: New test.
7051 * testsuite/libgomp.c/autopar-5.c: New test.
7052 * testsuite/libgomp.c/autopar-6.c: New test.
7053 * testsuite/libgomp.c/autopar-7.c: New test.
7054 * testsuite/libgomp.c/autopar-8.c: New test.
7055
7056 2015-10-12 James Norris <jnorris@codesourcery.com>
7057
7058 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7059 initializer.
7060
7061 2015-10-09 David Malcolm <dmalcolm@redhat.com>
7062
7063 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7064 using load_gcc_lib.
7065
7066 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7067
7068 * oacc-ptx.h: Remove file, moving its content into...
7069 * config/nvptx/fortran.c: ... here...
7070 * config/nvptx/oacc-init.c: ..., here...
7071 * config/nvptx/oacc-parallel.c: ..., and here.
7072 * config/nvptx/openacc.f90: New file.
7073 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7074 (link_ptx): Don't link in predefined bits of PTX code.
7075
7076 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7077 Bernd Schmidt <bernds@codesourcery.com>
7078
7079 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7080 (struct targ_ptx_obj): New.
7081 (nvptx_tdata): Move earlier, change data format.
7082 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7083 objects.
7084 (GOMP_OFFLOAD_load_image): Adjust.
7085
7086 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7087
7088 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7089 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7090 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7091 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7092 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7093 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7094 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7095 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7096 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7097 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7098 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7099 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7100 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7101 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7102 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7103 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7104 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7105 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7106 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7107 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7108 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7109 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7110 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7111 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7112 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7113 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7114 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7115 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7116 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7117 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7118 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7119 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7120 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7121 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7122 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7123 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7124 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7125 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7126 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7127 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7128 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7129 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7130 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7131 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7132 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7133 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7134 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7135 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7136 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7137 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7138 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7139 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7140 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7141 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7142 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7143 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7144 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7145 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7146 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7147 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7148 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7149 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7150 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7151
7152 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7153
7154 * oacc-init.c (acc_on_device): Force optimization level.
7155
7156 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7157
7158 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7159 (cuda_errlist): Delete.
7160 (cuda_error): Reimplement.
7161
7162 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7163
7164 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7165 array.
7166 * libgomp.map (GOACC_parallel_keyed): New.
7167 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7168 all callers.
7169 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7170 and take keyed varargs list. Adjust call to exec_func.
7171 (GOACC_parallel): Force host fallback.
7172 * libgomp_g.h (GOACC_parallel): Remove.
7173 (GOACC_parallel_keyed): Declare.
7174 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
7175 (struct targ_gn_descriptor): Replace name field with launch field.
7176 (nvptx_exec): Lose separate geometry args, take array. Process
7177 dynamic dimensions and adjust.
7178 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7179 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7180 data.
7181 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7182 passing.
7183 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7184 passing.
7185
7186 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7187
7188 PR libgomp/67141
7189 * oacc-int.h (goacc_host_init): Add declaration.
7190 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7191 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7192
7193 2015-09-08 Aditya Kumar <hiraditya@msn.com>
7194 Sebastian Pop <s.pop@samsung.com>
7195
7196 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
7197 match o/p.
7198 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7199 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7200 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7201 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7202 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7203
7204 2015-09-03 Jakub Jelinek <jakub@redhat.com>
7205
7206 * configure.tgt: Add missing ;; in between nvptx and rtems
7207 snippets.
7208
7209 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7210
7211 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7212 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7213 (gomp_thread_pool_reservoir): Add priority member.
7214 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7215 priority.
7216 (parse_thread_pools): Likewise.
7217 * team.c (gomp_team_start): Call configuration provided
7218 gomp_adjust_thread_attr(). Destroy thread attributes if
7219 necessary.
7220 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7221
7222 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7223
7224 * config/posix/pool.h: New.
7225 * config/rtems/pool.h: Likewise.
7226 * config/rtems/proc.c: Likewise.
7227 * libgomp.h (gomp_thread_destructor): Declare.
7228 * team.c: Include configuration provided "pool.h".
7229 (gomp_get_thread_pool): Define in configuration.
7230 (gomp_team_end): Call configuration defined
7231 gomp_release_thread_pool().
7232
7233 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7234
7235 * config/rtems/bar.c: New.
7236 * config/rtems/bar.h: Likewise.
7237 * config/rtems/mutex.c: Likewise.
7238 * config/rtems/mutex.h: Likewise.
7239 * config/rtems/sem.c: Likewise.
7240 * config/rtems/sem.h: Likewise.
7241 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7242 <sys/lock.h> header file.
7243 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7244 supported by Newlib.
7245 * configure: Regenerate.
7246
7247 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7248
7249 * team.c (gomp_new_thread_pool): Delete and move content to ...
7250 (gomp_get_thread_pool): ... new function. Allocate and
7251 initialize thread pool on demand.
7252 (get_last_team): Use gomp_get_thread_pool().
7253 (gomp_team_start): Delete thread pool initialization.
7254
7255 2015-09-03 Tom de Vries <tom@codesourcery.com>
7256
7257 PR tree-optimization/65637
7258 * testsuite/libgomp.c/autopar-2.c: New test.
7259
7260 2015-08-29 Tom de Vries <tom@codesourcery.com>
7261
7262 PR tree-optimization/46193
7263 * testsuite/libgomp.c/pr46193.c: New test.
7264
7265 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7266
7267 libgomp/
7268 * libgomp.map: Add 4.0.2 version.
7269 * target.c (offload_image_descr): Add version field.
7270 (gomp_load_image_to_device): Add version argument. Adjust plugin
7271 call. Improve load mismatch diagnostic.
7272 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7273 call.
7274 (GOMP_offload_regster): Make stub function, move bulk to ...
7275 (GOMP_offload_register_ver): ... here. Process version argument.
7276 (GOMP_offload_unregister): Make stub function, move bulk to ...
7277 (GOMP_offload_unregister_ver): ... here. Process version argument.
7278 (gomp_init_device): Process version field.
7279 (gomp_unload_device): Process version field.
7280 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7281 macros. Check plugin version.
7282 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7283 loader and unloader types.
7284 * oacc-host.c: Include gomp-constants.h.
7285 (host_version): New.
7286 (host_load_image, host_unload_image): Adjust.
7287 (host_dispatch): Add host_version.
7288 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7289 (GOMP_OFFLOAD_version): New.
7290 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7291 (GOMP_OFFLOAD_unload_image): Likewise.
7292 * plugin/plugin-host.c: Include gomp-constants.h.
7293 (GOMP_OFFLOAD_version): New.
7294 (GOMP_OFFLOAD_load_image): Add version arg.
7295 (GOMP_OFFLOAD_unload_image): Likewise.
7296
7297 2015-08-24 Tom de Vries <tom@codesourcery.com>
7298
7299 PR tree-optimization/65468
7300 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7301
7302 2015-08-24 Tom de Vries <tom@codesourcery.com>
7303
7304 PR tree-optimization/65468
7305 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7306
7307 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7308
7309 PR libgomp/66761
7310 PR libgomp/67303
7311 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7312 (gomp_iter_guided_next): Idem.
7313 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7314 (gomp_iter_ull_guided_next): Idem.
7315 * config/linux/wait.h (do_spin): Idem.
7316
7317 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7318
7319 * libgomp-plugin.h (enum offload_target_type): Remove
7320 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7321 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7322 * openacc.h (enum acc_device_t): Likewise.
7323 * openacc_lib.h: Likewise.
7324 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7325 (acc_on_device): Just use __builtin_acc_on_device.
7326 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7327 of acc_on_device builtin.
7328 * plugin/plugin-host.h: Remove file.
7329 * plugin/plugin-host.c: Likewise, but salvage some content into...
7330 * oacc-host.c: ... this file.
7331 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7332 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7333 * Makefile.in: Regenerate.
7334 * configure: Likewise.
7335 * testsuite/lib/libgomp.exp
7336 (check_effective_target_openacc_host_nonshm_selected): Remove.
7337 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7338 ACC_DEVICE_TYPE=host_nonshm.
7339 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7340 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7341 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7342 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7343 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7344 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7345
7346 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7347 Jakub Jelinek <jakub@redhat.com>
7348
7349 * config/nvptx/affinity.c: New file.
7350 * config/nvptx/alloc.c: Likewise.
7351 * config/nvptx/bar.c: Likewise.
7352 * config/nvptx/barrier.c: Likewise.
7353 * config/nvptx/critical.c: Likewise.
7354 * config/nvptx/env.c: Likewise.
7355 * config/nvptx/error.c: Likewise.
7356 * config/nvptx/fortran.c: Likewise.
7357 * config/nvptx/iter.c: Likewise.
7358 * config/nvptx/iter_ull.c: Likewise.
7359 * config/nvptx/libgomp-plugin.c: Likewise.
7360 * config/nvptx/lock.c: Likewise.
7361 * config/nvptx/loop.c: Likewise.
7362 * config/nvptx/loop_ull.c: Likewise.
7363 * config/nvptx/mutex.c: Likewise.
7364 * config/nvptx/oacc-async.c: Likewise.
7365 * config/nvptx/oacc-cuda.c: Likewise.
7366 * config/nvptx/oacc-host.c: Likewise.
7367 * config/nvptx/oacc-init.c: Likewise.
7368 * config/nvptx/oacc-mem.c: Likewise.
7369 * config/nvptx/oacc-parallel.c: Likewise.
7370 * config/nvptx/oacc-plugin.c: Likewise.
7371 * config/nvptx/omp-lock.h: Likewise.
7372 * config/nvptx/ordered.c: Likewise.
7373 * config/nvptx/parallel.c: Likewise.
7374 * config/nvptx/proc.c: Likewise.
7375 * config/nvptx/ptrlock.c: Likewise.
7376 * config/nvptx/sections.c: Likewise.
7377 * config/nvptx/sem.c: Likewise.
7378 * config/nvptx/single.c: Likewise.
7379 * config/nvptx/splay-tree.c: Likewise.
7380 * config/nvptx/target.c: Likewise.
7381 * config/nvptx/task.c: Likewise.
7382 * config/nvptx/team.c: Likewise.
7383 * config/nvptx/time.c: Likewise.
7384 * config/nvptx/work.c: Likewise.
7385 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7386 * configure: Regenerate.
7387 * configure.tgt (config_path): Set to "nvptx" for target
7388 nvptx*-*-*.
7389
7390 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7391
7392 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7393
7394 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7395
7396 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7397 (cuda_errlist): Constify.
7398 (errmsg): Move into ...
7399 (cuda_error): ... here. Make smaller.
7400 (_XSTR, _STR): Delete.
7401 (cuda_synames): Delete.
7402 (verify_device_library): Delete.
7403 (nvptx_init): Don't call it.
7404
7405 2015-07-28 Tom de Vries <tom@codesourcery.com>
7406
7407 * testsuite/libgomp.c/uns-outer-4.c: New test.
7408
7409 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7410
7411 * testsuite/libgomp.c/pr66714.c: New test.
7412
7413 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7414
7415 PR libgomp/66950
7416 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7417 (fib_ref): New function.
7418 (fib): Correct corner cases in the recursion.
7419 (main): Replace the non-simd loop with fib_ref call.
7420 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7421 subroutine.
7422 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7423 for the last array element value. Replace the non-simd loop with
7424 fib_ref call. Remove redundant b_ref array. Remove the comparison
7425 of the last array element with according Fibonacci sequence element.
7426 (fib): Correct corner cases in the recursion.
7427
7428 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7429
7430 * target.c (gomp_offload_image_to_device): Rename to ...
7431 (gomp_load_image_to_device): ... here.
7432 (GOMP_offload_register): Adjust call.
7433 (gomp_init_device): Likewise.
7434 (gomp_unload_image_from_device): New. Broken out of ...
7435 (GOMP_offload_unregister): ... here. Call it.
7436 (gomp_unload_device): New.
7437 * libgomp.h (gomp_unload_device): Declare.
7438 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7439 mem maps.
7440
7441 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7442
7443 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7444 wait=-specific if.
7445 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7446 !=0 condition.
7447 (goacc_waits): Move !num_waits handling to ...
7448 (GOACC_wait): ... here, the only caller that might have zero waits.
7449
7450 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7451 (struct ptx_image_data): Move earlier, add fns field.
7452 (struct ptx_device): Add images and image_lock fields.
7453 (ptx_images, ptx_image_lock): Delete.
7454 (nvptx_open_device): Initialize images and image_lock fields.
7455 (nvptx_close_device): Destroy image_lock.
7456 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7457 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7458 fields.
7459
7460 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7461
7462 * target.c (GOMP_offload_register): Use int for device type arg.
7463 (GOMP_offload_unregister): Likewise.
7464
7465 * target.c (struct_offload_image_descr): Constify host_table.
7466 (gomp_offload_image_to_device): Likewise.
7467 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7468
7469 * libgomp.h (gomp_device_descr): Constify target data arguments.
7470 * target.c (struct offload_image_descr): Constify target_data.
7471 (gomp_offload_image_to_device): Likewise.
7472 (GOMP_offload_register): Likewise.
7473 (GOMP_offload_unregister): Likewise.
7474 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7475 GOMP_OFFLOAD_unload_image): Constify target data.
7476 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7477 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7478
7479 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7480
7481 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7482 Workaround driver library const error.
7483 (struct nvptx_tdata, nvptx_tdata_t): New.
7484 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7485 type.
7486
7487 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7488
7489 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7490 of EPS parameter from integer to real.
7491 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7492 type of EPS parameter from integer to real.
7493
7494 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7495
7496 * team.c (get_last_team): New.
7497 (gomp_new_team): Recycle last non-nested team if possible.
7498 (gomp_team_end): Move team work share list free lock destruction
7499 to ...
7500 (free_team): ... here.
7501
7502 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7503
7504 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7505 and ref from int to double. Replaced their comparison with
7506 an inequality of their difference and EPS.
7507 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7508 comparison of pri and a reference number with an inequality of their
7509 difference and EPS.
7510 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7511 the comparison of sum and sum_ref with an inequality of their
7512 difference and EPS.
7513 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7514 the comparison of pri and a reference number with an inequality of
7515 their difference and EPS.
7516
7517 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7518
7519 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7520 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7521 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7522 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7523 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7524 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7525 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7526 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7527 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7528 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7529 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7530 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7531 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7532 variables.
7533 (vec_mult): Likewise. Add #pragma omp taskwait.
7534 (main): Adjust caller.
7535 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7536 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7537 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7538 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7539 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7540 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7541 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7542 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7543 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7544 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7545 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7546 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7547 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7548 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7549 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7550 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7551 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7552 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7553 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7554 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7555 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7556 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7557 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7558 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7559 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7560 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7561 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7562 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7563 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7564 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7565 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7566 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7567 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7568 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7569 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7570 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7571 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7572 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7573 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7574 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7575 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7576 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7577 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7578 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7579 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7580 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7581 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7582 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7583 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7584 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7585 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7586 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7587 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7588 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7589 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7590 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7591 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7592 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7593 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7594 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7595 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7596 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7597 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7598 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7599 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7600 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7601 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7602 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7603 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7604 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7605 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7606 (vec_mult): Add !$omp taskwait.
7607 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7608 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7609 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7610 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7611 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7612 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7613 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7614 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7615 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7616 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7617 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7618 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7619 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7620 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7621 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7622 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7623 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7624 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7625 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7626 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7627 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7628 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7629 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7630 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7631 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7632 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7633 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7634 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7635 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7636 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7637 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7638 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7639 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7640 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7641 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7642 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7643 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7644 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7645 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7646 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7647 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7648 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7649 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7650 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7651 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7652 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7653 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7654 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7655 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7656 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7657 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7658 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7659 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7660 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7661 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7662 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7663 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7664 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7665 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7666 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7667 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7668 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7669 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7670 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7671 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7672 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7673 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7674
7675 2015-07-10 Tom de Vries <tom@codesourcery.com>
7676
7677 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7678 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7679
7680 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7681
7682 PR libgomp/65099
7683 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7684 in a 64-bit configuration.
7685 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7686 offloading testing if no such device is available.
7687 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7688 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7689
7690 2015-07-08 Tom de Vries <tom@codesourcery.com>
7691
7692 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7693 second call to f.
7694 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7695
7696 2015-07-07 Tom de Vries <tom@codesourcery.com>
7697
7698 PR tree-optimization/66642
7699 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7700 iteration count case.
7701 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7702 function, factor out of ...
7703 (main): ... here. Test low iteration count case.
7704
7705 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7706
7707 * libgomp.h (gomp_thread_pool): Comment last_team field.
7708
7709 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
7710
7711 * testsuite/libgomp.c++/pr66702-1.C: Require
7712 vect_simd_clones effective target.
7713 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7714
7715 2015-06-30 Tom de Vries <tom@codesourcery.com>
7716
7717 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7718 already set. Use DEFAULT_CFLAGS in dg-runtest.
7719 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7720 "-O2".
7721
7722 2015-06-30 Tom de Vries <tom@codesourcery.com>
7723
7724 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7725 already set. Use DEFAULT_CFLAGS in dg-runtest.
7726 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7727 * testsuite/libgomp.c++/pr64824.C: Same.
7728 * testsuite/libgomp.c++/pr64868.C: Same.
7729 * testsuite/libgomp.c++/pr66199-1.C: Same.
7730 * testsuite/libgomp.c++/pr66199-2.C: Same.
7731 * testsuite/libgomp.c++/target-2.C: Same.
7732 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7733 -std=<standard> option.
7734 * testsuite/libgomp.c++/udr-11.C: Same.
7735 * testsuite/libgomp.c++/udr-12.C: Same.
7736 * testsuite/libgomp.c++/udr-13.C: Same.
7737 * testsuite/libgomp.c++/udr-14.C: Same.
7738 * testsuite/libgomp.c++/udr-15.C: Same.
7739 * testsuite/libgomp.c++/udr-16.C: Same.
7740 * testsuite/libgomp.c++/udr-17.C: Same.
7741 * testsuite/libgomp.c++/udr-18.C: Same.
7742 * testsuite/libgomp.c++/udr-19.C: Same.
7743 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7744 * testsuite/libgomp.c++/simd-1.C: Same.
7745 * testsuite/libgomp.c++/simd-2.C: Same.
7746 * testsuite/libgomp.c++/simd-3.C: Same.
7747 * testsuite/libgomp.c++/simd-4.C: Same.
7748 * testsuite/libgomp.c++/simd-5.C: Same.
7749 * testsuite/libgomp.c++/simd-6.C: Same.
7750 * testsuite/libgomp.c++/simd-7.C: Same.
7751 * testsuite/libgomp.c++/simd-8.C: Same.
7752 * testsuite/libgomp.c++/simd-9.C: Same.
7753 * testsuite/libgomp.c++/simd10.C: Same.
7754 * testsuite/libgomp.c++/simd11.C: Same.
7755 * testsuite/libgomp.c++/simd12.C: Same.
7756 * testsuite/libgomp.c++/simd13.C: Same.
7757
7758 2015-06-30 Jakub Jelinek <jakub@redhat.com>
7759
7760 PR middle-end/66702
7761 * testsuite/libgomp.c++/pr66702-1.C: New test.
7762 * testsuite/libgomp.c++/pr66702-2.C: New test.
7763
7764 2015-06-30 Tom de Vries <tom@codesourcery.com>
7765
7766 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7767 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7768 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7769 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7770
7771 2015-06-30 Tom de Vries <tom@codesourcery.com>
7772
7773 PR tree-optimization/66652
7774 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7775 using restrict pointers.
7776 (main): Add arguments to calls to f.
7777 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7778
7779 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7780
7781 * configure.ac: Fix check for header <sys/sysctl.h>.
7782 * configure: Regenerate.
7783 * config.h.in: Likewise.
7784
7785 2015-06-23 Tom de Vries <tom@codesourcery.com>
7786
7787 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7788 abort.
7789 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7790
7791 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7792
7793 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7794 acc_device_nvidia.
7795
7796 PR libgomp/66518
7797 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7798 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7799
7800 2015-06-15 Tom de Vries <tom@codesourcery.com>
7801
7802 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7803 dg-additional-options for any remaining options.
7804 * testsuite/libgomp.c/atomic-2.c: Same.
7805 * testsuite/libgomp.c/atomic-4.c: Same.
7806 * testsuite/libgomp.c/atomic-5.c: Same.
7807 * testsuite/libgomp.c/atomic-6.c: Same.
7808 * testsuite/libgomp.c/autopar-1.c: Same.
7809 * testsuite/libgomp.c/copyin-1.c: Same.
7810 * testsuite/libgomp.c/copyin-2.c: Same.
7811 * testsuite/libgomp.c/copyin-3.c: Same.
7812 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7813 * testsuite/libgomp.c/nestedfn-5.c: Same.
7814 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7815 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7816 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7817 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7818 * testsuite/libgomp.c/pr32362-1.c: Same.
7819 * testsuite/libgomp.c/pr32362-2.c: Same.
7820 * testsuite/libgomp.c/pr32362-3.c: Same.
7821 * testsuite/libgomp.c/pr39591-1.c: Same.
7822 * testsuite/libgomp.c/pr39591-2.c: Same.
7823 * testsuite/libgomp.c/pr39591-3.c: Same.
7824 * testsuite/libgomp.c/pr58392.c: Same.
7825 * testsuite/libgomp.c/pr58756.c: Same.
7826 * testsuite/libgomp.c/simd-1.c: Same.
7827 * testsuite/libgomp.c/simd-10.c: Same.
7828 * testsuite/libgomp.c/simd-11.c: Same.
7829 * testsuite/libgomp.c/simd-12.c: Same.
7830 * testsuite/libgomp.c/simd-13.c: Same.
7831 * testsuite/libgomp.c/simd-14.c: Same.
7832 * testsuite/libgomp.c/simd-15.c: Same.
7833 * testsuite/libgomp.c/simd-2.c: Same.
7834 * testsuite/libgomp.c/simd-3.c: Same.
7835 * testsuite/libgomp.c/simd-4.c: Same.
7836 * testsuite/libgomp.c/simd-5.c: Same.
7837 * testsuite/libgomp.c/simd-6.c: Same.
7838 * testsuite/libgomp.c/simd-7.c: Same.
7839 * testsuite/libgomp.c/simd-8.c: Same.
7840 * testsuite/libgomp.c/simd-9.c: Same.
7841
7842 2015-06-15 Tom de Vries <tom@codesourcery.com>
7843
7844 * testsuite/libgomp.c/pr35625.c: Fix typo.
7845
7846 2015-06-15 Tom de Vries <tom@codesourcery.com>
7847
7848 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7849 in dg-options.
7850 * testsuite/libgomp.c/atomic-3.c: Same.
7851 * testsuite/libgomp.c/debug-1.c: Same.
7852 * testsuite/libgomp.c/nqueens-1.c: Same.
7853 * testsuite/libgomp.c/pr26171.c: Same.
7854 * testsuite/libgomp.c/pr48591.c: Same.
7855 * testsuite/libgomp.c/pr64824.c: Same.
7856 * testsuite/libgomp.c/pr64868.c: Same.
7857 * testsuite/libgomp.c/pr66133.c: Same.
7858 * testsuite/libgomp.c/pr66199-1.c: Same.
7859 * testsuite/libgomp.c/pr66199-2.c: Same.
7860 * testsuite/libgomp.c/target-8.c: Same.
7861
7862 2015-06-15 Tom de Vries <tom@codesourcery.com>
7863
7864 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7865 -std={gnu99,c99}.
7866 * testsuite/libgomp.c/for-1.c: Same.
7867 * testsuite/libgomp.c/for-2.c: Same.
7868 * testsuite/libgomp.c/for-3.c: Same.
7869 * testsuite/libgomp.c/pr35625.c: Same.
7870 * testsuite/libgomp.c/pr39154.c: Same.
7871 * testsuite/libgomp.c/simd-16.c: Same.
7872 * testsuite/libgomp.c/simd-17.c: Same.
7873
7874 2015-06-13 Tom de Vries <tom@codesourcery.com>
7875
7876 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7877
7878 2015-06-13 Tom de Vries <tom@codesourcery.com>
7879
7880 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7881 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7882 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7883 (N): Define.
7884 (main): Use N instead of hardcoded constants.
7885
7886 2015-06-05 Tom de Vries <tom@codesourcery.com>
7887
7888 merge from gomp4 branch:
7889 2015-05-28 Tom de Vries <tom@codesourcery.com>
7890
7891 PR tree-optimization/65443
7892 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7893 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7894 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7895
7896 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7897
7898 * testsuite/libgomp.graphite/bounds.c: Adjust for
7899 cleanup-tree-dump removal.
7900 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7901 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7902 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7903 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7904 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7905 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7906 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7907 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7908 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7909 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7910
7911 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
7912
7913 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7914 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7915 (futex_wake) [!__x86_64__]: Ditto.
7916
7917 2015-05-28 Julian Brown <julian@codesourcery.com>
7918
7919 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7920 function comment. Only call gomp_fatal if new argument is true.
7921 (acc_dev_num_out_of_range): New function.
7922 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7923 acc_dev_num_out_of_range as appropriate.
7924 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7925 (acc_get_device_num, acc_set_device_num): Update calls to
7926 resolve_device.
7927 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7928 output.
7929
7930 2015-05-28 Julian Brown <julian@codesourcery.com>
7931
7932 PR libgomp/65742
7933 * oacc-init.c (plugin/plugin-host.h): Include.
7934 (acc_on_device): Check whether we're in an offloaded region for
7935 host_nonshm
7936 plugin. Don't use __builtin_acc_on_device.
7937 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7938 nonshm_exec flag in thread-local data.
7939 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7940 data for host_nonshm plugin.
7941 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7942 for host_nonshm plugin.
7943 * plugin/plugin-host.h: New.
7944
7945 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7946
7947 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7948
7949 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7950
7951 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7952 Declare as int.
7953 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7954 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7955 Declare as int.
7956
7957 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7958
7959 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
7960
7961 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7962
7963 * target.c (gomp_map_pointer): New function abstracting out
7964 GOMP_MAP_POINTER handling.
7965 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7966 gomp_map_pointer().
7967
7968 2015-05-19 Jakub Jelinek <jakub@redhat.com>
7969
7970 PR middle-end/66199
7971 * testsuite/libgomp.c/pr66199-1.c: New test.
7972 * testsuite/libgomp.c/pr66199-2.c: New test.
7973 * testsuite/libgomp.c++/pr66199-1.C: New test.
7974 * testsuite/libgomp.c++/pr66199-2.C: New test.
7975 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7976 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7977
7978 2015-05-19 Julian Brown <julian@codesourcery.com>
7979
7980 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7981 on cuInit failure.
7982
7983 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7984
7985 PR middle-end/66133
7986 * testsuite/libgomp.c/pr66133.c: New test.
7987
7988 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7989
7990 * Makefile.in: Regenerated with automake-1.11.6.
7991 * aclocal.m4: Likewise.
7992 * config.h.in: Likewise.
7993 * configure: Likewise.
7994 * testsuite/Makefile.in: Likewise.
7995
7996 2015-05-08 Jason Merrill <jason@redhat.com>
7997
7998 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7999 _Complex.
8000
8001 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8002
8003 2015-05-06 Julian Brown <julian@codesourcery.com>
8004
8005 * oacc-init.c (acc_device_lock): Add explanatory comment.
8006 (resolve_device): Add comment about locking requirement.
8007 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8008 gomp_init_device and gomp_fini_device calls.
8009 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8010 (acc_get_device_num, acc_set_device_num): Add locking around
8011 resolve_device and gomp_init_device calls.
8012
8013 2015-05-06 Julian Brown <julian@codesourcery.com>
8014
8015 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8016 goacc_thread_lock on error paths.
8017 * oacc-mem.c (lookup_host): Remove locking from function. Note
8018 locking requirement for caller in function comment.
8019 (lookup_dev): Likewise.
8020 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8021 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8022 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8023 Add locking.
8024
8025 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
8026
8027 PR testsuite/65205
8028 PR libgomp/65993
8029 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8030 don't expect "0x" prefix for "%p" format specifier, don't expect
8031 "(nil)" for NULL pointer.
8032 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8033 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8034 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8036 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8037 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8038 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8039 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8040 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8041 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8042 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8043 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8044 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8045 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8046 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8047 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8048 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8049 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8050 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8051 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8052 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8053 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8054 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8055 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8056 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8057 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8058 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8059 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8060 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8061 accurately specify what we're looking for.
8062 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8063 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8064 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8065 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8066 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8067
8068 2015-04-30 James Norris <jnorris@codesourcery.com>
8069
8070 PR testsuite/65205
8071 * testsuite/lib/libgomp.exp
8072 (check_effective_target_openacc_host_selected)
8073 (check_effective_target_openacc_host_nonshm_selected): New
8074 procedures.
8075 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8076 dg-shouldfail.
8077 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8078 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8079 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8080 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8081 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8082 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8083 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8084 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8085 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8086 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8087 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8088 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8089 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8090 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8091 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8092 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8093 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8094 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8095 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8096 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8097 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8098 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8099 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8100 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8101 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8102 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8103 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8104 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8105 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8106 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8107 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8108 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8109 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8110 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8111 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8112 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8113 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8114 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8115 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8116 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8117 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8118 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8119 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8120
8121 2015-04-08 Julian Brown <julian@codesourcery.com>
8122
8123 * libgomp.h (target_mem_desc: Remove mem_map field.
8124 (acc_dispatch_t): Remove open_device_func, close_device_func,
8125 get_device_num_func, set_device_num_func, target_data members.
8126 Change create_thread_data_func argument to device number instead of
8127 generic pointer.
8128 * oacc-async.c (assert.h): Include.
8129 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8130 (acc_wait_all, acc_wait_all_async): Use current host thread's
8131 active device, not base_dev.
8132 * oacc-cuda.c (acc_get_current_cuda_device)
8133 (acc_get_current_cuda_context, acc_get_cuda_stream)
8134 (acc_set_cuda_stream): Likewise.
8135 * oacc-host.c (host_dispatch): Don't set open_device_func,
8136 close_device_func, get_device_num_func or set_device_num_func.
8137 * oacc-init.c (base_dev, init_key): Remove.
8138 (cached_base_dev): New.
8139 (name_of_acc_device_t): New.
8140 (acc_init_1): Initialise default-numbered device, not zeroth.
8141 (acc_shutdown_1): Close all devices of a given type.
8142 (goacc_destroy_thread): Don't use base_dev.
8143 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8144 (goacc_attach_host_thread_to_device): New.
8145 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8146 (acc_get_num_devices): Don't use base_dev.
8147 (acc_set_device_type): Reimplement.
8148 (acc_get_device_type): Don't use base_dev.
8149 (acc_get_device_num): Tweak logic.
8150 (acc_set_device_num): Likewise.
8151 (acc_on_device): Use acc_get_device_type.
8152 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8153 (goacc_lazy_initialize): Reimplement with acc_init and
8154 goacc_attach_host_thread_to_device.
8155 * oacc-int.h (goacc_thread): Add base_dev field.
8156 (base_dev): Remove extern declaration.
8157 (goacc_attach_host_thread_to_device): Add prototype.
8158 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8159 base_dev.
8160 (acc_free): Likewise.
8161 (acc_memcpy_to_device): Likewise.
8162 (acc_memcpy_from_device): Likewise.
8163 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8164 goacc_lazy_initialize (throughout).
8165 (GOACC_parallel): Use tgt_offset to locate target functions.
8166 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8167 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8168 (gomp_load_plugin_for_device): Remove open_device, close_device,
8169 get_device_num, set_device_num openacc hook initialisation. Don't set
8170 openacc.target_data.
8171 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8172 (GOMP_OFFLOAD_openacc_close_device)
8173 (GOMP_OFFLOAD_openacc_get_device_num)
8174 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8175 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8176 to int.
8177 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8178 (instantiated_devices, ptx_dev_lock): New.
8179 (struct ptx_image_data): New.
8180 (ptx_devices, ptx_images, ptx_image_lock): New.
8181 (fini_streams_for_device): Reorder cuStreamDestroy call.
8182 (nvptx_get_num_devices): Remove forward declaration.
8183 (nvptx_init): Change return type to bool.
8184 (nvptx_fini): Remove.
8185 (nvptx_attach_host_thread_to_device): New.
8186 (nvptx_open_device): Return struct ptx_device* instead of void*.
8187 (nvptx_close_device): Change argument type to struct ptx_device*,
8188 return type to void.
8189 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8190 (kernel_target_data, kernel_host_table): Remove static globals.
8191 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8192 (GOMP_OFFLOAD_init_device): Reimplement.
8193 (GOMP_OFFLOAD_fini_device): Likewise.
8194 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8195 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8196 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8197 (GOMP_OFFLOAD_openacc_open_device)
8198 (GOMP_OFFLOAD_openacc_close_device)
8199 (GOMP_OFFLOAD_openacc_set_device_num)
8200 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8201 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8202 (device number).
8203
8204 testsuite/
8205 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8206
8207 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8208
8209 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8210 * libgomp.h (struct gomp_memory_mapping): Remove.
8211 (struct target_mem_desc): Change type of mem_map from
8212 gomp_memory_mapping * to splay_tree_s *.
8213 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8214 Add load_image_func, unload_image_func.
8215 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8216 Remove offload_regions_registered.
8217 (gomp_init_tables): Remove.
8218 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8219 to splay_tree_s *.
8220 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8221 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8222 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8223 offload_regions_registered.
8224 Initialize load_image_func, unload_image_func, mem_map.root.
8225 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8226 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8227 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8228 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8229 gomp_memory_mapping *. Use dev's lock and splay_tree.
8230 (lookup_dev): Use dev's lock.
8231 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8232 (acc_is_present): Likewise.
8233 (acc_map_data): Likewise.
8234 (acc_unmap_data): Likewise. Use dev's lock.
8235 (present_create_copy): Likewise.
8236 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8237 (update_dev_host): Likewise.
8238 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8239 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8240 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8241 (GOMP_OFFLOAD_get_table): Remove
8242 (GOMP_OFFLOAD_load_image): New function.
8243 (GOMP_OFFLOAD_unload_image): New function.
8244 * target.c (register_lock): New mutex for offload image registration.
8245 (num_devices): Do not guard with PLUGIN_SUPPORT.
8246 (gomp_realloc_unlock): New static function.
8247 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8248 before gomp_fatal.
8249 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8250 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8251 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8252 mem_map's.
8253 (gomp_unmap_vars): Likewise.
8254 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8255 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8256 (gomp_offload_image_to_device): New static function.
8257 (GOMP_offload_register): Add mutex lock.
8258 Call gomp_offload_image_to_device for all initialized devices.
8259 Replace gomp_realloc with gomp_realloc_unlock.
8260 (GOMP_offload_unregister): New function.
8261 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8262 get_table_func from the plugin with calls to init_device_func and
8263 gomp_offload_image_to_device.
8264 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8265 to splay_tree_s *.
8266 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8267 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8268 (GOMP_target_data): Do not call gomp_init_tables.
8269 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8270 (gomp_load_plugin_for_device): Replace register_image and get_table
8271 with load_image and unload_image in DLSYM ().
8272 (gomp_register_images_for_device): Remove function.
8273 (gomp_target_init): Do not initialize current_device.mem_map.*,
8274 current_device.offload_regions_registered.
8275 Remove call to gomp_register_images_for_device.
8276 Do not free offload_images and num_offload_images.
8277
8278 2015-03-30 Jakub Jelinek <jakub@redhat.com>
8279
8280 PR fortran/65597
8281 * testsuite/libgomp.fortran/pr65597.f90: New test.
8282
8283 2015-03-27 Tom de Vries <tom@codesourcery.com>
8284
8285 PR testsuite/65594
8286 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8287 (init, check): New function.
8288 (foo): Change return type to void.
8289 (main): Call init and check.
8290
8291 2015-03-27 Tom de Vries <tom@codesourcery.com>
8292
8293 PR testsuite/65594
8294 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8295 (foo): Use M for non-inner loops to scale down test-case.
8296
8297 2015-03-25 Kai Tietz <ktietz@redhat.com>
8298
8299 PR libgomp/64972
8300 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8301 (GOACC_data_start): Likewise.
8302 * target.c (gomp_map_vars): Likewise.
8303
8304 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
8305
8306 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8307 hppa*-*-hpux*.
8308
8309 2015-03-19 Jakub Jelinek <jakub@redhat.com>
8310
8311 * testsuite/libgomp.c/target-10.c: New test.
8312 * testsuite/libgomp.c++/target-4.C: New test.
8313
8314 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8315
8316 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8317 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8318
8319 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8320
8321 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8322 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8323 (pthread.h): Check for this header file.
8324 * configure: Regenerate.
8325
8326 2015-02-25 Tom de Vries <tom@codesourcery.com>
8327
8328 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8329 (check_reduction_op, check_reduction_macro, max, min):
8330 Declare.
8331 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8332 function.
8333 (main): Use new functions.
8334
8335 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8336
8337 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8338 char * for variables holding dlerror return values.
8339 (DLSYM_OPT): Ditto.
8340
8341 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8342
8343 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8344
8345 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8346 Cesar Philippidis <cesar@codesourcery.com>
8347
8348 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8349 GOACC_ctaid, and GOACC_nctaid routines.
8350
8351 2015-02-11 Jakub Jelinek <jakub@redhat.com>
8352
8353 PR c/64824
8354 * testsuite/libgomp.c/atomic-18.c: New test.
8355 * testsuite/libgomp.c++/atomic-16.C: New test.
8356
8357 2015-02-04 Jakub Jelinek <jakub@redhat.com>
8358
8359 PR c/64824
8360 PR c/64868
8361 * testsuite/libgomp.c/pr64824.c: New test.
8362 * testsuite/libgomp.c/pr64868.c: New test.
8363 * testsuite/libgomp.c++/pr64824.C: New test.
8364 * testsuite/libgomp.c++/pr64868.C: New test.
8365
8366 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
8367
8368 PR libgomp/64635
8369 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8370 Link with -lpthread.
8371 * config/aix/plugin-suffix.h: Delete.
8372
8373 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8374
8375 PR libgomp/64635
8376 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8377 (*-*-darwin*): Use config_path "bsd darwin posix".
8378 (*-*-hpux*): Use config_path "hpux posix".
8379 * target.c: Add include of plugin-suffix.h and use
8380 SONAME_SUFFIX macro.
8381 * config/aix/plugin-suffix.h: New file.
8382 * config/darwin/plugin-suffix.h: New file.
8383 * config/hpux/plugin-suffix.h: New file.
8384 * config/posix/plugin-suffix.h: New file.
8385
8386 2015-01-23 Jakub Jelinek <jakub@redhat.com>
8387
8388 PR middle-end/64734
8389 * libgomp.c/pr64734.c: New test.
8390
8391 2015-01-23 Tom de Vries <tom@codesourcery.com>
8392
8393 PR libgomp/64672
8394 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8395
8396 2015-01-23 Tom de Vries <tom@codesourcery.com>
8397
8398 PR libgomp/64707
8399 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8400 dg-options.
8401
8402 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8403
8404 PR libgomp/64625
8405 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8406 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8407 formal parameter. Update all users.
8408 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8409 Document unused formal parameter.
8410
8411 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8412
8413 * oacc-parallel.c: Don't include <alloca.h>.
8414 (GOACC_parallel): Use gomp_alloca instead of alloca.
8415
8416 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8417
8418 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8419
8420 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8421 James Norris <jnorris@codesourcery.com>
8422 Tom de Vries <tom@codesourcery.com>
8423 Julian Brown <julian@codesourcery.com>
8424 Cesar Philippidis <cesar@codesourcery.com>
8425 Nathan Sidwell <nathan@codesourcery.com>
8426 Tobias Burnus <burnus@net-b.de>
8427
8428 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8429 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8430 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8431 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8432 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8433 Include $(top_srcdir)/plugin/Makefrag.am.
8434 (nodist_libsubinclude_HEADERS): Add openacc.h.
8435 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8436 openacc.f90, openacc.mod, openacc_kinds.mod.
8437 (omp_lib.mod): Generalize into...
8438 (%.mod): ... this new rule.
8439 (openacc_kinds.mod, openacc.mod): New rules.
8440 * plugin/configfrag.ac: New file.
8441 * configure.ac: Move plugin/offloading support into it. Include
8442 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8443 * plugin/Makefrag.am: New file.
8444 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8445 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8446 export.
8447 (libgomp-test-support.exp): New rule.
8448 (all-local): Depend on it.
8449 * Makefile.in: Regenerate.
8450 * testsuite/Makefile.in: Regenerate.
8451 * config.h.in: Likewise.
8452 * configure: Likewise.
8453 * configure.tgt: Harden shell syntax.
8454 * env.c: Include "oacc-int.h".
8455 (parse_acc_device_type): New function.
8456 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8457 variables.
8458 (initialize_env): Initialize those. Call
8459 goacc_runtime_initialize.
8460 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8461 (gomp_fatal): Call gomp_vfatal.
8462 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8463 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8464 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8465 (splay_tree_node, splay_tree, splay_tree_key)
8466 (struct target_mem_desc, struct splay_tree_key_s)
8467 (struct gomp_memory_mapping, struct acc_dispatch_t)
8468 (struct gomp_device_descr, gomp_acc_insert_pointer)
8469 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8470 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8471 (gomp_free_memmap, gomp_fini_device): New declarations.
8472 (gomp_vdebug, gomp_debug): New macros.
8473 Include "splay-tree.h".
8474 * libgomp.map (OACC_2.0): New symbol version. Use for
8475 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8476 acc_set_device_type_h_, acc_get_device_type,
8477 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8478 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8479 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8480 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8481 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8482 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8483 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8484 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8485 acc_copyin_array_h_, acc_present_or_copyin,
8486 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8487 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8488 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8489 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8490 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8491 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8492 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8493 acc_update_device, acc_update_device_32_h_,
8494 acc_update_device_64_h_, acc_update_device_array_h_,
8495 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8496 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8497 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8498 acc_is_present_64_h_, acc_is_present_array_h_,
8499 acc_memcpy_to_device, acc_memcpy_from_device,
8500 acc_get_current_cuda_device, acc_get_current_cuda_context,
8501 acc_get_cuda_stream, acc_set_cuda_stream.
8502 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8503 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8504 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8505 GOACC_get_num_threads.
8506 (GOMP_PLUGIN_1.0): New symbol version. Use for
8507 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8508 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8509 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8510 GOMP_PLUGIN_acc_thread.
8511 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8512 environment variable.
8513 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8514 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8515 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8516 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8517 (splay_tree_remove): New declarations.
8518 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8519 (splay_tree_remove, splay_tree_lookup): Move into...
8520 * splay-tree.c: ... this new file.
8521 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8522 (splay_tree_node, splay_tree, splay_tree_key)
8523 (struct target_mem_desc, struct splay_tree_key_s)
8524 (struct gomp_device_descr): Don't declare.
8525 (num_devices_openmp): New variable.
8526 (gomp_get_num_devices ): Use it.
8527 (gomp_init_targets_once): New function.
8528 (gomp_get_num_devices ): Use it.
8529 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8530 (gomp_fini_device, gomp_register_image_for_device): New functions.
8531 (gomp_map_vars): Add devaddrs parameter.
8532 (gomp_update): Add mm parameter.
8533 (gomp_init_device): Move most of it into...
8534 (gomp_init_tables): ... this new function.
8535 (gomp_register_images_for_device): Remove function.
8536 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8537 Make them hidden instead of static.
8538 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8539 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8540 (GOMP_target_end_data, GOMP_target_update)
8541 (gomp_load_plugin_for_device, gomp_target_init): Update for
8542 OpenACC changes.
8543 * oacc-async.c: New file.
8544 * oacc-cuda.c: Likewise.
8545 * oacc-host.c: Likewise.
8546 * oacc-init.c: Likewise.
8547 * oacc-int.h: Likewise.
8548 * oacc-mem.c: Likewise.
8549 * oacc-parallel.c: Likewise.
8550 * oacc-plugin.c: Likewise.
8551 * oacc-plugin.h: Likewise.
8552 * oacc-ptx.h: Likewise.
8553 * openacc.f90: Likewise.
8554 * openacc.h: Likewise.
8555 * openacc_lib.h: Likewise.
8556 * plugin/plugin-host.c: Likewise.
8557 * plugin/plugin-nvptx.c: Likewise.
8558 * libgomp-plugin.c: Likewise.
8559 * libgomp-plugin.h: Likewise.
8560 * libgomp_target.h: Remove file after merging content into the
8561 former file. Update all users.
8562 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8563 (offload_targets_s, offload_targets_s_openacc): New variables.
8564 (check_effective_target_openacc_nvidia_accel_present)
8565 (check_effective_target_openacc_nvidia_accel_selected): New
8566 procedures.
8567 (libgomp_init): Update for OpenACC changes.
8568 * testsuite/libgomp-test-support.exp.in: New file.
8569 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8570 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8571 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8572 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8573 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8574 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8575 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8576 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8577 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8578 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8579 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8580 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8581 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8582 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8584 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8585 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8586 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8587 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8588 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8589 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8590 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8591 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8592 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8593 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8594 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8595 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8596 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8597 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8598 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8599 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8600 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8601 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8602 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8603 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8604 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8605 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8606 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8607 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8608 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8609 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8610 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8611 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8612 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8613 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8614 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8615 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8616 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8617 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8618 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8619 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8620 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8621 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8622 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8623 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8624 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8625 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8626 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8627 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8628 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8629 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8630 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8631 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8632 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8633 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8634 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8635 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8636 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8637 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8638 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8639 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8640 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8641 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8642 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8643 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8644 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8645 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8646 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8647 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8648 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8649 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8650 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8651 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8652 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8653 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8654 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8655 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8656 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8657 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8658 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8659 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8660 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8661 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8662 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8663 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8664 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8665 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8666 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8667 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8668 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8669 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8670 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8671 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8672 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8673 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8674 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8675 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8676 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8677 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8678 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8679 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8680 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8681 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8682 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8683 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8684 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8685 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8686 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8687 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8688 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8689 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8690 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8691 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8692 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8693 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8694 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8695 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8696 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8697 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8698 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8699 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8700 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8701 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8702 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8703 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8704 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8705 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8706 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8707 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8708 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8709 Likewise.
8710 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8711 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8712 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8713 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8714 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8715 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8716 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8717 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8718 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8719 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8720 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8721 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8722 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8723 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8724 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8725 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8726 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8727 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8728 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8729 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8730 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8731 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8732 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8733 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8734 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8735 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8736 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8737 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8738 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8739 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8740 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8741 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8742 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8743 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8744 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8745 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8746 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8747 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8748 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8749 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8750 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8751 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8752 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8753 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8754 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8755 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8756 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8757 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8758 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8759 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8760 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8761 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8762 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8763 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8764 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8765 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8766 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8767 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8768 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8769 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8770
8771 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8772 Julian Brown <julian@codesourcery.com>
8773 David Malcolm <dmalcolm@redhat.com>
8774
8775 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8776 to "GNU Offloading and Multi Processing Runtime Library". Change
8777 all users.
8778 * configure: Regenerate.
8779 * libgomp.texi: Update.
8780
8781 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8782
8783 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8784 "$tgt_dir/lib32".
8785 * configure: Regenerate.
8786
8787 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8788 "intelmic" in $offload_targets.
8789
8790 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8791
8792 Update copyright years.
8793
8794 * libgomp.texi: Bump @copying's copyright year.
8795
8796 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8797
8798 * testsuite/lib/libgomp.exp: Load target-utils.exp.
8799 Move load of target-supports.exp earlier.
8800
8801 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8802
8803 * testsuite/libgomp.c/target-9.c: New test.
8804
8805 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8806
8807 * config.h.in: Regenerate.
8808 * configure: Regenerate.
8809 * configure.ac: Add GCC_CHECK_EMUTLS.
8810 * libgomp.h: Add check for USE_EMUTLS: this case
8811 is equal to HAVE_TLS.
8812 * team.c: Likewise.
8813
8814 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
8815
8816 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8817
8818 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8819 Ilya Verbin <ilya.verbin@intel.com>
8820
8821 * testsuite/libgomp.c/target-critical-1.c: New test.
8822
8823 2014-11-26 Jakub Jelinek <jakub@redhat.com>
8824
8825 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
8826 to dg-options unless expensive testing is on.
8827 (TESTITERS): Define to N if not defined.
8828 (main): Use TESTITERS instead of N.
8829 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8830 dg-additional-options depending on whether expensive testing is on.
8831 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8832 Decrease N to 100000 and CHUNKSZ to 10000.
8833
8834 2014-11-24 Jakub Jelinek <jakub@redhat.com>
8835
8836 PR fortran/63938
8837 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8838 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
8839
8840 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
8841
8842 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8843
8844 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8845
8846 PR bootstrap/63784
8847 * configure: Regenerated.
8848
8849 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
8850
8851 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8852 vect_simd_clones effective target.
8853 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8854
8855 2014-11-14 Jakub Jelinek <jakub@redhat.com>
8856
8857 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8858 of 32 as block_size.
8859 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8860 instead of 32 as block_size.
8861
8862 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8863 Ilya Verbin <ilya.verbin@intel.com>
8864
8865 * Makefile.in: Regenerate.
8866 * configure: Regenerate.
8867 * configure.ac: Set up offload_additional_options,
8868 offload_additional_lib_paths and offload_targets.
8869 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8870 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8871 * testsuite/Makefile.in: Regenerate.
8872 * testsuite/lib/libgomp.exp (libgomp_init): Append
8873 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8874 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8875 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8876
8877 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8878 Ilya Verbin <ilya.verbin@intel.com>
8879 Kirill Yukhin <kirill.yukhin@intel.com>
8880 Ilya Tocar <ilya.tocar@intel.com>
8881
8882 * testsuite/lib/libgomp.exp
8883 (check_effective_target_offload_device): New.
8884 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8885 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8886 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8887 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8888 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8889 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8890 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8891 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8892 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8893 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8894 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8895 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8896 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8897 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8898 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8899 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8900 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8901 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8902 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8903 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8904 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8905 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8906 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8907 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8908 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8909 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8910 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8911 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8912 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8913 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8914 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8915 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8916 * testsuite/libgomp.c/target-7.c: Fix test.
8917 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8918 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8919 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8920 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8921 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8922 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8923 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8924 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8925 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8926 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8927 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8928 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8929 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8930 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8931 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8932 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8933 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8934 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8935 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8936 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8937 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8938 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8939 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8940 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8941 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8942 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8943 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8944 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8945 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8946 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8947 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8948
8949 2014-11-13 Jakub Jelinek <jakub@redhat.com>
8950 Ilya Verbin <ilya.verbin@intel.com>
8951 Thomas Schwinge <thomas@codesourcery.com>
8952 Andrey Turetskiy <andrey.turetskiy@intel.com>
8953
8954 * libgomp.map (GOMP_4.0.1): New symbol version.
8955 Add GOMP_offload_register.
8956 * libgomp_target.h: New file.
8957 * splay-tree.h: New file.
8958 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8959 (gomp_target_init): New forward declaration.
8960 (gomp_is_initialized): New static variable.
8961 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8962 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8963 New structures.
8964 (offload_images, num_offload_images, devices, num_devices): New static
8965 variables.
8966 (splay_compare): New static function.
8967 (struct gomp_device_descr): New structure.
8968 (gomp_get_num_devices): Call gomp_target_init.
8969 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8970 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8971 (GOMP_offload_register): New function.
8972 (GOMP_target): Arrange for host callback to be performed in a separate
8973 initial thread and contention group, inheriting ICVs from
8974 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8975 Add device initialization and lookup for target function in splay tree.
8976 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8977 (GOMP_target_end_data): Call gomp_unmap_vars.
8978 (GOMP_target_update): Add device initialization and call gomp_update.
8979 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8980 (gomp_target_init): New static functions.
8981
8982 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8983 Thomas Schwinge <thomas@codesourcery.com>
8984 Ilya Verbin <ilya.verbin@intel.com>
8985 Andrey Turetskiy <andrey.turetskiy@intel.com>
8986
8987 * config.h.in: Regenerate.
8988 * configure: Regenerate.
8989 * configure.ac: Check for libdl, required for plugin support.
8990 (PLUGIN_SUPPORT): Define if plugins are supported.
8991 (enable_offload_targets): Support Intel MIC targets.
8992 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8993
8994 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8995
8996 PR target/63610
8997 * configure: Regenerate.
8998
8999 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9000
9001 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9002
9003 2014-10-06 Marek Polacek <polacek@redhat.com>
9004
9005 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9006 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9007 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9008 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9009
9010 2014-10-06 Marek Polacek <polacek@redhat.com>
9011
9012 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9013 * testsuite/libgomp.c/nqueens-1.c: Likewise.
9014 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9015 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9016 * testsuite/libgomp.c/pr36802-2.c: Likewise.
9017 * testsuite/libgomp.c/pr36802-3.c: Likewise.
9018 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9019 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9020 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9021 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9022 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9023 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9024 * testsuite/libgomp.c/omp-single-1.c: Likewise.
9025 * testsuite/libgomp.c/omp-single-2.c: Likewise.
9026 * testsuite/libgomp.c/omp_matvec.c: Likewise.
9027 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9028 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9029 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
9030 declarations.
9031
9032 2014-10-03 Jakub Jelinek <jakub@redhat.com>
9033
9034 PR libgomp/61200
9035 * testsuite/libgomp.c/pr61200.c: New test.
9036
9037 2014-09-18 Jakub Jelinek <jakub@redhat.com>
9038
9039 PR c++/63248
9040 * testsuite/libgomp.c++/pr63248.C: New test.
9041
9042 2014-08-04 Jakub Jelinek <jakub@redhat.com>
9043
9044 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9045 is not zero, but taskgroup->children is NULL and there are
9046 any task->children, schedule those instead of waiting.
9047 * testsuite/libgomp.c/depend-6.c: New test.
9048 * testsuite/libgomp.c/depend-7.c: New test.
9049 * testsuite/libgomp.c/depend-8.c: New test.
9050 * testsuite/libgomp.c/depend-9.c: New test.
9051 * testsuite/libgomp.c/depend-10.c: New test.
9052
9053 2014-08-01 Jakub Jelinek <jakub@redhat.com>
9054
9055 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9056 (struct gomp_taskwait): New type.
9057 (struct gomp_task): Add taskwait and parent_depends_on, remove
9058 in_taskwait and taskwait_sem fields.
9059 (gomp_finish_task): Don't destroy taskwait_sem.
9060 * task.c (gomp_init_task): Don't init in_taskwait, instead init
9061 taskwait and parent_depends_on.
9062 (GOMP_task): For if (0) tasks with depend clause that depend on
9063 earlier tasks don't defer them, instead call
9064 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9065 Initialize redundant_out field, for redundant out entries just
9066 move them at the end of linked list instead of removing them
9067 completely, and set redundant_out flag instead of redundant.
9068 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9069 that task.
9070 (gomp_task_run_post_handle_dependers): If parent is in
9071 gomp_task_maybe_wait_for_dependencies and newly runnable task
9072 is not parent_depends_on, queue it in parent->children linked
9073 list after all runnable tasks with parent_depends_on set.
9074 Adjust for addition of taskwait indirection.
9075 (gomp_task_run_post_remove_parent): If parent is in
9076 gomp_task_maybe_wait_for_dependencies and task to be removed
9077 is parent_depends_on, decrement n_depend and if needed awake
9078 parent. Adjust for addition of taskwait indirection.
9079 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9080 (gomp_task_maybe_wait_for_dependencies): New function.
9081 * testsuite/libgomp.c/depend-5.c: New test.
9082
9083 2014-07-13 Tobias Burnus <burnus@net-b.de>
9084
9085 * testsuite/libgomp.fortran/pr34020.f90: Make compile
9086 with TS 18508/Fortran 2015.
9087
9088 2014-07-06 Marek Polacek <polacek@redhat.com>
9089
9090 PR c/6940
9091 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9092
9093 2014-07-03 Jakub Jelinek <jakub@redhat.com>
9094
9095 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9096 matches regex $lang_source_re, add $lang_include_flags to options.
9097 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9098 * testsuite/libgomp.c++/c++.exp: Likewise.
9099 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9100 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9101 ALWAYS_CFLAGS.
9102 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9103
9104 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9105
9106 * testsuite/libgomp.fortran/fortran.exp: Explain
9107 gfortran-dg-runtest usage.
9108
9109 2014-06-25 Jakub Jelinek <jakub@redhat.com>
9110
9111 * testsuite/libgomp.fortran/simd5.f90: New test.
9112 * testsuite/libgomp.fortran/simd6.f90: New test.
9113 * testsuite/libgomp.fortran/simd7.f90: New test.
9114
9115 2014-06-24 Jakub Jelinek <jakub@redhat.com>
9116
9117 * testsuite/libgomp.c/for-2.c: Define SC to static for
9118 #pragma omp for simd testing.
9119 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9120 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9121 SC macro.
9122 * testsuite/libgomp.c/simd-14.c: New test.
9123 * testsuite/libgomp.c/simd-15.c: New test.
9124 * testsuite/libgomp.c/simd-16.c: New test.
9125 * testsuite/libgomp.c/simd-17.c: New test.
9126 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9127 #pragma omp for simd testing.
9128 * testsuite/libgomp.c++/simd10.C: New test.
9129 * testsuite/libgomp.c++/simd11.C: New test.
9130 * testsuite/libgomp.c++/simd12.C: New test.
9131 * testsuite/libgomp.c++/simd13.C: New test.
9132
9133 * testsuite/libgomp.fortran/aligned1.f03: New test.
9134 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9135 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9136 tasks with !$omp parallel !$omp single.
9137 * testsuite/libgomp.fortran/target8.f90: New test.
9138 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9139 not to use trim in the combiner, instead call elemental function.
9140 (fn): New elemental function.
9141 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9142 Make elemental.
9143 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9144 omp_in): Likewise.
9145 * testsuite/libgomp.fortran/udr12.f90: New test.
9146 * testsuite/libgomp.fortran/udr13.f90: New test.
9147 * testsuite/libgomp.fortran/udr14.f90: New test.
9148 * testsuite/libgomp.fortran/udr15.f90: New test.
9149
9150 2014-06-18 Jakub Jelinek <jakub@redhat.com>
9151
9152 * omp_lib.f90.in (openmp_version): Set to 201307.
9153 * omp_lib.h.in (openmp_version): Likewise.
9154 * testsuite/libgomp.c/target-8.c: New test.
9155 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9156 and inbranch clauses.
9157 * testsuite/libgomp.fortran/depend-3.f90: New test.
9158 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9159 openmp_version.
9160 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9161 * testsuite/libgomp.fortran/target1.f90: New test.
9162 * testsuite/libgomp.fortran/target2.f90: New test.
9163 * testsuite/libgomp.fortran/target3.f90: New test.
9164 * testsuite/libgomp.fortran/target4.f90: New test.
9165 * testsuite/libgomp.fortran/target5.f90: New test.
9166 * testsuite/libgomp.fortran/target6.f90: New test.
9167 * testsuite/libgomp.fortran/target7.f90: New test.
9168
9169 2014-06-10 Jakub Jelinek <jakub@redhat.com>
9170
9171 PR fortran/60928
9172 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9173 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9174 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9175 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9176 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9177 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9178 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9179 * testsuite/libgomp.fortran/associate1.f90: New test.
9180 * testsuite/libgomp.fortran/associate2.f90: New test.
9181 * testsuite/libgomp.fortran/procptr1.f90: New test.
9182
9183 2014-06-06 Jakub Jelinek <jakub@redhat.com>
9184
9185 * testsuite/libgomp.fortran/simd1.f90: New test.
9186 * testsuite/libgomp.fortran/udr1.f90: New test.
9187 * testsuite/libgomp.fortran/udr2.f90: New test.
9188 * testsuite/libgomp.fortran/udr3.f90: New test.
9189 * testsuite/libgomp.fortran/udr4.f90: New test.
9190 * testsuite/libgomp.fortran/udr5.f90: New test.
9191 * testsuite/libgomp.fortran/udr6.f90: New test.
9192 * testsuite/libgomp.fortran/udr7.f90: New test.
9193 * testsuite/libgomp.fortran/udr8.f90: New test.
9194 * testsuite/libgomp.fortran/udr9.f90: New test.
9195 * testsuite/libgomp.fortran/udr10.f90: New test.
9196 * testsuite/libgomp.fortran/udr11.f90: New test.
9197
9198 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
9199
9200 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9201 vect_simd_clones effective target.
9202 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9203
9204 2014-05-21 Jakub Jelinek <jakub@redhat.com>
9205
9206 PR middle-end/61252
9207 * testsuite/libgomp.c++/simd-9.C: New test.
9208
9209 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
9210
9211 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9212 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9213 texts according to their @menu entry positions.
9214
9215 2014-05-11 Jakub Jelinek <jakub@redhat.com>
9216
9217 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9218 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9219 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9220 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9221 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9222 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9223 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9224 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9225 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9226 * testsuite/libgomp.fortran/depend-1.f90: New test.
9227 * testsuite/libgomp.fortran/depend-2.f90: New test.
9228 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9229 * testsuite/libgomp.fortran/simd1.f90: New test.
9230 * testsuite/libgomp.fortran/simd2.f90: New test.
9231 * testsuite/libgomp.fortran/simd3.f90: New test.
9232 * testsuite/libgomp.fortran/simd4.f90: New test.
9233 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9234
9235 2014-05-02 Jakub Jelinek <jakub@redhat.com>
9236
9237 * testsuite/libgomp.c/simd-10.c: New test.
9238 * testsuite/libgomp.c/simd-11.c: New test.
9239 * testsuite/libgomp.c/simd-12.c: New test.
9240 * testsuite/libgomp.c/simd-13.c: New test.
9241
9242 2014-04-24 Jakub Jelinek <jakub@redhat.com>
9243
9244 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9245 atomic type clauses in any order and optional comma in between.
9246 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9247 * testsuite/libgomp.c/atomic-17.c: Likewise.
9248
9249 * testsuite/libgomp.c/simd-7.c: New test.
9250 * testsuite/libgomp.c/simd-8.c: New test.
9251 * testsuite/libgomp.c/simd-9.c: New test.
9252 * testsuite/libgomp.c/loop-16.c: New test.
9253
9254 2014-04-02 Richard Henderson <rth@redhat.com>
9255
9256 * config/linux/futex.h (futex_wait): Get error value from errno.
9257 (futex_wake): Likewise.
9258
9259 2014-03-25 Jakub Jelinek <jakub@redhat.com>
9260
9261 PR c++/60331
9262 * testsuite/libgomp.c++/udr-11.C: New test.
9263 * testsuite/libgomp.c++/udr-12.C: New test.
9264 * testsuite/libgomp.c++/udr-13.C: New test.
9265 * testsuite/libgomp.c++/udr-14.C: New test.
9266 * testsuite/libgomp.c++/udr-15.C: New test.
9267 * testsuite/libgomp.c++/udr-16.C: New test.
9268 * testsuite/libgomp.c++/udr-17.C: New test.
9269 * testsuite/libgomp.c++/udr-18.C: New test.
9270 * testsuite/libgomp.c++/udr-19.C: New test.
9271
9272 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9273
9274 Update copyright years
9275
9276 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9277
9278 * hashtab.h: Use the standard form for the copyright notice.
9279
9280 2014-01-02 Tobias Burnus <burnus@net-b.de>
9281
9282 * libgomp.texi: Bump @copying's copyright year.
9283
9284 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9285
9286 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9287 alloca () with __builtin_alloca ().
9288 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9289 * testsuite/libgomp.c/lock-3.c: Likewise.
9290 * testsuite/libgomp.c/pr48591.c: Likewise.
9291
9292 2013-12-17 Jakub Jelinek <jakub@redhat.com>
9293
9294 PR testsuite/59534
9295 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9296 comparisons.
9297
9298 2013-12-16 Jakub Jelinek <jakub@redhat.com>
9299
9300 PR libgomp/58756
9301 * testsuite/libgomp.c/pr58756.c: New test.
9302
9303 2013-12-12 Jakub Jelinek <jakub@redhat.com>
9304
9305 PR libgomp/59467
9306 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9307 !$omp parallel.
9308
9309 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9310
9311 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9312 ALWAYS_CFLAGS.
9313 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9314 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9315 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9316 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9317 Likewise.
9318
9319 * libgomp_g.h: Include <stddef.h> for size_t.
9320
9321 * libgomp.spec.in: Update comment about libgomp's dependencies.
9322 * configure.ac: Likewise.
9323 * configure: Regenerate.
9324
9325 2013-10-16 Tobias Burnus <burnus@net-b.de>
9326
9327 * libgomp.texi: (Runtime Library Routines): Update references for
9328 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9329 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9330 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9331 (Environment Variables): Update references for OpenMP 4.0. Add
9332 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9333 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9334 order.
9335
9336 2013-10-14 Jakub Jelinek <jakub@redhat.com>
9337
9338 * env.c (parse_bind_var): Initialize value to avoid
9339 (false positive) warning.
9340
9341 2013-10-12 Jakub Jelinek <jakub@redhat.com>
9342
9343 PR libgomp/58691
9344 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9345 to check variable.
9346 (gomp_init_num_threads): Move i variable declaration into
9347 #ifdef CPU_ALLOC_SIZE block.
9348 * config/linux/affinity.c (gomp_affinity_init_level): Test
9349 gomp_places_list_len == 0 rather than gomp_places_list == 0
9350 when checking for topology reading error.
9351 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9352 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9353 gomp_places_list, only parse env var and always return false.
9354 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9355 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9356 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9357 and either of these variables were parsed correctly into a places
9358 list.
9359
9360 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9361 Jakub Jelinek <jakub@redhat.com>
9362
9363 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9364 of 5 loopfn matches.
9365 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9366 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9367 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9368 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9369 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9370 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9371 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9372 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9373
9374 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9375
9376 * Makefile.am (omp_lib.mod): Streamline rule.
9377 * Makefile.in: Regenerate.
9378
9379 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9380 exceptions.
9381
9382 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9383 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9384 * testsuite/libgomp.fortran/lib2.f: Likewise.
9385 * testsuite/libgomp.fortran/lib3.f: Likewise.
9386
9387 * configure.ac: Typo fix.
9388 * configure: Regenerate.
9389
9390 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9391 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9392
9393 * omp.h.in: Don't touch the user's namespace.
9394
9395 2013-10-11 Jakub Jelinek <jakub@redhat.com>
9396 Tobias Burnus <burnus@net-b.de>
9397 Richard Henderson <rth@redhat.com>
9398
9399 * target.c: New file.
9400 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9401 * Makefile.in: Regenerated.
9402 * libgomp_g.h (GOMP_task): Add depend argument.
9403 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9404 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9405 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9406 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9407 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9408 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9409 GOMP_taskgroup_start, GOMP_taskgroup_end,
9410 GOMP_parallel_sections): New prototypes.
9411 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9412 (omp_is_initial_device_): New function.
9413 (ULP, STR1, STR2, ialias_redirect): Removed.
9414 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9415 omp_set_default_device_8_, omp_get_default_device_,
9416 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9417 functions.
9418 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9419 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9420 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9421 @@GOMP_4.0.
9422 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9423 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9424 omp_set_default_device, omp_set_default_device_,
9425 omp_set_default_device_8_, omp_get_default_device,
9426 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9427 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9428 omp_get_team_num_): Export @@OMP_4.0.
9429 * team.c (struct gomp_thread_start_data): Add place field.
9430 (gomp_thread_start): Clear thr->thread_pool and
9431 thr->task before returning. Use gomp_team_barrier_wait_final
9432 instead of gomp_team_barrier_wait. Initialize thr->place.
9433 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9434 team_cancelled and task_queued_count fields.
9435 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9436 before calling pthread_exit.
9437 (gomp_free_thread): No longer static. Use
9438 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9439 (gomp_team_start): Add flags argument. Set
9440 thr->thread_pool->threads_busy to nthreads immediately after creating
9441 new pool. Use gomp_managed_threads_lock instead of
9442 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9443 (gomp_team_end): Use gomp_managed_threads_lock instead of
9444 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9445 of gomp_team_barrier_wait. If team->team_cancelled, call
9446 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
9447 rather than thr->ts.work_share.
9448 (initialize_team): Don't call gomp_sem_init here.
9449 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9450 caller.
9451 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9452 * env.c (gomp_global_icv): Add default_device_var, target_data and
9453 bind_var initializers.
9454 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9455 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9456 gomp_places_list_len): New variables.
9457 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9458 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9459 sized places.
9460 (gomp_cancel_var): New global variable.
9461 (parse_int): New function.
9462 (handle_omp_display_env): New function.
9463 (initialize_env): Use it. Initialize default_device_var.
9464 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9465 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9466 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9467 been successfully parsed (and call gomp_init_affinity in that case).
9468 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9469 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9470 omp_get_team_num, omp_is_initial_device): New functions.
9471 * libgomp.h: Include stdlib.h.
9472 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9473 Define.
9474 (struct target_mem_desc): Forward declare.
9475 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9476 and thread_limit_var fields.
9477 (gomp_get_num_devices): New prototype.
9478 (gomp_cancel_var): New extern decl.
9479 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9480 team_cancelled and task_queued_count fields. Add comments about
9481 task_{,queued_,running_}count.
9482 (gomp_cancel_kind): New enum.
9483 (gomp_work_share_end_cancel): New prototype.
9484 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9485 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9486 and depend fields.
9487 (struct gomp_taskgroup): New type.
9488 (struct gomp_task_depend_entry,
9489 struct gomp_dependers_vec): New types.
9490 (gomp_finish_task): Free depend_hash if non-NULL.
9491 (struct gomp_team_state): Add place_partition_off
9492 and place_partition_len fields.
9493 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9494 gomp_places_list_len): New extern decls.
9495 (struct gomp_thread): Add place field.
9496 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9497 (gomp_init_thread_affinity): Add place argument.
9498 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9499 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9500 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9501 gomp_affinity_init_level, gomp_affinity_print_place): New
9502 prototypes.
9503 (gomp_team_start): Add flags argument.
9504 (gomp_thread_limit_var, gomp_remaining_threads_count,
9505 gomp_remaining_threads_lock): Remove.
9506 (gomp_managed_threads_lock): New variable.
9507 (struct gomp_thread_pool): Add threads_busy field.
9508 (gomp_free_thread): New prototype.
9509 * task.c: Include hashtab.h.
9510 (hash_entry_type): New typedef.
9511 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9512 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9513 copy_ctors_done and taskgroup fields.
9514 (GOMP_task): Add depend argument, handle depend clauses. If
9515 gomp_team_barrier_cancelled or if it's taskgroup has been
9516 cancelled, don't queue or start new tasks. Set copy_ctors_done
9517 field if needed. Initialize taskgroup field. If copy_ctors_done
9518 and already cancelled, don't discard the task. If taskgroup is
9519 non-NULL, enqueue the task into taskgroup queue. Increment
9520 num_children field in taskgroup. Increment task_queued_count.
9521 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9522 gomp_task_run_post_remove_taskgroup): New inline functions.
9523 (gomp_task_run_post_handle_depend_hash,
9524 gomp_task_run_post_handle_dependers,
9525 gomp_task_run_post_handle_depend): New functions.
9526 (GOMP_taskwait): Use them. If more than one new tasks
9527 have been queued, wake other threads if needed.
9528 (gomp_barrier_handle_tasks): Likewise. If
9529 gomp_team_barrier_cancelled, don't start any new tasks, just free
9530 all tasks.
9531 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9532 * omp_lib.f90.in
9533 (omp_proc_bind_kind, omp_proc_bind_false,
9534 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9535 omp_proc_bind_spread): New params.
9536 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9537 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9538 omp_get_team_num, omp_is_initial_device): New interfaces.
9539 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9540 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9541 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9542 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9543 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9544 useless use omp_lib_kinds.
9545 * omp.h.in (omp_proc_bind_t): New typedef.
9546 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9547 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9548 omp_get_team_num, omp_is_initial_device): New prototypes.
9549 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9550 through to gomp_team_start.
9551 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9552 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9553 Adjust gomp_parallel_loop_start callers.
9554 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9555 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9556 GOMP_loop_end_cancel): New functions.
9557 (GOMP_parallel_end): Add ialias_redirect.
9558 * hashtab.h: New file.
9559 * libgomp.texi (Environment Variables): Minor cleanup,
9560 update section refs to OpenMP 4.0rc2.
9561 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9562 environment variables.
9563 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9564 team->work_shares_to_free to thr->ts.work_share before calling
9565 free_work_share.
9566 (gomp_work_share_end_cancel): New function.
9567 * config/linux/proc.c: Include errno.h.
9568 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9569 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9570 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9571 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9572 gomp_cpuset_size is sizeof (cpu_set_t).
9573 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9574 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9575 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9576 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9577 contain any logical CPUs.
9578 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9579 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9580 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9581 pthread_getaffinity_np. Check gomp_places_list instead of
9582 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9583 * config/linux/bar.c (gomp_barrier_wait_end,
9584 gomp_barrier_wait_last): Use BAR_* defines.
9585 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9586 from state where needed. Set work_share_cancelled to 0 on last
9587 thread.
9588 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9589 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9590 functions.
9591 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9592 Add cpusetsize argument.
9593 (gomp_cpuset_size, gomp_cpusetp): Declare.
9594 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9595 (affinity_counter): Remove.
9596 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9597 if CPU_ALLOC_SIZE isn't defined.
9598 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9599 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9600 bind current thread to the first place.
9601 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9602 pthread_setaffinity_np to gomp_places_list[place].
9603 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9604 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9605 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9606 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9607 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9608 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9609 (gomp_barrier_t): Add awaited_final field.
9610 (gomp_barrier_init): Initialize awaited_final field.
9611 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9612 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9613 prototypes.
9614 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9615 defines.
9616 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9617 gomp_team_barrier_cancelled): New inline functions.
9618 (gomp_barrier_last_thread,
9619 gomp_team_barrier_set_task_pending,
9620 gomp_team_barrier_clear_task_pending,
9621 gomp_team_barrier_set_waiting_for_tasks,
9622 gomp_team_barrier_waiting_for_tasks,
9623 gomp_team_barrier_done): Use BAR_* defines.
9624 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9625 (gomp_barrier_wait_end): Use BAR_* defines.
9626 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9627 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9628 Use BAR_* defines.
9629 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9630 gomp_team_barrier_cancel): New functions.
9631 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9632 argument.
9633 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9634 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9635 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9636 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9637 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9638 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9639 (gomp_barrier_t): Add cancellable field.
9640 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9641 gomp_team_barrier_cancel): New prototypes.
9642 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9643 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9644 gomp_team_barrier_cancelled): New inline functions.
9645 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9646 gomp_team_barrier_set_task_pending,
9647 gomp_team_barrier_clear_task_pending,
9648 gomp_team_barrier_set_waiting_for_tasks,
9649 gomp_team_barrier_waiting_for_tasks,
9650 gomp_team_barrier_done): Use BAR_* defines.
9651 * barrier.c (GOMP_barrier_cancel): New function.
9652 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9653 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9654 omp_proc_bind_spread): New params.
9655 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9656 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9657 omp_get_team_num, omp_is_initial_device): New externals.
9658 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9659 New functions.
9660 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9661 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9662 infinity. If not nested, just return minimum of max_num_threads
9663 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9664 to the returned value. Otherwise, don't update atomically
9665 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9666 (GOMP_parallel_end): Adjust for thread_limit now being in
9667 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9668 infinity. Adjust threads_busy in the pool rather than
9669 gomp_remaining_threads_count. Remember team->nthreads and call
9670 gomp_team_end before adjusting threads_busy, if not nested
9671 afterwards, just set it to 1 non-atomically. Add ialias.
9672 (GOMP_parallel_start): Adjust gomp_team_start caller.
9673 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9674 * testsuite/libgomp.c/affinity-1.c: New test.
9675 * testsuite/libgomp.c/atomic-15.c: New test.
9676 * testsuite/libgomp.c/atomic-16.c: New test.
9677 * testsuite/libgomp.c/atomic-17.c: New test.
9678 * testsuite/libgomp.c/cancel-for-1.c: New test.
9679 * testsuite/libgomp.c/cancel-for-2.c: New test.
9680 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9681 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9682 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9683 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9684 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9685 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9686 * testsuite/libgomp.c/depend-1.c: New test.
9687 * testsuite/libgomp.c/depend-2.c: New test.
9688 * testsuite/libgomp.c/depend-3.c: New test.
9689 * testsuite/libgomp.c/depend-4.c: New test.
9690 * testsuite/libgomp.c/for-1.c: New test.
9691 * testsuite/libgomp.c/for-1.h: New file.
9692 * testsuite/libgomp.c/for-2.c: New test.
9693 * testsuite/libgomp.c/for-2.h: New file.
9694 * testsuite/libgomp.c/for-3.c: New test.
9695 * testsuite/libgomp.c/pr58392.c: New test.
9696 * testsuite/libgomp.c/simd-1.c: New test.
9697 * testsuite/libgomp.c/simd-2.c: New test.
9698 * testsuite/libgomp.c/simd-3.c: New test.
9699 * testsuite/libgomp.c/simd-4.c: New test.
9700 * testsuite/libgomp.c/simd-5.c: New test.
9701 * testsuite/libgomp.c/simd-6.c: New test.
9702 * testsuite/libgomp.c/target-1.c: New test.
9703 * testsuite/libgomp.c/target-2.c: New test.
9704 * testsuite/libgomp.c/target-3.c: New test.
9705 * testsuite/libgomp.c/target-4.c: New test.
9706 * testsuite/libgomp.c/target-5.c: New test.
9707 * testsuite/libgomp.c/target-6.c: New test.
9708 * testsuite/libgomp.c/target-7.c: New test.
9709 * testsuite/libgomp.c/taskgroup-1.c: New test.
9710 * testsuite/libgomp.c/thread-limit-1.c: New test.
9711 * testsuite/libgomp.c/thread-limit-2.c: New test.
9712 * testsuite/libgomp.c/thread-limit-3.c: New test.
9713 * testsuite/libgomp.c/udr-1.c: New test.
9714 * testsuite/libgomp.c/udr-2.c: New test.
9715 * testsuite/libgomp.c/udr-3.c: New test.
9716 * testsuite/libgomp.c++/affinity-1.C: New test.
9717 * testsuite/libgomp.c++/atomic-10.C: New test.
9718 * testsuite/libgomp.c++/atomic-11.C: New test.
9719 * testsuite/libgomp.c++/atomic-12.C: New test.
9720 * testsuite/libgomp.c++/atomic-13.C: New test.
9721 * testsuite/libgomp.c++/atomic-14.C: New test.
9722 * testsuite/libgomp.c++/atomic-15.C: New test.
9723 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9724 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9725 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9726 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9727 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9728 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9729 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9730 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9731 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9732 * testsuite/libgomp.c++/cancel-test.h: New file.
9733 * testsuite/libgomp.c++/for-9.C: New test.
9734 * testsuite/libgomp.c++/for-10.C: New test.
9735 * testsuite/libgomp.c++/for-11.C: New test.
9736 * testsuite/libgomp.c++/simd-1.C: New test.
9737 * testsuite/libgomp.c++/simd-2.C: New test.
9738 * testsuite/libgomp.c++/simd-3.C: New test.
9739 * testsuite/libgomp.c++/simd-4.C: New test.
9740 * testsuite/libgomp.c++/simd-5.C: New test.
9741 * testsuite/libgomp.c++/simd-6.C: New test.
9742 * testsuite/libgomp.c++/simd-7.C: New test.
9743 * testsuite/libgomp.c++/simd-8.C: New test.
9744 * testsuite/libgomp.c++/target-1.C: New test.
9745 * testsuite/libgomp.c++/target-2.C: New test.
9746 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9747 * testsuite/libgomp.c++/target-3.C: New test.
9748 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9749 * testsuite/libgomp.c++/udr-1.C: New test.
9750 * testsuite/libgomp.c++/udr-2.C: New test.
9751 * testsuite/libgomp.c++/udr-3.C: New test.
9752 * testsuite/libgomp.c++/udr-4.C: New test.
9753 * testsuite/libgomp.c++/udr-5.C: New test.
9754 * testsuite/libgomp.c++/udr-6.C: New test.
9755 * testsuite/libgomp.c++/udr-7.C: New test.
9756 * testsuite/libgomp.c++/udr-8.C: New test.
9757 * testsuite/libgomp.c++/udr-9.C: New test.
9758
9759 2013-09-20 Jakub Jelinek <jakub@redhat.com>
9760
9761 PR testsuite/57605
9762 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9763 ALWAYS_CFLAGS.
9764
9765 2013-09-20 Alan Modra <amodra@gmail.com>
9766
9767 * configure: Regenerate.
9768
9769 2013-09-19 Jakub Jelinek <jakub@redhat.com>
9770
9771 * testsuite/libgomp.c/sections-2.c: New test.
9772
9773 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9774
9775 * testsuite/libgomp.fortran/strassen.f90:
9776 Add dg-skip-if aarch64_tiny.
9777
9778 2013-06-20 Iain Sandoe <iain@codesourcery.com>
9779 Cesar Philippidis <cesar@codesourcery.com>
9780
9781 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9782 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9783 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9784 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9785 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9786 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9787 Use dg-runtest rather than gfortran-dg-runtest.
9788
9789 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9790
9791 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9792 Linux-based x86 systems to cover all GNU systems.
9793 * testsuite/libgomp.c/lock-3.c: Likewise.
9794 * testsuite/libgomp.c/pr48591.c: Likewise.
9795
9796 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9797
9798 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9799 GNU/Hurd, as done for Linux-based systems.
9800
9801 * config/posix/ptrlock.h: Fix comment.
9802
9803 2013-05-27 Tobias Burnus <burnus@net-b.de>
9804
9805 PR fortran/57423
9806 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9807 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9808 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9809 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9810 omp_destroy_nest_lock): Correct arguments to match the one in
9811 the OpenMP spec.
9812 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9813 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9814 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9815 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9816
9817 2013-05-16 Jakub Jelinek <jakub@redhat.com>
9818
9819 * testsuite/libgomp.c/loop-13.c: New test.
9820 * testsuite/libgomp.c/loop-14.c: New test.
9821 * testsuite/libgomp.c/loop-15.c: New test.
9822 * testsuite/libgomp.c++/loop-13.C: New test.
9823 * testsuite/libgomp.c++/loop-14.C: New test.
9824 * testsuite/libgomp.c++/loop-15.C: New test.
9825
9826 2013-02-06 Jakub Jelinek <jakub@redhat.com>
9827
9828 PR middle-end/56217
9829 * testsuite/libgomp.c++/pr56217.C: New test.
9830
9831 2013-02-01 Alan Modra <amodra@gmail.com>
9832
9833 * task.c (GOMP_task, GOMP_taskwait): Comment.
9834
9835 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9836 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9837
9838 PR libgomp/55561
9839 * config/linux/wait.h (do_spin): Use atomic load for addr.
9840 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9841 for intptr and ptrlock.
9842 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9843 for ptrlock.
9844
9845 2013-01-22 Alan Modra <amodra@gmail.com>
9846
9847 PR libgomp/51376
9848 PR libgomp/56073
9849 * task.c (GOMP_task): Revert 2011-12-09 change.
9850 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9851 barrier to read task->children..
9852 (gomp_barrier_handle_tasks): ..and matching atomic store with
9853 release barrier here when setting parent->children to NULL.
9854
9855 2013-01-16 Jakub Jelinek <jakub@redhat.com>
9856 Tobias Burnus <burnus@net-b.de>
9857
9858 PR driver/55884
9859 * testsuite/libgomp.fortran/fortran.exp: Use
9860 -fintrinsic-modules-path= instead of
9861 -fintrinsic-modules-path.
9862
9863 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9864
9865 Update copyright years.
9866
9867 2012-12-19 Tobias Burnus <burnus@net-b.de>
9868
9869 * testsuite/libgomp.fortran/fortran.exp: Set
9870 -fintrinsic-modules-path.
9871
9872 2012-12-19 Tobias Burnus <burnus@net-b.de>
9873
9874 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9875 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9876
9877 2012-11-21 Jakub Jelinek <jakub@redhat.com>
9878
9879 PR libgomp/55411
9880 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9881 if pool had any threads_used.
9882
9883 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9884
9885 * testsuite/libgomp.c++/pr24455.C: Use
9886 -Wl,-undefined,dynamic_lookup on darwin.
9887
9888 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
9889
9890 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9891
9892 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9893
9894 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9895
9896 2012-10-23 Ian Bolton <ian.bolton@arm.com>
9897 Jim MacArthur <jim.macarthur@arm.com>
9898 Marcus Shawcroft <marcus.shawcroft@arm.com>
9899 Nigel Stephens <nigel.stephens@arm.com>
9900 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9901 Richard Earnshaw <rearnsha@arm.com>
9902 Sofiane Naci <sofiane.naci@arm.com>
9903 Stephen Thomas <stephen.thomas@arm.com>
9904 Tejas Belagod <tejas.belagod@arm.com>
9905 Yufeng Zhang <yufeng.zhang@arm.com>
9906
9907 * configure.tgt: Add AArch64.
9908
9909 2012-10-04 Jason Merrill <jason@redhat.com>
9910
9911 * testsuite/libgomp.c++/tls-init1.C: New.
9912
9913 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
9914
9915 * configure: Regenerated.
9916
9917 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9918
9919 * config/linux/mips/futex.h (sys_futex0): Change to static
9920 function with noinline, nomips16 attributes under MIPS16. Adjust
9921 asm statement to place 'li v0,SYS_futex' immediately before
9922 syscall insn.
9923
9924 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9925
9926 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9927 conflict with index.html on case-insensitive file systems.
9928
9929 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
9930
9931 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9932 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9933
9934 2012-07-02 Richard Guenther <rguenther@suse.de>
9935 Michael Matz <matz@suse.de>
9936 Tobias Grosser <tobias@grosser.es>
9937 Sebastian Pop <sebpop@gmail.com>
9938
9939 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9940 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9941 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9942 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9943
9944 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9945
9946 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9947
9948 2012-06-22 Richard Guenther <rguenther@suse.de>
9949
9950 Merge from graphite branch
9951 2012-01-13 Tobias Grosser <tobias@grosser.es>
9952
9953 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9954 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9955
9956 2012-06-07 Jakub Jelinek <jakub@redhat.com>
9957
9958 PR middle-end/53580
9959 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9960 use GOMP_barrier () call instead.
9961 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9962 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9963 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9964 call GOMP_barrier instead.
9965 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9966
9967 2012-06-06 Jakub Jelinek <jakub@redhat.com>
9968
9969 PR libgomp/52993
9970 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9971 argument to memset call.
9972
9973 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9974
9975 * configure: Regenerated.
9976
9977 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9978
9979 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9980
9981 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9982
9983 PR bootstrap/52812
9984 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9985
9986 2012-03-22 Jakub Jelinek <jakub@redhat.com>
9987
9988 PR middle-end/52547
9989 * testsuite/libgomp.c/pr52547.c: New test.
9990
9991 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9992
9993 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9994
9995 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9996
9997 * configure.tgt (mips-sgi-irix6*): Remove.
9998
9999 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10000
10001 * configure.tgt (alpha*-dec-osf*): Remove.
10002
10003 * config/osf/sem.h: Remove.
10004 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10005
10006 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
10007
10008 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10009
10010 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10011
10012 PR libstdc++/52188
10013 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10014 Remove ENABLE_SYMVERS_SOL2.
10015 * configure: Regenerate.
10016 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10017 (PREPROCESS): New variable.
10018 (libgomp.ver): New target.
10019 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10020 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10021 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10022 Use libgomp.ver.
10023 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10024 * Makefile.in: Regenerate.
10025
10026 2012-02-14 Walter Lee <walt@tilera.com>
10027
10028 * configure.tgt: Handle tilegx and tilepro.
10029 * config/linux/tile/futex.h: New file.
10030
10031 2012-02-08 Richard Guenther <rguenther@suse.de>
10032
10033 PR tree-optimization/46886
10034 * testsuite/libgomp.c/pr46886.c: New testcase.
10035
10036 2012-01-25 Matthias Klose <doko@ubuntu.com>
10037
10038 * config/linux/arm: Remove empty directory.
10039 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10040
10041 2011-12-09 Alan Modra <amodra@gmail.com>
10042
10043 PR libgomp/51376
10044 * task.c (GOMP_taskwait): Don't access task->children outside of
10045 task_lock mutex region.
10046 (GOMP_task): Likewise.
10047
10048 2011-12-06 Jakub Jelinek <jakub@redhat.com>
10049
10050 PR libgomp/51132
10051 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10052 to file scope.
10053 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10054 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10055 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10056 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10057 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10058
10059 2011-12-02 Alan Modra <amodra@gmail.com>
10060
10061 * config/linux/affinity.c: Use atomic rather than sync builtin.
10062 * config/linux/lock.c: Likewise.
10063 * config/linux/ptrlock.h: Likewise.
10064 * config/linux/ptrlock.c: Likewise.
10065 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10066 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10067 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10068 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10069 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10070 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10071 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10072 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10073 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10074 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10075
10076 2011-11-30 Alan Modra <amodra@gmail.com>
10077
10078 PR libgomp/51298
10079 * config/linux/bar.h: Use atomic rather than sync builtins.
10080 * config/linux/bar.c: Likewise. Add missing acquire
10081 synchronisation on generation field.
10082 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10083 double unlock.
10084
10085 2011-11-30 Alan Modra <amodra@gmail.com>
10086
10087 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10088 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10089 * config/linux/mutex.h: Use atomic rather than sync builtins.
10090 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10091 * config/linux/omp-lock.h: Comment fix.
10092 * config/linux/arm/mutex.h: Delete.
10093 * config/linux/powerpc/mutex.h: Delete.
10094 * config/linux/ia64/mutex.h: Delete.
10095 * config/linux/mips/mutex.h: Delete.
10096
10097 2011-11-30 Alan Modra <amodra@gmail.com>
10098
10099 PR libgomp/51249
10100 * config/linux/sem.h: Rewrite.
10101 * config/linux/sem.c: Rewrite.
10102
10103 2011-11-28 Richard Henderson <rth@redhat.com>
10104
10105 * libgomp.h (enum memmodel): New.
10106
10107 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
10108
10109 * configure: Regenerate.
10110
10111 2011-10-10 Matthias Klose <doko@ubuntu.com>
10112
10113 * config/posix95: Remove empty directory.
10114
10115 2011-08-26 Jakub Jelinek <jakub@redhat.com>
10116
10117 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10118
10119 2011-08-19 Jakub Jelinek <jakub@redhat.com>
10120
10121 PR fortran/49792
10122 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10123 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10124
10125 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10126
10127 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10128
10129 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10130
10131 PR libgomp/49965
10132 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10133
10134 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
10135
10136 * config/linux/proc.h: New.
10137 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10138 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10139 (gomp_init_num_threads): Update call to cpuset_popcount.
10140 (get_num_procs): Ditto.
10141 * config/linux/affinity.c (gomp_init_affinity): Call
10142 gomp_cpuset_popcount.
10143
10144 2011-08-02 Jakub Jelinek <jakub@redhat.com>
10145
10146 PR fortran/42041
10147 PR fortran/46752
10148 * omp.h.in (omp_in_final): New prototype.
10149 * omp_lib.f90.in (omp_in_final): New interface.
10150 (omp_integer_kind, omp_logical_kind): Remove
10151 and replace all its uses in the module with 4.
10152 (openmp_version): Change to 201107.
10153 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10154 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10155 kind for the parameters.
10156 (omp_in_final): New external.
10157 (openmp_version): Change to 201107.
10158 * task.c (omp_in_final): New function.
10159 (gomp_init_task): Initialize final_task.
10160 (GOMP_task): Remove unused attribute from flags. Handle final
10161 tasks.
10162 (GOMP_taskyield): New function.
10163 (omp_in_final): Return true if if (false) or final (true) task
10164 or descendant of final (true).
10165 * fortran.c (omp_in_final_): New function.
10166 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10167 (GOMP_3.0): Export GOMP_taskyield.
10168 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10169 variables.
10170 (parse_unsigned_long_list): New function.
10171 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10172 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10173 even if parse_affinity returned false.
10174 * config/linux/affinity.c (gomp_init_affinity): Handle
10175 gomp_cpu_affinity_len == 0.
10176 * libgomp_g.h (GOMP_taskyield): New prototype.
10177 * libgomp.h (struct gomp_task): Add final_task field.
10178 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10179 * team.c (gomp_team_start): Override new task's nthreads_var icv
10180 if list form OMP_NUM_THREADS has been used and it has value for
10181 the new nesting level.
10182
10183 * testsuite/libgomp.c/atomic-11.c: New test.
10184 * testsuite/libgomp.c/atomic-12.c: New test.
10185 * testsuite/libgomp.c/atomic-13.c: New test.
10186 * testsuite/libgomp.c/atomic-14.c: New test.
10187 * testsuite/libgomp.c/reduction-6.c: New test.
10188 * testsuite/libgomp.c/task-5.c: New test.
10189 * testsuite/libgomp.c++/atomic-2.C: New test.
10190 * testsuite/libgomp.c++/atomic-3.C: New test.
10191 * testsuite/libgomp.c++/atomic-4.C: New test.
10192 * testsuite/libgomp.c++/atomic-5.C: New test.
10193 * testsuite/libgomp.c++/atomic-6.C: New test.
10194 * testsuite/libgomp.c++/atomic-7.C: New test.
10195 * testsuite/libgomp.c++/atomic-8.C: New test.
10196 * testsuite/libgomp.c++/atomic-9.C: New test.
10197 * testsuite/libgomp.c++/task-8.C: New test.
10198 * testsuite/libgomp.c++/reduction-4.C: New test.
10199 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10200 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10201 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10202 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10203 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10204 * testsuite/libgomp.fortran/pointer1.f90: New test.
10205 * testsuite/libgomp.fortran/pointer2.f90: New test.
10206 * testsuite/libgomp.fortran/task4.f90: New test.
10207
10208 2011-08-02 Tobias Burnus <burnus@net-b.de>
10209
10210 * libgomp.texi: Update OpenMP spec references to 3.1.
10211 (omp_in_final,OMP_PROC_BIND): New sections.
10212 (OMP_NUM_THREADS): Document that the value can be now a list.
10213 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10214
10215 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10216
10217 * config/linux/x86/futex.h: Check __x86_64__ instead of
10218 __LP64__.
10219
10220 2011-07-29 Jakub Jelinek <jakub@redhat.com>
10221
10222 PR middle-end/49897
10223 PR middle-end/49898
10224 * testsuite/libgomp.c/pr49897-1.c: New test.
10225 * testsuite/libgomp.c/pr49897-2.c: New test.
10226 * testsuite/libgomp.c/pr49898-1.c: New test.
10227 * testsuite/libgomp.c/pr49898-2.c: New test.
10228
10229 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10230
10231 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10232 for ia32 instead of ilp32.
10233
10234 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10235 * testsuite/libgomp.c/atomic-6.c: Likewise.
10236
10237 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10238
10239 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10240 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10241
10242 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10243
10244 PR libgomp/45351
10245 * config/osf/sem.h: New file.
10246 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10247
10248 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10249
10250 PR target/49541
10251 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10252 ldflags.
10253
10254 2011-07-15 Jakub Jelinek <jakub@redhat.com>
10255
10256 * config/linux/wait.h (do_spin): New inline, largely copied
10257 from do_wait, just don't do futex_wait here, instead return true if
10258 it should be done.
10259 (do_wait): Implement using do_spin.
10260 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10261 to prototype.
10262 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10263 __sync_bool_compare_and_swap, pass the oldval to
10264 gomp_mutex_lock_slow.
10265 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10266 If all mutex contenders are just spinning and not sleeping, don't
10267 change state to 2 unnecessarily. Optimize the loop when state has
10268 already become 2 to use just one atomic operation per loop instead
10269 of two.
10270 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10271 to prototype.
10272 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10273 __sync_bool_compare_and_swap, pass the oldval to
10274 gomp_mutex_lock_slow.
10275
10276 2011-06-22 Jakub Jelinek <jakub@redhat.com>
10277
10278 PR libgomp/49490
10279 * iter.c (gomp_iter_static_next): For chunk size 0
10280 only use n ceil/ nthreads size for the first
10281 n % nthreads threads in the team instead of
10282 all threads except for the last few ones which
10283 get less work or none at all.
10284 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10285 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10286 chunk argument, set run_sched_modifier to 0 for static
10287 resp. 1 for other kinds. If chunk argument is 0
10288 and not static, set value to 1.
10289
10290 2011-05-19 Jakub Jelinek <jakub@redhat.com>
10291
10292 PR c++/49043
10293 * testsuite/libgomp.c++/pr49043.C: New test.
10294
10295 PR c++/48869
10296 * testsuite/libgomp.c++/pr48869.C: New test.
10297
10298 2011-05-06 Jakub Jelinek <jakub@redhat.com>
10299
10300 PR fortran/48894
10301 * fortran.c: Include limits.h.
10302 (TO_INT): Define.
10303 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10304 *set.
10305 (omp_set_num_threads_8_, omp_set_schedule_8_,
10306 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10307 omp_get_team_size_8_): Use TO_INT macro.
10308 * testsuite/libgomp.fortran/pr48894.f90: New test.
10309
10310 2011-04-13 Jakub Jelinek <jakub@redhat.com>
10311
10312 PR middle-end/48591
10313 * testsuite/libgomp.c/pr48591.c: New test.
10314
10315 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10316
10317 PR bootstrap/48135
10318 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10319 * configure: Regenerate.
10320
10321 2011-02-27 Jakub Jelinek <jakub@redhat.com>
10322
10323 PR fortran/47886
10324 * testsuite/libgomp.fortran/task3.f90: New test.
10325
10326 2011-02-24 Tobias Burnus <burnus@net-b.de>
10327
10328 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10329
10330 2011-02-23 Jakub Jelinek <jakub@redhat.com>
10331
10332 PR libgomp/47854
10333 * libgomp.texi (omp_get_wtime): Don't say time in the past
10334 must be Unix Epoch.
10335
10336 2011-02-18 Jakub Jelinek <jakub@redhat.com>
10337
10338 PR libgomp/47804
10339 * testsuite/libgomp.fortran/fortran.exp: Check for both
10340 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10341 but $blddir != "", still append ${blddir}/${lang_library_path}
10342 to ld_library_path.
10343
10344 2011-02-16 Tobias Burnus <burnus@net-b.de>
10345
10346 PR libgomp/47758
10347 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10348 of libquadmath.a before adding its libpath to ldflags.
10349
10350 2011-02-14 Jakub Jelinek <jakub@redhat.com>
10351
10352 PR libgomp/47731
10353 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10354 to FUTEX_WAIT futex syscall.
10355 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10356
10357 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10358
10359 * configure: Regenerate.
10360
10361 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10362
10363 PR libstdc++/36104
10364 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10365
10366 2011-01-16 Gerald Pfeifer
10367
10368 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10369
10370 2010-12-14 Jakub Jelinek <jakub@redhat.com>
10371
10372 PR fortran/46874
10373 * libgomp.fortran/allocatable6.f90: New test.
10374
10375 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10376
10377 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10378 * configure: Regenerate.
10379
10380 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10381
10382 PR target/40125
10383 PR lto/46695
10384 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10385 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10386 * aclocal.m4: Regenerate.
10387 * configure: Regenerate.
10388 * Makefile.in: Regenerate.
10389 * testsuite/Makefile.in: Regenerate.
10390
10391 2010-12-02 Jakub Jelinek <jakub@redhat.com>
10392
10393 PR fortran/46753
10394 * libgomp.fortran/pr46753.f90: New test.
10395
10396 PR libgomp/43706
10397 * env.c (initialize_env): Default to spin count 300000
10398 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10399 is specified.
10400
10401 PR libgomp/45240
10402 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10403 at the end if sync builtins aren't supported.
10404
10405 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10406
10407 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10408
10409 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10410
10411 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10412
10413 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10414
10415 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10416
10417 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10418 Tobias Burnus <burnus@net-b.de>
10419
10420 PR fortran/32049
10421 * configure.ac:
10422 * configure: Regenerate.
10423
10424 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10425
10426 * config/linux/futex.h: New.
10427 * config/linux/arm/mutex.h: New.
10428 * configure.tgt (arm*-*-linux*): Add config path.
10429
10430 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10431
10432 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10433
10434 2010-09-23 Tobias Burnus <burnus@net-b.de>
10435
10436 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10437 Change Fortran datatype to LOGICAL.
10438 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10439 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10440
10441 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10442
10443 * configure: Regenerate.
10444
10445 2010-07-26 Jakub Jelinek <jakub@redhat.com>
10446
10447 * libgomp.texi: Add function keyword to a couple of Fortran
10448 interfaces, use integer instead of int for Fortran.
10449
10450 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
10451
10452 * libgomp.texi: Fix spelling and pasto problems throughout.
10453 Adjust prototypes to match code.
10454
10455 2010-07-24 Tobias Burnus <burnus@net-b.de>
10456
10457 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10458 silence -fwhole-file warning.
10459
10460 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10461
10462 * configure.tgt (*-*-solaris2.[56]*): Removed.
10463
10464 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10465
10466 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10467 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10468 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10469 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10470 targetting solaris2*.
10471 * configure: Regenerate.
10472 * config.h.in: Regenerate.
10473
10474 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10475 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10476 Add libgomp_version_dep.
10477 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10478 versioning.
10479 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10480 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10481 * Makefile.in: Regenerate.
10482
10483 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10484 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10485 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10486 to common block, protected by
10487 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10488
10489 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10490
10491 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10492
10493 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10494
10495 PR bootstrap/43170
10496 * configure: Regenerate.
10497
10498 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10499
10500 PR other/43620
10501 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10502 * configure: Regenerate.
10503 * Makefile.in: Regenerate.
10504 * testsuite/Makefile.in: Regenerate.
10505
10506 2010-04-26 Jakub Jelinek <jakub@redhat.com>
10507
10508 PR c/43893
10509 * testsuite/libgomp.c/pr43893.c: New test.
10510 * testsuite/libgomp.c++/pr43893.C: New test.
10511
10512 2010-04-21 Jakub Jelinek <jakub@redhat.com>
10513
10514 PR middle-end/43570
10515 * testsuite/libgomp.fortran/vla8.f90: New test.
10516
10517 2010-04-20 Jakub Jelinek <jakub@redhat.com>
10518
10519 PR libgomp/43706
10520 * config/linux/affinity.c (gomp_init_affinity): Decrease
10521 gomp_available_cpus if affinity mask confines the process to fewer
10522 CPUs.
10523 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10524 non-NULL, just return gomp_available_cpus.
10525
10526 PR libgomp/43569
10527 * sections.c (gomp_sections_init): Initialize ws->mode.
10528
10529 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10530
10531 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10532 not unused bar variable.
10533 * configure: Regenerate.
10534
10535 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10536
10537 * Makefile.in: Regenerate.
10538 * aclocal.m4: Regenerate.
10539 * testsuite/Makefile.in: Regenerate.
10540
10541 2010-03-22 Jakub Jelinek <jakub@redhat.com>
10542
10543 PR libgomp/42942
10544 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10545 (initialize_env): Adjust callers.
10546 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10547 when the argument is 0.
10548
10549 * testsuite/libgomp.c/pr42942.c: New test.
10550
10551 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10552
10553 PR middle-end/42644
10554 PR middle-end/42130
10555 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10556 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10557
10558 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10559
10560 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10561 * testsuite/libgomp.c++/task-6.C: Likewise.
10562
10563 2010-01-28 Steve Ellcey <sje@cup.hp.com>
10564
10565 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10566
10567 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
10568
10569 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10570 * configure: Regenerate.
10571
10572 2010-01-26 Jakub Jelinek <jakub@redhat.com>
10573
10574 PR fortran/42866
10575 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10576
10577 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
10578
10579 * configure.ac: Test for executability of GFORTRAN.
10580 * configure: Regenerate.
10581
10582 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10583
10584 * configure: Regenerate.
10585
10586 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10587
10588 PR libgomp/42602
10589 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10590
10591 2010-01-03 Richard Guenther <rguenther@suse.de>
10592
10593 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10594
10595 2009-12-23 Sebastian Pop <sebpop@gmail.com>
10596
10597 * testsuite/libgomp.graphite/pr4118.c: New.
10598
10599 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10600
10601 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10602 for darwin, protect the test with require-effective-target tls_runtime.
10603 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10604
10605 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10606
10607 PR target/41605
10608 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10609 link spec %s substitutions for static libraries.
10610
10611 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10612
10613 PR testsuite/42135
10614 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10615
10616 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10617
10618 * Makefile.in: Regenerate.
10619 * configure: Regenerate.
10620 * testsuite/Makefile.in: Regenerate.
10621
10622 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10623
10624 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10625 settings for LC_ALL and LANG.
10626
10627 2009-11-25 Jakub Jelinek <jakub@redhat.com>
10628
10629 PR fortran/42162
10630 * testsuite/libgomp.fortran/pr42162.f90: New test.
10631
10632 2009-11-13 Jakub Jelinek <jakub@redhat.com>
10633
10634 PR middle-end/42029
10635 * testsuite/libgomp.c/pr42029.c: New test.
10636
10637 2009-10-26 Jakub Jelinek <jakub@redhat.com>
10638
10639 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10640 *s. Accept ld version without text in ()s.
10641 * configure: Regenerated.
10642
10643 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
10644
10645 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10646
10647 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10648
10649 PR libgomp/41418
10650 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10651 or a hyphen (happens with fortran language disabled).
10652 * configure: Regenerate.
10653
10654 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10655
10656 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10657 use sed script portable to Solaris /bin/sed for extracting ld
10658 version.
10659 * configure: Regenerate.
10660
10661 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
10662
10663 * testsuite/libgomp.graphite/bounds.c: New test.
10664
10665 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10666
10667 * Makefile.am (libgomp_la_LINK): New.
10668 * Makefile.in: Regenerate.
10669
10670 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10671
10672 * configure.ac (AC_PREREQ): Bump to 2.64.
10673
10674 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10675
10676 * Makefile.am (install-html, install-pdf): Remove.
10677 * Makefile.in: Regenerate.
10678
10679 * Makefile.in: Regenerate.
10680 * aclocal.m4: Regenerate.
10681 * config.h.in: Regenerate.
10682 * configure: Regenerate.
10683 * testsuite/Makefile.in: Regenerate.
10684
10685 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10686
10687 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10688 * Makefile.in: Regenerate.
10689
10690 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10691
10692 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10693 * Makefile.in: Regenerate.
10694
10695 2009-08-19 Tobias Burnus <burnus@net-b.de>
10696
10697 PR fortran/41102
10698 omp_lib.h.in: Fix -std=f95 errors.
10699
10700 2009-08-14 David Edelsohn <edelsohn@gnu.org>
10701
10702 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10703 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10704 * testsuite/libgomp.graphite/graphite.exp: New.
10705
10706 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10707
10708 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10709 only build.
10710
10711 2009-08-04 David Daney <ddaney@caviumnetworks.com>
10712
10713 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10714 needed memory barrier semantics.
10715 * config/linux/mips/mutex.h: New file.
10716
10717 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10718
10719 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10720
10721 2009-07-16 Joseph Myers <joseph@codesourcery.com>
10722
10723 * configure: Regenerate.
10724
10725 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10726
10727 PR testsuite/40699
10728 PR testsuite/40707
10729 PR testsuite/40709
10730 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10731 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10732 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10733
10734 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10735
10736 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10737 options when choosing a multilib.
10738
10739 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10740
10741 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10742 ld_library_path. Use add_path. Add just find_libgcc_s to
10743 ld_library_path, not every libgcc multilib directory.
10744 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10745 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10746 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10747 Use add_path.
10748 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10749
10750 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10751
10752 * Makefile.am (LTLDFLAGS): Define.
10753 (LINK): Define.
10754 * Makefile.in: Regenerate.
10755
10756 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10757
10758 PR fortran/39718
10759 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10760 libgfortranbegin, check existence of libgfortran.a instead of
10761 libgfortranbegin.a.
10762
10763 2009-05-20 Jakub Jelinek <jakub@redhat.com>
10764
10765 PR libgomp/40174
10766 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10767 (gomp_free_pool_helper): Likewise.
10768
10769 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10770 Jakub Jelinek <jakub@redhat.com>
10771
10772 PR fortran/35423
10773 * testsuite/libgomp.fortran/workshare2.f90: New test.
10774
10775 2009-04-09 Nick Clifton <nickc@redhat.com>
10776
10777 * iter.c: Change copyright header to refer to version 3 of the
10778 GNU General Public License with version 3.1 of the GCC Runtime
10779 Library Exception and to point readers at the COPYING3 and
10780 COPYING3.RUNTIME files and the FSF's license web page.
10781 * alloc.c: Likewise.
10782 * barrier.c: Likewise.
10783 * config/bsd/proc.c: Likewise.
10784 * config/linux/affinity.c: Likewise.
10785 * config/linux/alpha/futex.h: Likewise.
10786 * config/linux/bar.c: Likewise.
10787 * config/linux/bar.h: Likewise.
10788 * config/linux/ia64/futex.h: Likewise.
10789 * config/linux/ia64/mutex.h: Likewise.
10790 * config/linux/lock.c: Likewise.
10791 * config/linux/mips/futex.h: Likewise.
10792 * config/linux/mutex.c: Likewise.
10793 * config/linux/mutex.h: Likewise.
10794 * config/linux/powerpc/futex.h: Likewise.
10795 * config/linux/proc.c: Likewise.
10796 * config/linux/ptrlock.c: Likewise.
10797 * config/linux/ptrlock.h: Likewise.
10798 * config/linux/s390/futex.h: Likewise.
10799 * config/linux/sem.c: Likewise.
10800 * config/linux/sem.h: Likewise.
10801 * config/linux/sparc/futex.h: Likewise.
10802 * config/linux/wait.h: Likewise.
10803 * config/linux/x86/futex.h: Likewise.
10804 * config/mingw32/proc.c: Likewise.
10805 * config/mingw32/time.c: Likewise.
10806 * config/posix/affinity.c: Likewise.
10807 * config/posix/bar.c: Likewise.
10808 * config/posix/bar.h: Likewise.
10809 * config/posix/lock.c: Likewise.
10810 * config/posix/mutex.h: Likewise.
10811 * config/posix/proc.c: Likewise.
10812 * config/posix/ptrlock.h: Likewise.
10813 * config/posix/sem.c: Likewise.
10814 * config/posix/sem.h: Likewise.
10815 * config/posix/time.c: Likewise.
10816 * config/posix95/lock.c: Likewise.
10817 * critical.c: Likewise.
10818 * env.c: Likewise.
10819 * error.c: Likewise.
10820 * fortran.c: Likewise.
10821 * iter_ull.c: Likewise.
10822 * libgomp.h: Likewise.
10823 * libgomp_f.h.in: Likewise.
10824 * libgomp_g.h: Likewise.
10825 * loop.c: Likewise.
10826 * loop_ull.c: Likewise.
10827 * omp.h.in: Likewise.
10828 * omp_lib.f90.in: Likewise.
10829 * omp_lib.h.in: Likewise.
10830 * ordered.c: Likewise.
10831 * parallel.c: Likewise.
10832 * sections.c: Likewise.
10833 * single.c: Likewise.
10834 * task.c: Likewise.
10835 * team.c: Likewise.
10836 * work.c: Likewise.
10837
10838 2009-04-09 Jakub Jelinek <jakub@redhat.com>
10839
10840 * testsuite/config/default.exp: Change copyright header to refer to
10841 version 3 of the GNU General Public License and to point readers
10842 at the COPYING3 file and the FSF's license web page.
10843
10844 2009-04-08 Jakub Jelinek <jakub@redhat.com>
10845
10846 PR middle-end/39573
10847 * libgomp.c++/pr39573.C: New test.
10848
10849 2009-04-01 Jakub Jelinek <jakub@redhat.com>
10850
10851 PR other/39591
10852 * testsuite/libgomp.c/pr39591-1.c: New test.
10853 * testsuite/libgomp.c/pr39591-2.c: New test.
10854 * testsuite/libgomp.c/pr39591-3.c: New test.
10855
10856 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
10857
10858 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10859 * testsuite/libgomp.c/atomic-6.c: Ditto.
10860
10861 2009-03-23 Jakub Jelinek <jakub@redhat.com>
10862
10863 PR c/39495
10864 * testsuite/libgomp.c/loop-12.c: New test.
10865 * testsuite/libgomp.c/loop-11.c: New test.
10866 * testsuite/libgomp.c++/loop-11.C: New test.
10867 * testsuite/libgomp.c++/loop-12.C: New test.
10868 * testsuite/libgomp.c++/for-8.C: New test.
10869
10870 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10871
10872 * configure: Regenerate.
10873
10874 2009-02-11 Jakub Jelinek <jakub@redhat.com>
10875
10876 PR middle-end/39154
10877 * testsuite/libgomp.c/pr39154.c: New test.
10878
10879 2009-01-30 Ian Lance Taylor <iant@google.com>
10880
10881 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10882 libgomp_ld_is_gold. Get gold version number.
10883 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10884 * configure: Rebuild.
10885
10886 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10887
10888 * testsuite/lib/libgomp.exp: Add -B option for targets that
10889 use libgfortran.a%s in their specs.
10890
10891 2009-01-07 Jakub Jelinek <jakub@redhat.com>
10892
10893 PR libgomp/38086
10894 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10895 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10896 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10897 * configure: Regenerated.
10898 * config.h.in: Likewise.
10899
10900 2008-12-28 Jakub Jelinek <jakub@redhat.com>
10901
10902 PR c++/38650
10903 * testsuite/libgomp.c/pr38650.c: New test.
10904 * testsuite/libgomp.c++/pr38650.C: New test.
10905
10906 2008-12-27 Jakub Jelinek <jakub@redhat.com>
10907
10908 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10909
10910 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
10911
10912 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10913
10914 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10915
10916 * configure: Regenerate.
10917
10918 2008-12-08 Jakub Jelinek <jakub@redhat.com>
10919
10920 PR middle-end/36802
10921 * testsuite/libgomp.c/pr36802-1.c: New test.
10922 * testsuite/libgomp.c/pr36802-2.c: New test.
10923 * testsuite/libgomp.c/pr36802-3.c: New test.
10924
10925 2008-12-01 Janis Johnson <janis187@us.ibm.com>
10926
10927 PR libgomp/38270
10928 * config/linux/powerpc/mutex.h: New.
10929
10930 2008-12-01 Jakub Jelinek <jakub@redhat.com>
10931
10932 PR c++/38257
10933 * testsuite/libgomp.c++/for-7.C: New test.
10934
10935 PR c++/38348
10936 * testsuite/libgomp.c++/for-6.C: New test.
10937
10938 2008-11-26 Janis Johnson <janis187@us.ibm.com>
10939
10940 PR testsuite/28870
10941 * testsuite/lib/libgomp.exp: Include new timeout library files.
10942 (libgomp_target_compile): Set timeout value from new proc.
10943
10944 2008-11-13 Steve Ellcey <sje@cup.hp.com>
10945
10946 PR libgomp/37938
10947 * config/linux/ia64/mutex.h: New.
10948
10949 2008-11-04 Tobias Burnus <burnus@net-b.de>
10950
10951 PR libgomp/37935
10952 * libgomp.texi (Runtime library routines, environment variables):
10953 Update for OpenMP version 3.0.
10954
10955 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10956 Steve Ellcey <sje@cup.hp.com>
10957
10958 * configure: Regenerate for new libtool.
10959 * Makefile.in: Ditto.
10960 * testsuite/Makefile.in: Ditto.
10961
10962 2008-09-19 Jakub Jelinek <jakub@redhat.com>
10963 Andreas Tobler <a.tobler@schweiz.org>
10964
10965 * config/bsd/proc.c: New file.
10966 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
10967 * configure.ac: Check for header <sys/sysctl.h>
10968 * configure: Regenerate.
10969 * config.h.in: Likewise.
10970
10971 2008-09-05 Janis Johnson <janis187@us.ibm.com>
10972
10973 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10974
10975 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10976
10977 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10978 * Makefile.in: Regenerated.
10979 * testsuite/Makefile.in: Regenerated.
10980
10981 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
10982
10983 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
10984 depend on blddir if blddir exists.
10985 (libgomp_target_compile): Likewise.
10986 * testsuite/libgomp.c++/c++.exp: Likewise.
10987 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10988
10989 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10990
10991 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10992 Do not list GPL as Invariant Section.
10993
10994 2008-07-28 Ilie Garbacea <ilie@mips.com>
10995 Chao-ying Fu <fu@mips.com>
10996
10997 * configure.tgt: Enable futex for MIPS.
10998 * config/linux/mips/futex.h: New file.
10999
11000 2008-07-16 Jakub Jelinek <jakub@redhat.com>
11001
11002 * team.c (gomp_team_end): Free team immediately if it has
11003 just one thread.
11004
11005 2008-07-08 David Edelsohn <edelsohn@gnu.org>
11006
11007 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11008 * testsuite/libgomp.fortran/fortran.exp: Same.
11009 * testsuite/libgomp.c/c.exp: Same.
11010 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11011 directory to library path first.
11012
11013 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
11014
11015 * env.c (parse_stacksize): Add cast to avoid warning.
11016 (parse_spincount): Likewise.
11017
11018 2008-06-27 Jakub Jelinek <jakub@redhat.com>
11019
11020 * testsuite/libgomp.c/loop-10.c: New test.
11021 * libgomp.c/loop-3.c (main): Add lastprivate clause.
11022 * libgomp.c++/loop-6.C (main): Likewise.
11023
11024 PR debug/36617
11025 * testsuite/libgomp.c/debug-1.c: New test.
11026
11027 2008-06-19 Jakub Jelinek <jakub@redhat.com>
11028
11029 * testsuite/libgomp.c/nqueens-1.c: New test.
11030
11031 PR c++/36523
11032 * testsuite/libgomp.c++/task-7.C: New function.
11033
11034 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11035
11036 * configure: Regenerate.
11037
11038 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11039
11040 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11041 mutex when HAVE_SYNC_BUILTINS isn't defined.
11042
11043 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11044
11045 * libgomp.texi (omp_test_lock): Fix typo.
11046
11047 2008-06-12 Tobias Burnus <burnus@net-b.de>
11048
11049 * omp_lib.f90.in: Add "implicit none".
11050
11051 2008-06-12 Jakub Jelinek <jakub@redhat.com>
11052
11053 PR middle-end/36506
11054 * testsuite/libgomp.c/reduction-5.c: New test.
11055
11056 2008-06-11 Jakub Jelinek <jakub@redhat.com>
11057
11058 * libgomp.h (struct gomp_task): Add in_tied_task field.
11059 * task.c (gomp_init_task): Initialize it.
11060 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
11061 unconditionally. Don't call gomp_team_barrier_wake if
11062 current task is implicit or if(0) from implicit and number of
11063 running tasks is equal to nthreads - 1.
11064
11065 PR libgomp/36471
11066 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11067 omp_get_team_size_8): Fix pastos.
11068
11069 PR libgomp/36469
11070 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11071 * configure: Regenerated.
11072 * config.h.in: Regenerated.
11073 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11074 defined.
11075
11076 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
11077
11078 PR bootstrap/36452
11079 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11080 (GOMP_loop_ull_dynamic_start): Likewise.
11081 (GOMP_loop_ull_guided_start): Likewise.
11082 (GOMP_loop_ull_ordered_static_start): Likewise.
11083 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11084 (GOMP_loop_ull_ordered_guided_start): Likewise.
11085
11086 2008-06-06 Jakub Jelinek <jakub@redhat.com>
11087 Richard Henderson <rth@redhat.com>
11088 Ulrich Drepper <drepper@redhat.com>
11089 Jakob Blomer <jakob.blomer@ira.uka.de>
11090
11091 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11092 Substitute also OMP_*LOCK_25*.
11093 * configure: Regenerated.
11094 * config.h.in: Regenerated.
11095 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11096 ptrlock.c and task.c.
11097 * Makefile.in: Regenerated.
11098 * testsuite/Makefile.in: Regenerated.
11099 * task.c: New file.
11100 * loop_ull.c: New file.
11101 * iter_ull.c: New file.
11102 * libgomp.h: Include ptrlock.h.
11103 (enum gomp_task_kind): New type.
11104 (struct gomp_team): Add task_lock, task_queue, task_count,
11105 task_running_count, single_count fields. Add
11106 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11107 Remove work_share_lock, generation_mask,
11108 oldest_live_gen, num_live_gen and init_work_shares fields, add
11109 work work_share_list_alloc, work_share_list_free and work_share_chunk
11110 fields. Change work_shares from pointer to pointers into an array.
11111 Change ordered_release field into gomp_sem_t ** from flexible array
11112 member. Add implicit_task and initial_work_shares fields.
11113 Move close to the end of the struct.
11114 (struct gomp_team_state): Add single_count, last_work_share,
11115 active_level and level fields, remove work_share_generation.
11116 (gomp_barrier_handle_tasks): New prototype.
11117 (gomp_finish_task): New inline function.
11118 (struct gomp_work_share): Move chunk_size, end, incr into
11119 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11120 next_ll fields. Reshuffle fields. Add next_alloc,
11121 next_ws, next_free and inline_ordered_team_ids fields, change
11122 ordered_team_ids into pointer from flexible array member.
11123 Add mode field. Put lock and next into a different cache line
11124 from most of the write-once fields.
11125 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11126 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11127 gomp_iter_ull_guided_next): New prototypes.
11128 (gomp_new_icv): New prototype.
11129 (struct gomp_thread): Add thread_pool and task fields.
11130 (struct gomp_thread_pool): New type.
11131 (gomp_new_team): New prototype.
11132 (gomp_team_start): Change type of last argument.
11133 (gomp_new_work_share): Removed.
11134 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11135 (gomp_work_share_init_done): New static inline.
11136 (gomp_throttled_spin_count_var, gomp_available_cpus,
11137 gomp_managed_threads): New extern decls.
11138 (gomp_init_task): New prototype.
11139 (gomp_spin_count_var): New extern var decl.
11140 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11141 or no alias support, or if not PIC.
11142 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11143 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11144 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11145 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11146 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11147 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11148 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11149 gomp_test_nest_lock_25): New prototypes.
11150 (omp_lock_symver, strong_alias): Define.
11151 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11152 decls.
11153 (gomp_end_task): New.
11154 (struct gomp_task_icv, gomp_global_icv): New.
11155 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11156 (struct gomp_task): New.
11157 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11158 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11159 (gomp_icv): New.
11160 (gomp_schedule_type): Reorder enum to match
11161 omp_sched_t.
11162 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11163 fields.
11164 (gomp_thread_start): Add gomp_team_barrier_wait call.
11165 For non-nested case remove clearing of docked thread thr fields.
11166 Use pool fields instead of global gomp_* variables. Use
11167 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11168 Create tasks for each member thread.
11169 (free_team): Only destroy team barrier, task_lock here and free it.
11170 (gomp_free_thread): Free last_team if non-NULL.
11171 (gomp_team_end): Call gomp_team_barrier_wait instead of
11172 gomp_barrier_wait. For nested case call one extra
11173 gomp_barrier_wait. Move here some destruction from free_team.
11174 Call free_team on pool->last_team if any, rather than freeing
11175 current team. Destroy work_share_list_free_lock ifndef
11176 HAVE_SYNC_BUILTINS.
11177 (gomp_new_icv): New function.
11178 (gomp_threads, gomp_threads_size, gomp_threads_used,
11179 gomp_threads_dock): Removed.
11180 (gomp_thread_destructor): New variable.
11181 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11182 functions.
11183 (gomp_team_start): Create new pool if current thread doesn't have
11184 one. Use pool fields instead of global gomp_* variables.
11185 Initialize thread_pool field for new threads. Clear single_count.
11186 Change last argument from ws to team, don't create
11187 new team, set ts.work_share to &team->work_shares[0] and clear
11188 ts.last_work_share. Don't clear ts.work_share_generation.
11189 If number of threads changed, adjust atomically gomp_managed_threads.
11190 Use gomp_init_task instead of gomp_new_task,
11191 set thr->task to the corresponding implicit_task array entry.
11192 Create tasks for each member thread. Initialize ts.level.
11193 (initialize_team): Call pthread_key_create on
11194 gomp_thread_destructor.
11195 (team_destructor): New function.
11196 (new_team): Removed.
11197 (gomp_new_team): New function.
11198 (free_team): Free gomp_work_share blocks chained through next_alloc,
11199 instead of freeing work_shares and destroying work_share_lock.
11200 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11201 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11202 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11203 of gomp_barrier_wait.
11204 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11205 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11206 if gomp_work_share_start returned true. Don't unlock ws->lock.
11207 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11208 of gomp_barrier_wait.
11209 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11210 gomp_work_share_init_done if gomp_work_share_start returned true.
11211 Don't unlock ws->lock.
11212 * work.c: Include stddef.h.
11213 (free_work_share): Use work_share_list_free_lock instead
11214 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11215 Call gomp_fini_work_share and then either free ws if orphaned, or
11216 put it into work_share_list_free list of the current team.
11217 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11218 functions.
11219 (gomp_work_share_start, gomp_work_share_end,
11220 gomp_work_share_end_nowait): Rewritten.
11221 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11222 (openmp_version): Set to 200805.
11223 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11224 omp_sched_guided, omp_sched_auto): New parameters.
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 interfaces.
11229 * omp_lib.h.in (openmp_version): Set to 200805.
11230 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11231 omp_sched_guided, omp_sched_auto): New parameters.
11232 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11233 omp_set_max_active_levels, omp_get_max_active_levels,
11234 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11235 omp_get_active_level): New externals.
11236 * loop.c: Include limits.h.
11237 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11238 GFS_AUTO.
11239 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11240 Likewise. Use gomp_icv.
11241 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11242 ts.static_trip here.
11243 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11244 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11245 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11246 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11247 don't unlock ws->lock, otherwise lock it.
11248 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11249 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11250 (gomp_parallel_loop_start): Call gomp_new_team instead of
11251 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11252 Adjust gomp_team_start caller. Pass 0 as second argument to
11253 gomp_resolve_num_threads.
11254 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11255 If adding ws->chunk_size nthreads + 1 times after end won't
11256 overflow, set ws->mode to 1.
11257 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11258 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11259 GOMP_loop_ull_ordered_static_start,
11260 GOMP_loop_ull_ordered_dynamic_start,
11261 GOMP_loop_ull_ordered_guided_start,
11262 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11263 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11264 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11265 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11266 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11267 prototypes.
11268 * libgomp.map: Export lock routines also @@OMP_2.0.
11269 (GOMP_loop_ordered_dynamic_first,
11270 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11271 GOMP_loop_ordered_static_first): Remove.
11272 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11273 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11274 GOMP_loop_ull_ordered_dynamic_next,
11275 GOMP_loop_ull_ordered_dynamic_start,
11276 GOMP_loop_ull_ordered_guided_next,
11277 GOMP_loop_ull_ordered_guided_start,
11278 GOMP_loop_ull_ordered_runtime_next,
11279 GOMP_loop_ull_ordered_runtime_start,
11280 GOMP_loop_ull_ordered_static_next,
11281 GOMP_loop_ull_ordered_static_start,
11282 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11283 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11284 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11285 (omp_set_schedule, omp_get_schedule,
11286 omp_get_thread_limit, omp_set_max_active_levels,
11287 omp_get_max_active_levels, omp_get_level,
11288 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11289 omp_set_schedule_, omp_set_schedule_8_,
11290 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11291 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11292 omp_get_max_active_levels_, omp_get_level_,
11293 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11294 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11295 New exports @@OMP_3.0.
11296 * omp.h.in (omp_sched_t): New type.
11297 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11298 omp_set_max_active_levels, omp_get_max_active_levels,
11299 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11300 omp_get_active_level): New prototypes.
11301 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11302 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11303 gomp_thread_limit_var, gomp_remaining_threads_count,
11304 gomp_remaining_threads_lock): New variables.
11305 (parse_spincount): New function.
11306 (initialize_env): Call gomp_init_num_threads unconditionally.
11307 Initialize gomp_available_cpus. Call parse_spincount,
11308 initialize gomp_{,throttled_}spin_count_var
11309 depending on presence and value of OMP_WAIT_POLICY and
11310 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11311 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11312 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11313 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11314 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11315 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11316 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11317 (gomp_global_icv): New.
11318 (parse_schedule): Use it. Parse "auto".
11319 (omp_set_num_threads): Use gomp_icv.
11320 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11321 Likewise.
11322 (omp_get_max_threads): Move from parallel.c.
11323 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11324 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11325 add ialias.
11326 (parse_stacksize, parse_wait_policy): New functions.
11327 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11328 both wrappers for compatibility and new locks.
11329 (omp_set_schedule, omp_get_schedule,
11330 omp_get_thread_limit, omp_set_max_active_levels,
11331 omp_get_max_active_levels, omp_get_level,
11332 omp_get_ancestor_thread_num, omp_get_team_size,
11333 omp_get_active_level): New ialias_redirect.
11334 (omp_set_schedule_, omp_set_schedule_8_,
11335 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11336 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11337 omp_get_max_active_levels_, omp_get_level_,
11338 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11339 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11340 New functions.
11341 * parallel.c: Include limits.h.
11342 (gomp_resolve_num_threads): Add count argument. Rewritten.
11343 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11344 argument to gomp_team_start. Pass 0 as second argument to
11345 gomp_resolve_num_threads.
11346 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11347 if gomp_thread_limit_var != ULONG_MAX.
11348 (omp_in_parallel): Implement using ts.active_level.
11349 (omp_get_max_threads): Move to env.c.
11350 (omp_get_level, omp_get_ancestor_thread_num,
11351 omp_get_team_size, omp_get_active_level): New functions,
11352 add ialias.
11353 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11354 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11355 gomp_iter_dynamic_next instead of the _locked variant and don't take
11356 lock around it, otherwise acquire it before calling
11357 gomp_iter_dynamic_next_locked.
11358 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11359 gomp_iter_dynamic_next instead of the _locked variant and don't take
11360 lock around it.
11361 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11362 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11363 Adjust gomp_team_start caller. Pass count as second argument to
11364 gomp_resolve_num_threads, don't adjust num_threads after the call.
11365 Use gomp_icv.
11366 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11367 ws->chunk_size by incr.
11368 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11369 code.
11370 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11371 types.
11372 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11373 (omp_check_defines): Check even the compat defines.
11374 * config/linux/ptrlock.c: New file.
11375 * config/linux/ptrlock.h: New file.
11376 * config/linux/wait.h: New file.
11377 * config/posix/ptrlock.c: New file.
11378 * config/posix/ptrlock.h: New file.
11379 * config/linux/bar.h (gomp_team_barrier_wait,
11380 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11381 (gomp_team_barrier_set_task_pending,
11382 gomp_team_barrier_clear_task_pending,
11383 gomp_team_barrier_set_waiting_for_tasks,
11384 gomp_team_barrier_waiting_for_tasks,
11385 gomp_team_barrier_done): New inlines.
11386 (gomp_barrier_t): Rewritten.
11387 (gomp_barrier_state_t): New typedef.
11388 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11389 gomp_barrier_wait_start): Rewritten.
11390 (gomp_barrier_wait_end): Change second argument to
11391 gomp_barrier_state_t.
11392 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11393 inlines.
11394 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11395 futex.h.
11396 (gomp_barrier_wait_end): Rewritten.
11397 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11398 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11399 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11400 (gomp_barrier_state_t): New typedef.
11401 (gomp_team_barrier_wait,
11402 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11403 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11404 into the return value. Return gomp_barrier_state_t.
11405 (gomp_team_barrier_set_task_pending,
11406 gomp_team_barrier_clear_task_pending,
11407 gomp_team_barrier_set_waiting_for_tasks,
11408 gomp_team_barrier_waiting_for_tasks,
11409 gomp_team_barrier_done): New inlines.
11410 (gomp_barrier_wait_end): Change second argument to
11411 gomp_barrier_state_t.
11412 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11413 inlines.
11414 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11415 (gomp_barrier_wait_end): Change second argument to
11416 gomp_barrier_state_t.
11417 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11418 gomp_team_barrier_wake): New functions.
11419 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11420 futex.h.
11421 (gomp_futex_wake, gomp_futex_wait): New variables.
11422 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11423 * config/linux/lock.c: Rewrite to make locks task owned,
11424 for backwards compatibility provide the old entrypoints
11425 if symbol versioning. Include wait.h instead of libgomp.h and
11426 futex.h.
11427 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11428 * config/posix95/lock.c: Rewrite to make locks task owned,
11429 for backwards compatibility provide the old entrypoints
11430 if symbol versioning.
11431 * config/posix/lock.c: Rewrite to make locks task owned,
11432 for backwards compatibility provide the old entrypoints
11433 if symbol versioning.
11434 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11435 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11436 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11437 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11438 (sys_futex0): Return error code.
11439 (futex_wake, futex_wait): If ENOSYS was returned, clear
11440 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11441 (cpu_relax, atomic_write_barrier): New static inlines.
11442 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11443 (futex_wake, futex_wait): If ENOSYS was returned, clear
11444 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11445 (cpu_relax, atomic_write_barrier): New static inlines.
11446 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11447 (sys_futex0): Return error code.
11448 (futex_wake, futex_wait): If ENOSYS was returned, clear
11449 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11450 (cpu_relax, atomic_write_barrier): New static inlines.
11451 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11452 (sys_futex0): Return error code.
11453 (futex_wake, futex_wait): If ENOSYS was returned, clear
11454 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11455 (cpu_relax, atomic_write_barrier): New static inlines.
11456 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11457 (sys_futex0): Return error code.
11458 (futex_wake, futex_wait): If ENOSYS was returned, clear
11459 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11460 (cpu_relax, atomic_write_barrier): New static inlines.
11461 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11462 (sys_futex0): Return error code.
11463 (futex_wake, futex_wait): If ENOSYS was returned, clear
11464 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11465 (cpu_relax, atomic_write_barrier): New static inlines.
11466 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11467 futex.h.
11468 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11469 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11470 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11471 types.
11472 (omp_nest_lock_t): Change owner into void *, add lock field.
11473 * config/posix95/omp-lock.h: Include semaphore.h.
11474 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11475 (omp_lock_t): Use sem_t instead of mutex if semaphores
11476 aren't broken.
11477 (omp_nest_lock_t): Likewise. Change owner to void *.
11478 * config/posix/omp-lock.h: Include semaphore.h.
11479 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11480 (omp_lock_t): Use sem_t instead of mutex if semaphores
11481 aren't broken.
11482 (omp_nest_lock_t): Likewise. Add owner field.
11483
11484 2008-06-06 Jakub Jelinek <jakub@redhat.com>
11485
11486 * testsuite/libgomp.c/collapse-1.c: New test.
11487 * testsuite/libgomp.c/collapse-2.c: New test.
11488 * testsuite/libgomp.c/collapse-3.c: New test.
11489 * testsuite/libgomp.c/icv-1.c: New test.
11490 * testsuite/libgomp.c/icv-2.c: New test.
11491 * testsuite/libgomp.c/lib-2.c: New test.
11492 * testsuite/libgomp.c/lock-1.c: New test.
11493 * testsuite/libgomp.c/lock-2.c: New test.
11494 * testsuite/libgomp.c/lock-3.c: New test.
11495 * testsuite/libgomp.c/loop-4.c: New test.
11496 * testsuite/libgomp.c/loop-5.c: New test.
11497 * testsuite/libgomp.c/loop-6.c: New test.
11498 * testsuite/libgomp.c/loop-7.c: New test.
11499 * testsuite/libgomp.c/loop-8.c: New test.
11500 * testsuite/libgomp.c/loop-9.c: New test.
11501 * testsuite/libgomp.c/nested-3.c: New test.
11502 * testsuite/libgomp.c/nestedfn-6.c: New test.
11503 * testsuite/libgomp.c/sort-1.c: New test.
11504 * testsuite/libgomp.c/task-1.c: New test.
11505 * testsuite/libgomp.c/task-2.c: New test.
11506 * testsuite/libgomp.c/task-3.c: New test.
11507 * testsuite/libgomp.c/task-4.c: New test.
11508 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11509 to C++ testsuite default compiler options.
11510 * testsuite/libgomp.c++/collapse-1.C: New test.
11511 * testsuite/libgomp.c++/collapse-2.C: New test.
11512 * testsuite/libgomp.c++/ctor-10.C: New test.
11513 * testsuite/libgomp.c++/for-1.C: New test.
11514 * testsuite/libgomp.c++/for-2.C: New test.
11515 * testsuite/libgomp.c++/for-3.C: New test.
11516 * testsuite/libgomp.c++/for-4.C: New test.
11517 * testsuite/libgomp.c++/for-5.C: New test.
11518 * testsuite/libgomp.c++/loop-8.C: New test.
11519 * testsuite/libgomp.c++/loop-9.C: New test.
11520 * testsuite/libgomp.c++/loop-10.C: New test.
11521 * testsuite/libgomp.c++/task-1.C: New test.
11522 * testsuite/libgomp.c++/task-2.C: New test.
11523 * testsuite/libgomp.c++/task-3.C: New test.
11524 * testsuite/libgomp.c++/task-4.C: New test.
11525 * testsuite/libgomp.c++/task-5.C: New test.
11526 * testsuite/libgomp.c++/task-6.C: New test.
11527 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11528 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11529 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11530 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11531 * testsuite/libgomp.fortran/collapse1.f90: New test.
11532 * testsuite/libgomp.fortran/collapse2.f90: New test.
11533 * testsuite/libgomp.fortran/collapse3.f90: New test.
11534 * testsuite/libgomp.fortran/collapse4.f90: New test.
11535 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11536 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11537 * testsuite/libgomp.fortran/lib4.f90: New test.
11538 * testsuite/libgomp.fortran/lock-1.f90: New test.
11539 * testsuite/libgomp.fortran/lock-2.f90: New test.
11540 * testsuite/libgomp.fortran/nested1.f90: New test.
11541 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11542 * testsuite/libgomp.fortran/strassen.f90: New test.
11543 * testsuite/libgomp.fortran/tabs1.f90: New test.
11544 * testsuite/libgomp.fortran/tabs2.f: New test.
11545 * testsuite/libgomp.fortran/task1.f90: New test.
11546 * testsuite/libgomp.fortran/task2.f90: New test.
11547 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11548 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11549 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11550 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11551 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11552
11553 2008-05-23 Jakub Jelinek <jakub@redhat.com>
11554
11555 PR c++/36308
11556 * testsuite/libgomp.c++/ctor-11.C: New test.
11557 * testsuite/libgomp.c++/ctor-12.C: New test.
11558
11559 2008-05-15 Janis Johnson <janis187@us.ibm.com>
11560
11561 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11562
11563 2008-05-07 Jakub Jelinek <jakub@redhat.com>
11564
11565 PR middle-end/36106
11566 * testsuite/libgomp.c/atomic-5.c: New test.
11567 * testsuite/libgomp.c/atomic-6.c: New test.
11568 * testsuite/libgomp.c/autopar-1.c: New test.
11569
11570 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11571
11572 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11573 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11574 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11575 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11576 * configure: Regenerate.
11577 * Makefile.in, testsuite/Makefile.in: Likewise.
11578
11579 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
11580
11581 PR bootstrap/35457
11582 * aclocal.m4: Regenerate.
11583 * configure: Regenerate.
11584
11585 2008-03-18 Jakub Jelinek <jakub@redhat.com>
11586
11587 PR middle-end/35611
11588 * testsuite/libgomp.c/atomic-4.c: New test.
11589
11590 PR libgomp/35625
11591 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11592 (gomp_iter_guided_next): Likewise.
11593 * testsuite/libgomp.c/pr35625.c: New test.
11594
11595 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11596
11597 * aclocal.m4: Regenerate.
11598 * configure: Likewise.
11599 * Makefile.in: Likewise.
11600 * testsuite/Makefile.in: Likewise.
11601
11602 2008-03-13 Jakub Jelinek <jakub@redhat.com>
11603
11604 PR middle-end/35185
11605 * testsuite/libgomp.c++/pr35185.C: New test.
11606
11607 2008-03-12 Jakub Jelinek <jakub@redhat.com>
11608
11609 PR middle-end/35549
11610 * testsuite/libgomp.c/pr35549.c: New test.
11611
11612 2008-03-06 Jakub Jelinek <jakub@redhat.com>
11613
11614 * testsuite/libgomp.c/atomic-3.c: New test.
11615
11616 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11617
11618 PR fortran/33197
11619 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
11620 .F08 file suffixes.
11621
11622 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11623
11624 PR libgomp/33131
11625 * configure.ac: Add ACX_HEADER_STRING.
11626 * env.c: Include strings.h.
11627 * aclocal.m4: Regenerate.
11628 * config.h.in: Regenerate.
11629 * configure: Regenerate.
11630 * Makefile.in: Regenerate.
11631 * testsuite/Makefile.in: Regenerate.
11632
11633 2008-02-15 Jakub Jelinek <jakub@redhat.com>
11634
11635 PR middle-end/35196
11636 * testsuite/libgomp.c/pr35196.c: New test.
11637
11638 PR middle-end/35130
11639 * testsuite/libgomp.fortran/pr35130.f90: New test.
11640 * testsuite/libgomp.c/pr35130.c: New test.
11641
11642 2008-01-25 Jakub Jelinek <jakub@redhat.com>
11643
11644 PR middle-end/33880
11645 * testsuite/libgomp.c/pr33880.c: New test.
11646 * testsuite/libgomp.fortran/pr33880.f90: New test.
11647
11648 2008-01-24 David Edelsohn <edelsohn@gnu.org>
11649
11650 * configure: Regenerate.
11651
11652 2008-01-08 Jakub Jelinek <jakub@redhat.com>
11653
11654 * configure.ac: Move futex checking into ../config/futex.m4.
11655 * configure: Rebuilt.
11656 * aclocal.m4: Rebuilt.
11657 * Makefile.in: Rebuilt.
11658
11659 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11660 2007-10-15 ../config/tls.m4 change.
11661
11662 2007-12-19 Jakub Jelinek <jakub@redhat.com>
11663
11664 PR c++/34513
11665 * testsuite/libgomp.c/pr34513.c: New test.
11666 * testsuite/libgomp.c++/pr34513.C: New test.
11667
11668 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11669
11670 PR target/32765
11671 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11672
11673 2007-12-04 Jakub Jelinek <jakub@redhat.com>
11674
11675 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11676
11677 2007-12-03 Jakub Jelinek <jakub@redhat.com>
11678
11679 * testsuite/libgomp.c/private-1.c: New test.
11680
11681 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11682 Paolo Bonzini <bonzini@gnu.org>
11683
11684 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11685 instead of 'VPATH ='.
11686 * Makefile.in: Regenerate.
11687
11688 2007-11-23 Matthias Klose <doko@ubuntu.com>
11689
11690 * configure.ac: Adjust makeinfo version check.
11691 * configure: Regenerate.
11692
11693 2007-11-10 Jakub Jelinek <jakub@redhat.com>
11694
11695 PR fortran/34020
11696 * testsuite/libgomp.fortran/pr34020.f90: New test.
11697
11698 2007-11-06 Jakub Jelinek <jakub@redhat.com>
11699
11700 PR c++/33894
11701 * testsuite/libgomp.c++/atomic-1.C: New test.
11702
11703 2007-10-25 Jakub Jelinek <jakub@redhat.com>
11704
11705 PR libgomp/33275
11706 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11707 Make x and y integers rather than (implicit) reals. Add private (j)
11708 clause to the last omp parallel.
11709
11710 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11711
11712 * configure: Regenerate following changes to ../config/tls.m4.
11713
11714 2007-09-28 Jakub Jelinek <jakub@redhat.com>
11715
11716 * testsuite/libgomp.fortran/stack.f90: New test.
11717
11718 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11719
11720 * config/mingw32/proc.c: New file.
11721
11722 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
11723
11724 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11725 (main): Use __get_cpuid to get i386 target fetaures.
11726 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11727 (main): Use __get_cpuid to get x86_64 target fetaures.
11728
11729 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11730
11731 PR target/32765
11732 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11733 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11734
11735 2007-07-12 Jakub Jelinek <jakub@redhat.com>
11736
11737 PR fortran/32550
11738 * testsuite/libgomp.fortran/pr32550.f90: New test.
11739 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11740
11741 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11742
11743 * aclocal.m4: Regenerated.
11744
11745 2007-07-05 Tobias Burnus <burnus@net-b.de>
11746
11747 PR fortran/32359
11748 * testsuite/libgomp.fortran/pr32359.f90: New.
11749
11750 2007-07-02 Jakub Jelinek <jakub@redhat.com>
11751
11752 PR libgomp/32468
11753 * sections.c (GOMP_parallel_sections_start): Only decrease
11754 number of threads to COUNT if dyn_var is true.
11755 * testsuite/libgomp.c/pr32468.c: New test.
11756
11757 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11758
11759 PR libgomp/26308
11760 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11761
11762 2007-06-21 Jakub Jelinek <jakub@redhat.com>
11763
11764 PR middle-end/32362
11765 * testsuite/libgomp.c/pr32362-1.c: New test.
11766 * testsuite/libgomp.c/pr32362-2.c: New test.
11767 * testsuite/libgomp.c/pr32362-3.c: New test.
11768
11769 2007-06-07 Jakub Jelinek <jakub@redhat.com>
11770
11771 * team.c (gomp_team_start): Fix setting up thread_attr
11772 stack size.
11773
11774 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
11775
11776 * configure: Regenerate.
11777
11778 2007-05-23 Steve Ellcey <sje@cup.hp.com>
11779
11780 * Makefile.in: Regenerate.
11781 * configure: Regenerate.
11782 * aclocal.m4: Regenerate.
11783 * testsuite/Makefile.in: Regenerate.
11784
11785 2007-05-04 Jakub Jelinek <jakub@redhat.com>
11786
11787 * config/linux/proc.c: New file.
11788
11789 PR libgomp/28482
11790 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11791
11792 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
11793
11794 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11795
11796 2007-04-16 Matthias Klose <doko@debian.org>
11797
11798 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11799 flags if not building with -m64.
11800 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11801 flag for i?86-*-* targets, if current target matches -m64.
11802
11803 2007-04-14 Steve Ellcey <sje@cup.hp.com>
11804
11805 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11806 * Makefile.in: Regenerate.
11807
11808 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11809
11810 PR testsuite/31369
11811 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11812 ld_library_path.
11813 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11814
11815 2007-04-04 Jakub Jelinek <jakub@redhat.com>
11816
11817 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11818 decls.
11819 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11820 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11821 (parse_affinity): New function.
11822 (initialize_env): Call it and gomp_init_affinity.
11823 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11824 create new pthread_attr_t and call gomp_init_thread_affinity
11825 on it for each thread before passing the attribute to pthread_create.
11826 * config/linux/affinity.c: New file.
11827 * config/posix/affinity.c: New file.
11828 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11829 * configure: Rebuilt.
11830 * config.h.in: Rebuilt.
11831 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11832 * Makefile.in: Rebuilt.
11833
11834 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11835
11836 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11837 *-*-darwin*.
11838 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11839 and use it if found.
11840
11841 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
11842
11843 * testsuite/config/default.exp: New file.
11844 * testsuite/lib/libgomp.exp: New file.
11845 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11846 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11847 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11848 (libgomp_load): Remove.
11849 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11850 always_ld_library_path, not ld_library_path. Set additional_flags
11851 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11852 (target_compile): Do not call libgomp_init. Append lang_library_path
11853 and lang_link_flags to options.
11854 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11855 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11856 here.
11857 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11858 always_ld_library_path. Set LD_LIBRARY_PATH here.
11859 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11860 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11861 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11862 CX8 flag.
11863 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11864 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11865 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11866 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11867 * testsuite/libgomp.c/atomic-10.c: Ditto.
11868
11869 2007-03-21 Jakub Jelinek <jakub@redhat.com>
11870
11871 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11872 dg-final cleanup-modules line.
11873 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11874 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11875 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11876 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11877 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11878 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11879 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11880
11881 2007-03-18 Andreas Schwab <schwab@suse.de>
11882
11883 * acinclude.m4: Adjust regular expression for ld version
11884 extraction.
11885 * configure: Regenerate.
11886
11887 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11888
11889 * Makefile.am: Add install-pdf target as copied from
11890 automake v1.10 rules.
11891 * Makefile.in: Regenerate
11892
11893 2007-02-07 Jakub Jelinek <jakub@redhat.com>
11894
11895 PR libgomp/28486
11896 * configure: Regenerate.
11897
11898 PR c++/30703
11899 * testsuite/libgomp.c++/pr30703.C: New test.
11900
11901 2007-02-02 Jakub Jelinek <jakub@redhat.com>
11902
11903 Revert:
11904 2006-07-05 Eric Christopher <echristo@apple.com>
11905 * configure.ac: Depend addition of -pthread on host OS.
11906 * configure: Regenerate.
11907
11908 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11909
11910 * libgomp.texi: Fix spacing after abbreviations.
11911
11912 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
11913
11914 PR libgomp/30546
11915 * configure.ac: Add check for makeinfo
11916 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
11917 if an appropriate version of makeinfo is found.
11918 * aclocal.m4: Regenerated.
11919 * configure: Regenerated.
11920 * Makefile.in: Regenerated.
11921 * testsuite/Makefile.in: Regenerated.
11922
11923 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
11924
11925 PR libgomp/30540
11926 * libgomp.texi: More about implementation-dependent settings.
11927
11928 2007-01-26 Tobias Burnus <burnus@net-b.de>
11929
11930 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11931
11932 2007-01-24 Jakub Jelinek <jakub@redhat.com>
11933
11934 PR middle-end/30494
11935 * testsuite/libgomp.c/pr30494.c: New test.
11936
11937 2007-01-15 Tom Tromey <tromey@redhat.com>
11938
11939 * configure: Rebuilt.
11940 * configure.ac: Fixed comment.
11941
11942 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
11943
11944 * libgomp.texi: Document implementation specific default values of
11945 environment variables.
11946
11947 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
11948
11949 PR libgomp/28209
11950 * libgomp.texi: New file.
11951 * configure.ac: Add --enable-generated-files-in-srcdir option.
11952 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11953 files to srcdir.
11954 * Makefile.in: Regenerated.
11955 * config.h.in: Regenerated.
11956 * testsuite/Makefile.in: Regenerated.
11957 * NOTES: Removed.
11958
11959 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
11960
11961 PR libgomp/29949
11962 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11963
11964 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11965
11966 * configure: Regenerate.
11967
11968 2006-12-04 Jakub Jelinek <jakub@redhat.com>
11969
11970 PR libgomp/29947
11971 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11972 start if there shouldn't be any loop iterations.
11973 (gomp_loop_ordered_static_start): Remove start == end test.
11974 * testsuite/libgomp.c/pr29947-1.c: New test.
11975 * testsuite/libgomp.c/pr29947-2.c: New test.
11976
11977 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11978
11979 * configure.tgt: Force initial-exec TLS model on Linux only.
11980
11981 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11982
11983 * configure: Regenerated.
11984
11985 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
11986
11987 * env.c (parse_schedule): Reject out of range values.
11988 (parse_unsigned_long): Reject out of range, negative or zero values.
11989
11990 2006-10-29 Jakub Jelinek <jakub@redhat.com>
11991
11992 PR fortran/29629
11993 * testsuite/libgomp.fortran/pr29629.f90: New test.
11994
11995 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11996
11997 PR libgomp/29494
11998 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11999 * config/posix95: New directory.
12000 * config/posix95/omp-lock.h: New file.
12001 * config/posix95/lock.c: Likewise.
12002
12003 2006-10-14 Geoffrey Keating <geoffk@apple.com>
12004
12005 * aclocal.m4: Regenerate.
12006 * configure: Regenerate.
12007
12008 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12009
12010 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12011 '<' to '<='.
12012
12013 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12014
12015 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12016 test.
12017 * configure: Regenerate.
12018 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12019
12020 2006-09-26 Jakub Jelinek <jakub@redhat.com>
12021
12022 PR middle-end/25261
12023 PR middle-end/28790
12024 * testsuite/libgomp.c/nestedfn-4.c: New test.
12025 * testsuite/libgomp.c/nestedfn-5.c: New test.
12026 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12027
12028 PR fortran/29097
12029 * testsuite/libgomp.fortran/condinc1.f: New test.
12030 * testsuite/libgomp.fortran/condinc2.f: New test.
12031 * testsuite/libgomp.fortran/condinc3.f90: New test.
12032 * testsuite/libgomp.fortran/condinc4.f90: New test.
12033 * testsuite/libgomp.fortran/condinc1.inc: New file.
12034
12035 2006-09-18 Tom Tromey <tromey@redhat.com>
12036
12037 * configure: Rebuilt.
12038
12039 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
12040
12041 PR c/28768
12042 PR preprocessor/14634
12043 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12044 to AC_DEFINE.
12045 * configure: Regenerate.
12046
12047 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
12048
12049 * testsuite/libgomp.fortran/reduction3.f90: Change
12050 -2147483648 to -huge(i)-1 to avoid overflow.
12051 * testsuite/libgomp.fortran/reduction4.f90: Change
12052 Z'ffffffff' to not(0) to avoid overflow.
12053
12054 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
12055
12056 PR libgomp/25938
12057 * Makefile.am (libsubincludedir): New.
12058 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12059 * Makefile.in: Regenerate.
12060
12061 2006-08-17 Jakub Jelinek <jakub@redhat.com>
12062
12063 PR libgomp/28725
12064 * env.c: Include ctype.h.
12065 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12066 leading and/or trailing whitespace and compare strings case
12067 insensitively.
12068
12069 2006-07-16 Jakub Jelinek <jakub@redhat.com>
12070
12071 PR fortran/28390
12072 * testsuite/libgomp.fortran/pr28390.f: New test.
12073
12074 2006-07-05 Eric Christopher <echristo@apple.com>
12075
12076 * configure.ac: Depend addition of -pthread on host OS.
12077 * configure: Regenerate.
12078
12079 2006-06-21 Jakub Jelinek <jakub@redhat.com>
12080
12081 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12082 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12083 defined.
12084
12085 2006-06-20 Jakub Jelinek <jakub@redhat.com>
12086
12087 PR libgomp/26175
12088 PR libgomp/26477
12089 * configure.ac: If neither --enable-linux-futex nor
12090 --disable-linux-futex is passed, determine the default by checking
12091 for compiling and/or running against NPTL. With --enable-linux-futex,
12092 check if SYS_gettid and SYS_futex are defined.
12093 * configure: Rebuilt.
12094
12095 2006-06-14 Richard Henderson <rth@redhat.com>
12096
12097 PR libgomp/28008
12098 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12099 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12100
12101 2006-06-09 Richard Henderson <rth@redhat.com>
12102
12103 * env.c (gomp_nthreads_var): Change to unsigned long.
12104 (gomp_run_sched_chunk): Likewise.
12105 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12106 (initialize_env): Initialize gomp_thread_attr.
12107 * libgomp.h (gomp_nthreads_var): Update decl.
12108 (gomp_run_sched_chunk): Likewise.
12109 (gomp_thread_attr): Declare.
12110 * team.c (gomp_thread_attr): Export.
12111 (initialize_team): Don't initialize it.
12112
12113 2006-06-09 Jakub Jelinek <jakub@redhat.com>
12114
12115 PR fortran/27916
12116 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12117 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12118
12119 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12120
12121 * config/mingw32/time.c: New file.
12122 * configure.tgt: Use it.
12123
12124 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12125
12126 * Makefile.am: Add install-html target. Add install-html to .PHONY
12127 * Makefile.in: Regenerate.
12128
12129 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12130
12131 PR libgomp/27612
12132 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12133 * testsuite/libgomp.c/critical-1.c: Likewise.
12134 * testsuite/libgomp.c/loop-1.c: Likewise.
12135 * testsuite/libgomp.c/loop-2.c: Likewise.
12136 * testsuite/libgomp.c/single-1.c: Likewise.
12137 * testsuite/libgomp.c/ordered-1.c: Likewise.
12138 * testsuite/libgomp.c/ordered-2.c: Likewise.
12139
12140 2006-05-15 Jakub Jelinek <jakub@redhat.com>
12141
12142 PR middle-end/27416
12143 * libgomp.fortran/pr27416-1.f90: New test.
12144
12145 2006-05-03 Jakub Jelinek <jakub@redhat.com>
12146
12147 PR fortran/27395
12148 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12149 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12150
12151 2006-05-02 Jakub Jelinek <jakub@redhat.com>
12152
12153 PR c++/26943
12154 * testsuite/libgomp.c/pr26943-1.c: New test.
12155 * testsuite/libgomp.c/pr26943-2.c: New test.
12156 * testsuite/libgomp.c/pr26943-3.c: New test.
12157 * testsuite/libgomp.c/pr26943-4.c: New test.
12158 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12159 * testsuite/libgomp.c++/pr26943.C: New test.
12160
12161 2006-05-02 Jakub Jelinek <jakub@redhat.com>
12162
12163 PR middle-end/27337
12164 * testsuite/libgomp.c++/pr27337.C: New test.
12165
12166 2006-04-26 Jakub Jelinek <jakub@redhat.com>
12167
12168 PR c/26171
12169 * testsuite/libgomp.c/pr26171.c: New test.
12170
12171 2006-04-25 Richard Henderson <rth@redhat.com>
12172
12173 PR libgomp/25865
12174 * configure.ac: Use GCC_CHECK_TLS.
12175 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12176 * Makefile.in, aclocal.m4, configure: Regenerate.
12177
12178 2006-04-10 Matthias Klose <doko@debian.org>
12179
12180 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12181 directory names containing underscores.
12182
12183 2006-03-21 Jakub Jelinek <jakub@redhat.com>
12184
12185 PR c++/26691
12186 * testsuite/libgomp.c++/pr26691.C: New test.
12187
12188 2006-03-13 Jakub Jelinek <jakub@redhat.com>
12189
12190 * testsuite/libgomp.fortran/retval2.f90: New test.
12191
12192 2006-03-09 Diego Novillo <dnovillo@redhat.com>
12193
12194 * testsuite/libgomp.c++: New directory.
12195
12196 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
12197
12198 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12199 * config/posix/sem.c: Implement the above.
12200
12201 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12202
12203 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12204 define HAVE_BROKEN_POSIX_SEMAPHORES.
12205 * configure: Rebuilt.
12206 * config.h.in: Rebuilt.
12207
12208 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12209
12210 PR bootstrap/26161
12211 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12212 for the other pthread check.
12213 * configure: Regenerate.
12214 * config.h.in: Regenerate.
12215
12216 2006-02-15 Jakub Jelinek <jakub@redhat.com>
12217
12218 PR libgomp/25938
12219 PR libgomp/25984
12220 * Makefile.am (fincludedir): New variable.
12221 (nodist_include_HEADERS): Remove Fortran files.
12222 (nodist_finclude_HEADERS): New variable.
12223 * Makefile.in: Regenerated.
12224
12225 2006-02-13 Jakub Jelinek <jakub@redhat.com>
12226
12227 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12228 Remove tests for returning assumed character length arrays.
12229
12230 2006-02-12 Roger Sayle <roger@eyesopen.com>
12231 John David Anglin <dave@hiauly1.hia.nrc.ca>
12232
12233 PR libgomp/25936
12234 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
12235
12236 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12237
12238 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12239
12240 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12241
12242 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12243 part of LD_LIBRARY_PATH manually.
12244
12245 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12246
12247 PR libgomp/25852
12248 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12249 libgomp_init.
12250
12251 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
12252
12253 PR libgomp/25884
12254 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12255 * configure.ac (PERL): Don't set.
12256 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12257 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12258 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12259 * omp.h.in: Wrap the new configure substitutions with @ characters.
12260 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12261 * aclocal.m4, configure, Makefile.in: Regenerate.
12262 * mkomp_h.pl: Delete.
12263
12264 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
12265
12266 PR libgomp/25259
12267 * configure.ac: Use GCC_HEADER_STDINT.
12268 * libgomp.h: Include gstdint.h.
12269 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12270 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12271
12272 2006-01-24 Richard Henderson <rth@redhat.com>
12273
12274 PR libgomp/25942
12275 * configure.ac: Add AM_MAINTAINER_MODE.
12276 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12277
12278 2006-01-24 Diego Novillo <dnovillo@redhat.com>
12279
12280 * Makefile.in: Regenerate.
12281 * testsuite/Makefile.in: Regenerate.
12282 * aclocal.m4: Regenerate.
12283
12284 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12285
12286 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12287 Solaris.
12288 * configure.ac: Add check for loadavg.h.
12289 (link_gomp): Adjust comment.
12290 * configure: Regenerate.
12291 * config.h.in: Regenerate.
12292
12293 2006-01-21 Steve Ellcey <sje@cup.hp.com>
12294
12295 PR libgomp/25877
12296 * configure.ac: Remove check for alloca.h.
12297 * configure: Regenerate.
12298 * config.h.in: Regenerate.
12299 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12300 * team.c: Remove use of alloca.h.
12301 Call gomp_alloca instead of alloca.
12302
12303 2006-01-20 Steve Ellcey <sje@cup.hp.com>
12304
12305 PR libgomp/25877
12306 * team.c: Add include of alloca.h.
12307 * configure.ac: Add check for alloca.h.
12308 * configure: Regenerate.
12309 * config.h.in: Regenerate.
12310
12311 2006-01-17 Jakub Jelinek <jakub@redhat.com>
12312
12313 PR fortran/25219
12314 * testsuite/libgomp.fortran/pr25219.f90: New test.
12315
12316 2005-12-05 Uros Bizjak <uros@kss-loka.si>
12317
12318 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12319 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12320 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12321 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12322 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12323 testsuite/libgomp.fortran/threadprivate1.f90,
12324 testsuite/libgomp.fortran/threadprivate2.f90,
12325 testsuite/libgomp.fortran/threadprivate3.f90,
12326 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12327 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12328 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12329 effective-target to TLS runtime.
12330
12331 * testsuite/libgomp.fortran/pr25162.f: Require
12332 effective-target TLS runtime.
12333
12334 2005-12-01 Jakub Jelinek <jakub@redhat.com>
12335
12336 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12337 * testsuite/libgomp.c/nestedfn-3.c: New test.
12338
12339 2005-11-30 Jakub Jelinek <jakub@redhat.com>
12340
12341 PR fortran/25162
12342 * testsuite/libgomp.fortran/pr25162.f: New test.
12343
12344 2005-11-28 Jakub Jelinek <jakub@redhat.com>
12345
12346 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12347 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12348
12349 2005-11-25 Jakub Jelinek <jakub@redhat.com>
12350
12351 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12352 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12353 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12354 single.c, team.c, work.c, config/linux/alpha/futex.h,
12355 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12356 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12357 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12358 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12359 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12360 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12361 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12362 FSF address.
12363
12364 2005-11-18 Jakub Jelinek <jakub@redhat.com>
12365
12366 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12367 to nodist_noinst_HEADERS.
12368 * Makefile.in: Rebuilt.
12369
12370 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12371 add integer count field.
12372 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12373 omp_nest_lock_t type change.
12374 (omp_init_nest_lock): Likewise. Initialize count to 0.
12375 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12376 Increment count.
12377 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12378 Decrement count.
12379 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12380 Increment count if successful and return the new nesting level.
12381 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12382 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12383 * testsuite/libgomp.c/lib-1.c: New test.
12384 * testsuite/libgomp.fortran/lib1.f90: New test.
12385 * testsuite/libgomp.fortran/lib2.f: New test.
12386 * testsuite/libgomp.fortran/lib3.f: New test.
12387
12388 2005-11-17 Richard Henderson <rth@redhat.com>
12389
12390 PR 24845
12391 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12392 * configure.ac (link_gomp): New. Substitute it.
12393 (AC_CONFIG_FILES): Add libgomp.spec.
12394 * libgomp.spec.in: New file.
12395 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12396 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12397
12398 2005-11-18 Jakub Jelinek <jakub@redhat.com>
12399
12400 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12401 reduction(-:var) behaving the same as reduction(+:var).
12402 * testsuite/libgomp.c/reduction-4.c: New test.
12403
12404 2005-11-15 Uros Bizjak <uros@kss-loka.si>
12405
12406 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12407 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12408 testsuite/libgomp.c/copyin-3.c,
12409 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12410 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12411 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12412 testsuite/libgomp.c++/pr24455.C,
12413 testsuite/libgomp.fortran/threadprivate1.f90,
12414 testsuite/libgomp.fortran/threadprivate2.f90,
12415 testsuite/libgomp.fortran/threadprivate3.f90,
12416 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12417 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12418 testsuite/libgomp.fortran/omp_parse3.f90: Require
12419 effective-target TLS.
12420
12421 2005-11-14 Diego Novillo <dnovillo@redhat.com>
12422
12423 * HEADER: Remove.
12424
12425 2005-11-13 Jakub Jelinek <jakub@redhat.com>
12426
12427 PR libgomp/24797
12428 * team.c (initialize_team): Pass NULL rather than free as
12429 pthread_key_create destructor. Initialize thread specific data
12430 pointer in initial thread to a static local variable rather than
12431 malloced memory.
12432
12433 2005-11-11 Uros Bizjak <uros@kss-loka.si>
12434
12435 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12436 its location to ld_library_path.
12437
12438 2005-11-10 Diego Novillo <dnovillo@redhat.com>
12439
12440 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12441
12442 2005-11-10 Diego Novillo <dnovillo@redhat.com>
12443
12444 * testsuite/libgomp.c: Rename from libgomp.dg.
12445
12446 2005-11-09 Diego Novillo <dnovillo@redhat.com>
12447
12448 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12449 threadprivate variable 'i'.
12450
12451 2005-11-09 Jakub Jelinek <jakub@redhat.com>
12452
12453 * config/linux/s390/futex.h: New file.
12454 * configure.tgt: Use it.
12455
12456 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12457 before the parallel.
12458
12459 2005-11-08 Jakub Jelinek <jakub@redhat.com>
12460
12461 PR c++/24734
12462 * testsuite/libgomp.c++/master-1.C: New test.
12463
12464 2005-11-07 Jakub Jelinek <jakub@redhat.com>
12465
12466 * testsuite/libgomp.dg/copyin-3.c: New test.
12467
12468 2005-11-07 Jakub Jelinek <jakub@redhat.com>
12469
12470 * testsuite/libgomp.fortran/retval1.f90: New test.
12471 * testsuite/libgomp.fortran/vla7.f90: New test.
12472
12473 2005-11-06 Jakub Jelinek <jakub@redhat.com>
12474
12475 * testsuite/libgomp.fortran/vla2.f90: New test.
12476 * testsuite/libgomp.fortran/vla3.f90: New test.
12477 * testsuite/libgomp.fortran/vla4.f90: New test.
12478 * testsuite/libgomp.fortran/vla5.f90: New test.
12479 * testsuite/libgomp.fortran/vla6.f90: New test.
12480
12481 2005-11-01 Jakub Jelinek <jakub@redhat.com>
12482
12483 * config/linux/sparc/futex.h: New file.
12484 * configure.tgt: Use it.
12485 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12486
12487 * critical.c: Include stdlib.h.
12488 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12489 ignoring return value.
12490 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12491 LIBGOMP_CHECK_SYNC_BUILTINS check.
12492 * configure: Rebuilt.
12493
12494 2005-10-31 Jakub Jelinek <jakub@redhat.com>
12495
12496 * testsuite/libgomp.fortran/vla1.f90: New test.
12497
12498 2005-10-31 Richard Henderson <rth@redhat.com>
12499
12500 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12501 setting 's' in different threads.
12502
12503 2005-10-31 Jakub Jelinek <jakub@redhat.com>
12504
12505 * libgomp.h (attribute_hidden, ialias): Define.
12506 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12507 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12508 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12509 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12510 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12511 omp_test_lock, omp_test_nest_lock): Likewise.
12512 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12513 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12514 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12515 omp_test_lock, omp_test_nest_lock): Likewise.
12516 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12517 omp_get_dynamic, omp_get_nested): Likewise.
12518 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12519 omp_get_thread_num, omp_in_parallel): Likewise.
12520 * fortran.c (ialias_redirect): Define.
12521 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12522 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12523 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12524 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12525 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12526 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12527 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12528 omp_get_wtime): Add ialias_redirect.
12529
12530 2005-10-30 Jakub Jelinek <jakub@redhat.com>
12531
12532 * fortran.c: Include stdlib.h.
12533
12534 2005-10-29 Jakub Jelinek <jakub@redhat.com>
12535
12536 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12537 * Makefile.in: Regenerated.
12538
12539 2005-10-28 Jakub Jelinek <jakub@redhat.com>
12540
12541 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12542 * libgomp_f.h.in (omp_check_defines): New function.
12543 * env.c: Include libgomp_f.h.
12544 (initialize_env): Call omp_check_defines.
12545
12546 * testsuite/libgomp.dg/copyin-2.c: New test.
12547 * testsuite/libgomp.c++/copyin-2.C: New test.
12548 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12549
12550 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12551 * testsuite/libgomp.fortran/sharing2.f90: New test.
12552
12553 * testsuite/libgomp.dg/copyin-1.c: New test.
12554 * testsuite/libgomp.c++/copyin-1.C: New test.
12555
12556 2005-10-26 Jakub Jelinek <jakub@redhat.com>
12557
12558 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12559
12560 * testsuite/libgomp.fortran/workshare1.f90: New test.
12561
12562 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12563 only test.
12564 * libgomp.fortran/sharing1.f90: New test.
12565
12566 2005-10-24 Jakub Jelinek <jakub@redhat.com>
12567
12568 PR c++/24502
12569 * testsuite/libgomp.c++/loop-7.C: New test.
12570
12571 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12572
12573 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12574 * testsuite/libgomp.fortran/reduction6.f90: New test.
12575 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12576
12577 2005-10-23 Richard Henderson <rth@redhat.com>
12578
12579 * testsuite/libgomp.c++/ctor-1.C: New.
12580 * testsuite/libgomp.c++/ctor-2.C: New.
12581 * testsuite/libgomp.c++/ctor-3.C: New.
12582 * testsuite/libgomp.c++/ctor-4.C: New.
12583 * testsuite/libgomp.c++/ctor-5.C: New.
12584 * testsuite/libgomp.c++/ctor-6.C: New.
12585 * testsuite/libgomp.c++/ctor-7.C: New.
12586 * testsuite/libgomp.c++/ctor-8.C: New.
12587 * testsuite/libgomp.c++/ctor-9.C: New.
12588
12589 2005-10-21 Diego Novillo <dnovillo@redhat.com>
12590
12591 PR 24455
12592 * testsuite/libgomp.c++/pr24455-1.C: New test.
12593 * testsuite/libgomp.c++/pr24455.C: New test.
12594 * testsuite/libgomp.dg/pr24455-1.c: New test.
12595 * testsuite/libgomp.dg/pr24455.c: New test.
12596
12597 2005-10-20 Richard Henderson <rth@redhat.com>
12598
12599 * testsuite/libgomp.c++/loop-6.C: New.
12600 * testsuite/libgomp.dg/loop-3.c: New.
12601
12602 2005-10-20 Jakub Jelinek <jakub@redhat.com>
12603
12604 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12605 explicitly private.
12606 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12607 explicitly shared.
12608
12609 2005-10-19 Diego Novillo <dnovillo@redhat.com>
12610
12611 * testsuite/libgomp.fortran/jacobi.f: New test.
12612
12613 2005-10-19 Richard Henderson <rth@redhat.com>
12614
12615 * configure.tgt (i?86-linux): Default to with_arch instead of
12616 CFLAGS. Add -mtune to match target_cpu.
12617 (x86_64-linux): Tune to i686.
12618
12619 * fortran.c (omp_test_nest_lock_): Fix typo.
12620
12621 2005-10-19 Jakub Jelinek <jakub@redhat.com>
12622
12623 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12624 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12625 * testsuite/libgomp.dg/ordered-3.c: New test.
12626
12627 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12628 Remove volatile keyword.
12629
12630 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12631 in COMMON block to avoid warnings on 64-bit targets.
12632
12633 2005-10-18 Diego Novillo <dnovillo@redhat.com>
12634
12635 * testsuite/libgomp.dg/shared-3.c: New test.
12636
12637 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12638
12639 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12640 * testsuite/libgomp.fortran/reduction5.f90: New test.
12641
12642 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12643
12644 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12645 dg-options.
12646 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12647 flush loop now that __sync_synchronize has proper memory barrier.
12648 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12649 Add -ffixed-form to dg-options.
12650
12651 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12652
12653 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12654 from subdirectories.
12655 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12656 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12657 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12658 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12659 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12660 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12661 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12662 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12663 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12664 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12665 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12666 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12667 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12668 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12669 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12670 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12671 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12672 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12673 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12674 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12675 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12676 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12677 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12678 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12679 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12680
12681 2005-10-17 Jakub Jelinek <jakub@redhat.com>
12682
12683 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12684 lang_library_path exists. Use find instead of glob to gather tests.
12685 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12686
12687 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12688
12689 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12690 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12691 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12692 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12693 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12694 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12695 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12696 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12697 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12698 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12699 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12700 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12701 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12702
12703 2005-10-15 Jakub Jelinek <jakub@redhat.com>
12704
12705 * testsuite/libgomp.dg/vla-1.c: New test.
12706
12707 * testsuite/libgomp.fortran/reference2.f90: New test.
12708
12709 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12710 declaration of omp_get_thread_num.
12711 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12712 use omp_lib.
12713
12714 * testsuite/libgomp.fortran/reduction1.f90: New test.
12715 * testsuite/libgomp.fortran/reduction2.f90: New test.
12716 * testsuite/libgomp.fortran/reduction3.f90: New test.
12717 * testsuite/libgomp.fortran/reduction4.f90: New test.
12718
12719 2005-10-13 Richard Henderson <rth@redhat.com>
12720
12721 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12722 * Makefile.in: Regenerate.
12723 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12724 * libgomp.h: Include bar.h.
12725 (struct gomp_barrier): Remove.
12726 (struct gomp_team): Add barrier. Replace master_barrier with
12727 master_release. Replace threads with ordered_release.
12728 (struct gomp_thread): Replace barrier with release.
12729 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12730 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12731 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12732 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12733 (GOMP_single_copy_end): Likewise.
12734 * team.c (gomp_threads_dock): New.
12735 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12736 (gomp_thread_start): Use gomp_barrier_wait.
12737 (new_team, free_team): Update for gomp_team changes.
12738 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12739 (gomp_team_end): Use gomp_barrier_wait.
12740 (initialize_team): Update for gomp_thread changes.
12741 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12742 (gomp_work_share_end_nowait): Use atomic ops when available.
12743 * config/linux/bar.c, config/linux/bar.h: New files.
12744 * config/posix/bar.c, config/posix/bar.h: New files.
12745
12746 2005-10-13 Jakub Jelinek <jakub@redhat.com>
12747
12748 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12749 * testsuite/libgomp.dg/single-2.c: New test.
12750
12751 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12752 lang_link_flags): Unset, so that they aren't inherited from previously
12753 sourced *.exp.
12754
12755 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12756
12757 2005-10-12 Richard Henderson <rth@redhat.com>
12758
12759 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12760 (libgomp_init): Use lang_test_file, lang_library_path, and
12761 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12762
12763 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12764 (lang_test_file, lang_link_flags): New.
12765 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12766
12767 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12768 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12769 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12770 testsuite/libgomp.c++/parallel-1.C,
12771 testsuite/libgomp.c++/reduction-1.C,
12772 testsuite/libgomp.c++/reduction-2.C,
12773 testsuite/libgomp.c++/reduction-3.C,
12774 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12775 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12776 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12777 New files, largely cribbed from the C testsuite.
12778
12779 2005-10-12 Jakub Jelinek <jakub@redhat.com>
12780
12781 * testsuite/libgomp.fortran/character1.f90: New test.
12782 * testsuite/libgomp.fortran/character2.f90: New test.
12783
12784 * testsuite/libgomp.dg/nested-1.c: New test.
12785 * testsuite/libgomp.dg/nested-2.c: New test.
12786 * testsuite/libgomp.fortran/do1.f90: New test.
12787 * testsuite/libgomp.fortran/do2.f90: New test.
12788
12789 * testsuite/libgomp.fortran/reference1.f90: New test.
12790
12791 2005-10-11 Jakub Jelinek <jakub@redhat.com>
12792
12793 * testsuite/libgomp.dg/reduction-1.c: New test.
12794 * testsuite/libgomp.dg/reduction-2.c: New test.
12795 * testsuite/libgomp.dg/reduction-3.c: New test.
12796
12797 2005-10-10 Jakub Jelinek <jakub@redhat.com>
12798
12799 * testsuite/libgomp.dg/atomic-1.c: New test.
12800 * testsuite/libgomp.dg/atomic-2.c: New test.
12801
12802 2005-10-09 Richard Henderson <rth@redhat.com>
12803
12804 * critical.c (atomic_lock): New.
12805 (initialize_critical): Initialize it.
12806 (GOMP_atomic_start, GOMP_atomic_end): New.
12807 * libgomp.map: Export them.
12808 * libgomp_g.h: Declare them.
12809
12810 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12811
12812 2005-10-02 Richard Henderson <rth@redhat.com>
12813
12814 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12815 to XCFLAGS instead of CFLAGS.
12816
12817 2005-09-30 Richard Henderson <rth@redhat.com>
12818
12819 * configure.ac: Determine whether -pthread or -lpthread is needed.
12820 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
12821 * Makefile.in, configure: Rebuild.
12822
12823 2005-09-28 Richard Henderson <rth@redhat.com>
12824
12825 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12826 * testsuite/libgomp.dg/omp-single-3.c: New test.
12827
12828 2005-09-28 Diego Novillo <dnovillo@redhat.com>
12829
12830 * testsuite/libgomp.dg/omp-single-2.c: New test.
12831 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12832
12833 2005-09-27 Richard Henderson <rth@redhat.com>
12834
12835 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12836 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12837
12838 2005-09-27 Jakub Jelinek <jakub@redhat.com>
12839
12840 * testsuite/libgomp.dg/omp-loop03.c: New test.
12841
12842 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12843
12844 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12845
12846 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12847
12848 * testsuite/libgomp.dg/omp-single-1.c: New test.
12849 * testsuite/libgomp.dg/shared-1.c: Return 0.
12850 Add prototype for abort.
12851 * testsuite/libgomp.dg/shared-2.c: Likewise.
12852
12853 2005-09-26 Jakub Jelinek <jakub@redhat.com>
12854
12855 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12856 constructs.
12857
12858 2005-09-26 Diego Novillo <dnovillo@redhat.com>
12859
12860 * testsuite/libgomp.dg/shared-1.c: New test.
12861 * testsuite/libgomp.dg/shared-2.c: New test.
12862
12863 2005-09-24 Richard Henderson <rth@redhat.com>
12864
12865 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12866
12867 2005-09-24 Richard Henderson <rth@redhat.com>
12868
12869 * iter.c (gomp_iter_static_next): Round up when computing number
12870 of iterations. Don't bother distributing a remainder equally.
12871
12872 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12873 Don't call srand. Zero b before testing.
12874 (main): New.
12875
12876 2005-09-24 Jakub Jelinek <jakub@redhat.com>
12877
12878 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12879 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12880
12881 2005-09-23 Jakub Jelinek <jakub@redhat.com>
12882
12883 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12884 without !$omp end do, followed immediately by subroutine end.
12885
12886 2005-09-23 Diego Novillo <dnovillo@redhat.com>
12887
12888 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12889
12890 2005-09-22 Richard Henderson <rth@redhat.com>
12891
12892 * critical.c (GOMP_critical_name_start): Change argument to void**.
12893 Reuse the pointer space if the mutex fits.
12894 (GOMP_critical_name_end): Likewise.
12895 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12896 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12897 (GOMP_critical_name_end): Likewise.
12898 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12899 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12900
12901 2005-09-20 Richard Henderson <rth@redhat.com>
12902
12903 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12904 (create_lock_lock): New.
12905 (initialize_critical): Initialize it.
12906 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12907 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12908
12909 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12910
12911 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12912
12913 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12914
12915 * testsuite/libgomp.dg/omp-loop01.c: New test.
12916 * testsuite/libgomp.dg/omp-loop02.c: New test.
12917
12918 2005-09-20 Jakub Jelinek <jakub@redhat.com>
12919
12920 * configure.ac (AC_PROG_FC): Add.
12921 (USE_FORTRAN): New automake conditional.
12922 * configure: Rebuilt.
12923 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12924 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12925 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12926 Add rules to build them.
12927 * Makefile.in: Rebuilt.
12928 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12929 OMP_NEST_LOCK_KIND.
12930 * libgomp.map: Add Fortran wrappers.
12931 * libgomp_f.h.in: New file.
12932 * omp_lib.h.in: New file.
12933 * omp_lib.f90.in: New file.
12934 * fortran.c: New file.
12935 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12936 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12937 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12938 libgfortran has been built.
12939 * testsuite/libgomp.fortran/fortran.exp: New file.
12940 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12941 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12942 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12943 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12944 * testsuite/libgomp.fortran/omp_hello.f: New test.
12945 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12946 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12947 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12948 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12949 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12950 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12951 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12952 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12953
12954 2005-08-30 Richard Henderson <rth@redhat.com>
12955
12956 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12957 function for when aliases are not usable.
12958 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12959 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12960 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12961 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12962 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12963 GOMP_loop_ordered_guided_next): Likewise.
12964 * ordered.c (GOMP_ordered_start): Likewise.
12965
12966 2005-08-01 Diego Novillo <dnovillo@redhat.com>
12967
12968 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12969 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12970 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12971 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12972 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12973 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12974 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12975 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12976 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12977
12978 2005-07-07 Eric Christopher <echristo@redhat.com>
12979 Diego Novillo <dnovillo@redhat.com>
12980
12981 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12982 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12983 up code.
12984 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12985 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12986 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12987 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12988 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12989 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12990 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12991
12992 2005-06-13 Diego Novillo <dnovillo@redhat.com>
12993
12994 * TOPLEVEL.patch: Remove.
12995
12996 2005-05-16 Richard Henderson <rth@redhat.com>
12997
12998 * configure.ac: Test for clock_gettime.
12999 * config.h.in, configure: Rebuild.
13000 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13001 (omp_get_wtime): Use clock_gettime if available.
13002 (omp_get_wtick): Use clock_getres if available.
13003
13004 2005-05-11 Richard Henderson <rth@redhat.com>
13005
13006 * config/linux/ia64/futex.h: New file.
13007 * configure.tgt: Use it.
13008
13009 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13010
13011 2005-05-07 Richard Henderson <rth@redhat.com>
13012
13013 * config/linux/powerpc/futex.h: New file.
13014 * configure.tgt: Use it.
13015
13016 * config/linux/i486/futex.h: Merge ...
13017 * config/linux/x86_64/futex.h: ... into ...
13018 * config/linux/x86/futex.h: ... here.
13019 * configure.tgt: Update to match.
13020
13021 2005-05-06 Richard Henderson <rth@redhat.com>
13022
13023 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13024 * config/linux/i486/futex.h: Likewise.
13025 * config/linux/x86_64/futex.h: Likewise.
13026
13027 * config/linux/lock.c: New file.
13028 * config/linux/omp-lock.h: New file.
13029
13030 * critical.c, env.h: Don't include omp.h
13031 * config/posix/lock.c: Include libgomp.h instead of omp.h.
13032 * config/posix/time.c: Likewise.
13033 * config/posix/omp-lock.h: New file.
13034 * libgomp.h: Include omp-lock.h and omp.h.
13035 * Makefile.am (nodist_include_HEADERS): New.
13036 (omp.h): New rule.
13037 * configure.ac (PERL): New.
13038 * mkomp_h.pl: New file.
13039 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13040 with templates.
13041 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13042
13043 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13044 build directory. Re-add -march=i486 hack.
13045
13046 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13047 (libgomp_link_flags): Remove.
13048 (libgomp_initialized): Remove.
13049 (libgomp_init): Don't protect from reinitialization. Copy code
13050 from libstdc++ for getting the multilib set correctly.
13051
13052 2005-05-05 Richard Henderson <rth@redhat.com>
13053
13054 * config/linux/alpha/futex.h: New file.
13055 * configure.tgt (alpha*-*-linux*): Use it.
13056
13057 * config/posix/mutex.c: New file.
13058 * config/posix/sem.c: Use libgomp.h.
13059
13060 * configure.tgt (x86_64-linux): Also test CC for -m32.
13061 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13062
13063 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
13064 after $gccpath.
13065
13066 * Makefile.am (SUBDIRS): New.
13067 (libgomp_la_LDFLAGS): Add -lpthread.
13068 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13069 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13070
13071 * libgomp_g.h: New file.
13072 * libgomp.h: Split out all public declarations to libgomp_g.h.
13073 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13074 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13075 * config/linux/sem.h: Likewise.
13076 * config/posix/sem.h: Likewise.
13077
13078 * Makefile.am (AM_LDFLAGS): New.
13079 (libgomp_version_script): Split out from ...
13080 (libgomp_la_LDFLAGS): ... here.
13081 (libgomp_version_info): New.
13082 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13083 (LIBGOMP_ENABLE): New.
13084 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13085 (LIBGOMP_ENABLE_SYMVERS): New.
13086 * configure.ac (AC_INIT): Version 1.0.
13087 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13088 (enable-linux-futex): Likewise. Rename from enable-futex.
13089 (libtool_VERSION): New.
13090 (LIBGOMP_ENABLE_SYMVERS): Use it.
13091 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13092 * Makefile.in, aclocal.m4, configure: Rebuild.
13093
13094 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13095 (gomp_mutex_unlock_slow): Fix typo.
13096 * config/linux/sem.c: Similarly.
13097 (gomp_sem_post_slow): Fix typo.
13098 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13099 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13100 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13101
13102 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13103 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13104 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13105 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13106 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13107 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13108 LDFLAGS. Pull enable_futex check to top-level.
13109 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13110 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13111
13112 First attempt at real configury.
13113 * Makefile, config.h: Remove file.
13114 * Makefile.am, Makefile.in: New file.
13115 * acinclude.m4 aclocal.m4: New file.
13116 * configure.ac, configure.tgt, configure: New file.
13117
13118 * config/posix/lock.c: Rename from sys-lock.c.
13119 * config/posix/mutex.h: Rename from sys-mutex.h.
13120 * config/posix/sem.c: Rename from sys-sem.c.
13121 * config/posix/sem.h: Rename from sys-sem.h.
13122 * config/posix/proc.c: Rename from sys-proc.c.
13123 * config/posix/time.c: Rename from sys-proc.c.
13124
13125 * config/linux/mutex.c: New file.
13126 * config/linux/mutex.h: New file.
13127 * config/linux/sem.c: New file.
13128 * config/linux/sem.h: New file.
13129 * config/linux/i486/futex.h: New file.
13130 * config/linux/x86_64/futex.h: New file.
13131
13132 2005-05-04 Richard Henderson <rth@redhat.com>
13133
13134 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13135 * libgomp.h: Declare them.
13136 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13137 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13138
13139 2005-05-04 Richard Henderson <rth@redhat.com>
13140
13141 * libgomp-1 code drop
13142
13143 2005-05-04 Richard Henderson <rth@redhat.com>
13144
13145 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13146 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13147 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13148 (gomp_iter_static_next): Update.
13149 (gomp_ordered_static_next): Update.
13150 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13151 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13152 totally empty range.
13153 (gomp_loop_ordered_static_next): Refine test for calling
13154 gomp_ordered_static_next.
13155 * testsuite/ordered-1.c: Add case for more threads than iterations.
13156
13157 * iter.c (gomp_iter_runtime_next_locked): Remove.
13158 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
13159 gomp_loop_guided_start, gomp_loop_ordered_static_start,
13160 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13161 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13162 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13163 gomp_loop_ordered_guided_next): Downcase name, make static, add
13164 an external alias with the old name.
13165 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13166 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13167 switch and call one of the above static functions.
13168 * libgomp.h: Update.
13169
13170 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13171 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13172 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13173 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13174 GOMP_loop_ordered_guided_start): Update to match.
13175 * sections.c (GOMP_sections_start): Likewise.
13176 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13177
13178 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13179 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13180 Use bounds check instead of modulus.
13181 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13182 (gomp_ordered_last): Don't sync with ordered_owner here.
13183 (gomp_ordered_next): Likewise.
13184 (gomp_ordered_static_loop_next): Likewise.
13185 * loop.c, libgomp.h: Update to match.
13186
13187 * libgomp.h (GOMP_barrier): Declare.
13188
13189 * testsuite/barrier-1.c: New file.
13190 * testsuite/critical-1.c: New file.
13191 * testsuite/ordered-2.c: New file.
13192 * testsuite/ordered-1.c: New file.
13193 * testsuite/sections-1.c: New file.
13194 * testsuite/single-1.c: New file.
13195 * testsuite/Makefile (TESTS): Add them.
13196
13197 2005-05-04 Richard Henderson <rth@redhat.com>
13198
13199 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13200 * loop.c (GOMP_loop_static_start): If not the startup thread,
13201 acquire the mutex to wait for initialization complete.
13202 (GOMP_loop_ordered_static_start): Likewise.
13203 (GOMP_loop_ordered_runtime_start): Likewise.
13204 (GOMP_loop_ordered_static_first): Remove.
13205 (GOMP_loop_ordered_dynamic_first): Remove.
13206 (GOMP_loop_ordered_guided_first): Remove.
13207 (GOMP_loop_ordered_runtime_first): Remove.
13208 * ordered.c (gomp_ordered_loop_first): Post to own release when
13209 we're the first thread.
13210 (gomp_ordered_loop_last): Wait on release if not owner.
13211 (gomp_ordered_loop_next): Likewise.
13212 (gomp_ordered_static_loop_init): New.
13213 (gomp_ordered_static_loop_next): Use ordered_owner.
13214 (GOMP_ordered_start): Likewise.
13215 * work.c (gomp_new_work_share): Initialize ordered_owner.
13216
13217 2005-05-03 Richard Henderson <rth@redhat.com>
13218
13219 * Makefile (OPT): New.
13220 (CFLAGS): Use it.
13221
13222 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13223 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13224 * libgomp.h, libgomp.map, NOTES: Update to match.
13225
13226 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13227 Add initialized and thr members.
13228 (gomp_thread_start): Pause when initially spawned to wait for
13229 the whole team to be created.
13230 (gomp_team_start): Release team members at the end.
13231
13232 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13233 (f_foo_1): Use GOMP_loop_end.
13234 (f_foo_2): Use GOMP_loop_end_nowait.
13235
13236 * testsuite/loop-2.c: New file.
13237 * testsuite/Makefile (TESTS): Add it.
13238
13239 2005-05-03 Richard Henderson <rth@redhat.com>
13240
13241 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13242 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13243 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13244 initial work_share.
13245
13246 * testsuite/Makefile: New file.
13247 * testsuite/loop-1.c: New file.
13248
13249 2005-05-03 Richard Henderson <rth@redhat.com>
13250
13251 Initial implementation and checkin.
13252 \f
13253 Copyright (C) 2005-2020 Free Software Foundation, Inc.
13254
13255 Copying and distribution of this file, with or without modification,
13256 are permitted in any medium without royalty provided the copyright
13257 notice and this notice are preserved.