]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
lto/lto.c – used $ or . in generated linkptr name
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
02f7334a
JJ
12020-03-19 Jakub Jelinek <jakub@redhat.com>
2
3 PR c++/93931
4 * testsuite/libgomp.c++/pr93931.C: New test.
5
bb83e069
TB
62020-03-19 Tobias Burnus <tobias@codesourcery.com>
7
8 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
9 dg-allow-blank-lines-in-output.
10
26cbcfe5
TB
112020-03-18 Julian Brown <julian@codesourcery.com>
12 Tobias Burnus <tobias@codesourcery.com>
13
14 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
15 it work concurrently.
16
4da92887
TB
172020-03-18 Tobias Burnus <tobias@codesourcery.com>
18
19 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
20 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
21 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
22
9c3cdb43
JJ
232020-03-14 Jakub Jelinek <jakub@redhat.com>
24
25 PR middle-end/93566
26 * testsuite/libgomp.c/pr93566.c: New test.
27
83d45e1d
FH
282020-02-21 Frederik Harwath <frederik@codesourcery.com>
29
30 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
31 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
32 integer(acc_device_property) for the type of the return value of
33 acc_get_property.
34
8d1a1cb1
TB
352020-02-19 Tobias Burnus <tobias@codesourcery.com>
36
37 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
38 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
39 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
40 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
41 (acc_set_device_num): Fix Fortran argument name, use same name for C.
42 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
43 corrections; add note about the previous interface and named constant.
44 (OpenACC library and environment variables): Fix two typos.
45 * openacc.f90: Use for all procedures the argument names from the spec
46 as for …_h they are user visible.
47 (openacc_kinds): Rename acc_device_property to
48 acc_device_property_kinds and change value to int32 ; and update users.
49 Re-add acc_device_property for for backward compatibility.
50 (acc_get_property_string_h): Clean up as acc_device_property_kind
51 changed.
52 (acc_get_property_h): Likewise and return c_size_t instead of
53 acc_device_property.
54 (openacc): Also export acc_device_property_kinds.
55 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
56 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
57 handling; check against /= 0 instead of == 1 to match C.
58 * openacc_lib.h: Use for all procedures the argument names from the spec
59 as for …_h they are user visible. Place !GCC$ into the first column to
60 be active also for fixed-form souce form.
61 (acc_device_current, acc_device_property_kind, acc_device_property,
62 acc_property_memory, acc_property_free_memory, acc_property_name,
63 acc_property_vendor, acc_property_driver): New named constants.
64 (acc_get_property, acc_get_property_string): New generic interface.
65
2d9eb4e4
FH
662020-02-13 Frederik Harwath <frederik@codesourcery.com>
67
68 PR libgomp/93481
69 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
70 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
71 optional.
72 (gomp_target_task_fn): Assert "devicep->async_run_func".
73 (clear_unsupported_flags): New function to remove unsupported flags
74 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
75 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
76 * testsuite/libgomp.c/target-33.c:
77 Remove xfail for offload_target_nvptx.
78 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
79
802020-02-10 Frederik Harwath <frederik@codesourcery.com>
81
82 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
83 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
84 * testsuite/libgomp.c/target-34.c: Likewise.
85 * testsuite/libgomp.c/target-link-1.c: Add xfail for
86 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
87
9bc3b95d
JJ
882020-02-09 Jakub Jelinek <jakub@redhat.com>
89
90 * testsuite/libgomp.c/target-38.c: New test.
91
cb3f0648
JJ
922020-02-06 Jakub Jelinek <jakub@redhat.com>
93
94 PR libgomp/93515
95 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
96
91bc3c98
TB
972020-02-05 Tobias Burnus <tobias@codesourcery.com>
98
99 * testsuite/lib/libgomp.exp
100 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
101 and not as 'source' argument to libgomp_target_compile.
102
591f869a
AS
1032020-02-03 Andrew Stubbs <ams@codesourcery.com>
104
105 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
106 (gcn_gfx801_s): Remove.
107 (isa_hsa_name): Remove gfx801.
108 (isa_gcc_name): Remove gfx801/carizzo.
109 (isa_code): Remove gfx801.
110
e464fc90
TB
1112020-02-03 Julian Brown <julian@codesourcery.com>
112 Tobias Burnus <tobias@codesourcery.com>
113
114 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
115 and *_finalize variants; document acc_attach and acc_detach; update
116 references from OpenACC 2.0 to 2.6.
117 * openacc.f90 (openacc_version): Update to 201711.
118 * openacc_lib.h (openacc_version): Update to 201711.
119 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
120 openacc_version to 201711.
121 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
122
5a28e272
KCY
1232020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
124
125 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
126 and vgpr_count fields.
127 (struct kernel_info): Add a field for a hsa_kernel_description.
128 (run_kernel): Reduce the number of threads/workers if the requested
129 number would require too many VGPRs.
130 (init_basic_kernel_info): Initialize description field with
131 the hsa_kernel_description entry for the kernel.
132
5ab5d81b
TB
1332020-01-29 Tobias Burnus <tobias@codesourcery.com>
134
135 PR bootstrap/93409
136 * plugin/configfrag.ac (enable_offload_targets): Skip
137 HSA and GCN plugin besides -m32 also for -mx32.
138 * configure: Regenerate.
139
989a5fb3
FH
1402020-01-29 Frederik Harwath <frederik@codesourcery.com>
141
142 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
143
1442020-01-29 Frederik Harwath <frederik@codesourcery.com>
145
146 * plugin-gcn.c (struct agent_info): Add fields "name" and
147 "vendor_name" ...
148 (GOMP_OFFLOAD_init_device): ... and init from here.
149 (struct hsa_context_info): Add field "driver_version_s" ...
150 (init_hsa_contest): ... and init from here.
151 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
152 implementation.
153 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
154 Enable test execution for amdgcn and host offloading targets.
155 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
156 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
157 (expect_device_properties): Split function into ...
158 (expect_device_string_properties): ... this new function ...
159 (expect_device_memory): ... and this new function.
160 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
161 Add test.
162
278c3214
JB
1632020-01-28 Julian Brown <julian@codesourcery.com>
164
165 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
166 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
167 component/non-component variable refs in a single directive.
168 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
169
e8e66971
MR
1702020-01-24 Maciej W. Rozycki <macro@wdc.com>
171
172 * configure.ac: Handle `--with-toolexeclibdir='.
173 * Makefile.in: Regenerate.
174 * aclocal.m4: Regenerate.
175 * configure: Regenerate.
176 * testsuite/Makefile.in: Regenerate.
177
9e424d97
FH
1782020-01-24 Frederik Harwath <frederik@codesourcery.com>
179
180 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
181 (expect_device_properties): Remove "expected_free_mem" argument,
182 change "expected_total_mem" argument type to size_t;
183 change types of acc_get_property results to size_t,
184 adapt format strings.
185 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
186 Use %zu instead of %zd to print size_t values.
187 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
188 rename to ...
189 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
190 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
191 rename to ...
192 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
193
14e5e746
AS
1942020-01-23 Andrew Stubbs <ams@codesourcery.com>
195
196 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
197 the device id.
198
09e0ad62
AS
1992020-01-20 Andrew Stubbs <ams@codesourcery.com>
200
201 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
202 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
203 Adjust test dimensions for amdgcn.
204 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
205 gang/worker/vector expectations dynamically.
206 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
207 (main): Likewise.
208 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
209 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
210 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
211 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
212 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
213 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
214 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
215 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
216 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
217 (acc_gang): Recognise acc_device_radeon.
218 (acc_worker): Likewise.
219 (acc_vector): Likewise.
220 (main): Set expectations for amdgcn.
221 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
222 (main): Adjust gang/worker/vector expectations dynamically.
223 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
224 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
225 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
226 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
227 for amdgcn.
228
6687d13a
AS
2292020-01-17 Andrew Stubbs <ams@codesourcery.com>
230
231 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
232 acc_device_radeon.
233 (openacc): Likewise.
234 * openacc.f90 (openacc_kinds): Likewise.
235 (openacc): Likewise.
236 * openacc.h (acc_device_t): Likewise.
237 * openacc_lib.h: Likewise.
238 * testsuite/lib/libgomp.exp
239 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
240 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
241 (cb_compute_construct_end): Likewise.
242 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
243 (cb_enqueue_launch_start): Likewise.
244 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
245 (cb_enter_data_end): Likewise.
246 (cb_exit_data_start): Likewise.
247 (cb_exit_data_end): Likewise.
248 (cb_compute_construct_end): Likewise.
249 (cb_enqueue_launch_start): Likewise.
250 (cb_enqueue_launch_end): Likewise.
251 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
252 (main): Likewise.
253
b3b75e66
TS
2542020-01-10 Thomas Schwinge <thomas@codesourcery.com>
255
6fc0385c
TS
256 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
257 to use this instead of 'enum gomp_device_property'.
258 (GOMP_OFFLOAD_get_property): Rename to...
259 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
260 * libgomp.h (struct gomp_device_descr): Move
261 'GOMP_OFFLOAD_openacc_get_property'...
262 (struct acc_dispatch_t): ... here. Adjust all users.
263 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
264
b3b75e66
TS
265 * target.c (gomp_map_vars_internal)
266 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
267 paths.
268
91df4397
JJ
2692020-01-10 Jakub Jelinek <jakub@redhat.com>
270
271 PR libgomp/93219
272 * libgomp.h (gomp_print_string): Change return type from void to int.
273 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
274 not all characters have been written.
275
df2c0d36
TB
2762020-01-08 Tobias Burnus <tobias@codesourcery.com>
277
278 * libgomp.texi: Fix typos, use https.
279
f760c0c7
TB
2802020-01-03 Tobias Burnus <tobias@codesourcery.com>
281
282 * testsuite/libgomp.fortran/optional-map.f90: Add test for
283 unallocated/disassociated actual arguments to nonallocatable/nonpointer
284 dummy arguments; those are/shall be regarded as absent arguments.
285 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
286 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
287
7e7065b9
JJ
2882020-01-01 Jakub Jelinek <jakub@redhat.com>
289
8d9254fc
JJ
290 Update copyright years.
291
7e7065b9
JJ
292 * libgomp.texi: Bump @copying's copyright year.
293
2c829799
AM
2942019-12-31 Ayush Mittal <ayush.m@samsung.com>
295
296 PR libgomp/93065
297 * oacc-init.c (goacc_runtime_deinitialize): New function.
298
e9dcb75e
JJ
2992019-12-28 Jakub Jelinek <jakub@redhat.com>
300
301 PR bootstrap/93074
302 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
303 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
304
6c84c8bf
MR
3052019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
306 Frederik Harwath <frederik@codesourcery.com>
307 Thomas Schwinge <tschwinge@codesourcery.com>
308
309 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
310 * libgomp-plugin.h (gomp_device_property_value): New union.
311 (gomp_device_property_value): New prototype.
312 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
313 constant.
314 (acc_device_property_t): New enum.
315 (acc_get_property, acc_get_property_string): New prototypes.
316 * oacc-init.c (acc_get_device_type): Also assert that result
317 is not `acc_device_current'.
318 (get_property_any, acc_get_property, acc_get_property_string):
319 New functions.
320 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
321 `acc_property_memory', `acc_property_free_memory',
322 `acc_property_name', `acc_property_vendor' and
323 `acc_property_driver' constants. Add `acc_device_property' data
324 type.
325 (openacc_internal): Add `acc_get_property' and
326 `acc_get_property_string' interfaces. Add `acc_get_property_h',
327 `acc_get_property_string_h', `acc_get_property_l' and
328 `acc_get_property_string_l'.
329 * oacc-host.c (host_get_property): New function.
330 (host_dispatch): Wire it.
331 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
332 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
333 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
334 * libgomp.texi (OpenACC Runtime Library Routines): Add
335 `acc_get_property'.
336 (acc_get_property): New node.
337 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
338 function (stub).
339 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
340 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
341 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
342 calls.
343 (GOMP_OFFLOAD_get_property): New function.
344 (struct ptx_device): Add new field "name".
345 (cuda_driver_version_s): Add new static variable ...
346 (nvptx_init): ... and init from here.
347
348 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
349 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
350 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
351 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
352 with test helper functions.
353
354 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
355
c8e759b4
MR
3562019-12-22 Maciej W. Rozycki <macro@wdc.com>
357
358 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
359 variable.
360
b092fb3b
TS
3612019-12-21 Thomas Schwinge <thomas@codesourcery.com>
362
363 * target.c (gomp_map_vars_internal): Restore 'omp declare target
364 link' handling.
365
9be3ac5d
JB
3662019-12-19 Julian Brown <julian@codesourcery.com>
367
368 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
369 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
370 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
371
02817027
JB
3722019-12-19 Julian Brown <julian@codesourcery.com>
373 Cesar Philippidis <cesar@codesourcery.com>
374
375 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
376 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
377 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
378 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
379 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
380 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
381 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
382 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
383 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
384 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
385 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
386 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
387 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
388
c2eb021f
JB
3892019-12-19 Julian Brown <julian@codesourcery.com>
390
391 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
392 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
393 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
394 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
395 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
396 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
397 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
398 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
399 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
400 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
401 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
402 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
403
8e7e71ff
JB
4042019-12-19 Julian Brown <julian@codesourcery.com>
405
406 * libgomp.h (struct target_var_desc): Add do_detach flag.
407 * oacc-init.c (acc_shutdown_1): Free aux block if present.
408 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
409 struct components. Tidy up and add some new checks.
410 (goacc_enter_data_internal): Update call to find_group_last.
411 (goacc_exit_data_internal): Support detach operations and
412 GOMP_MAP_STRUCT.
413 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
414 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
415 attach/detach in enter/exit data detection code.
416 * target.c (gomp_map_vars_existing): Initialise do_detach field of
417 tgt_var_desc.
418 (gomp_map_vars_internal): Support attach.
419 (gomp_unmap_vars_internal): Support detach.
420
5d5be7bf
JB
4212019-12-19 Julian Brown <julian@codesourcery.com>
422 Thomas Schwinge <thomas@codesourcery.com>
423
424 * libgomp.h (struct splay_tree_aux): Add attach_count field.
425 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
426 * libgomp.map (OACC_2.6): New section. Add acc_attach,
427 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
428 acc_detach_finalize_async.
429 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
430 acc_detach, acc_detach_async, acc_detach_finalize,
431 acc_detach_finalize_async): New functions.
432 * openacc.h (acc_attach, acc_attach_async, acc_detach,
433 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
434 prototypes.
435 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
436 (gomp_remove_var_internal): Free attachment counts if present.
437 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
438 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
439
5bcd470b
JB
4402019-12-19 Julian Brown <julian@codesourcery.com>
441 Cesar Philippidis <cesar@codesourcery.com>
442
443 * libgomp.h (gomp_map_val): Add prototype.
444 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
445 open-coding device-address calculation.
446 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
447 non-present case.
448
378da98f
JB
4492019-12-19 Julian Brown <julian@codesourcery.com>
450
451 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
452 field for virtual_refcount.
453 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
454 (gomp_free_memmap): Remove prototype.
455 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
456 instead of calling gomp_free_memmap.
457 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
458 dynamic_refcount.
459 (acc_unmap_data): Open code instead of forcing target_mem_desc's
460 to_free field to NULL then calling gomp_unmap_vars. Handle
461 REFCOUNT_INFINITY on target blocks.
462 (goacc_enter_data): Rename to...
463 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
464 handling for mapping groups. Use virtual_refcount instead of
465 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
466 map_map_vars_async call. Re-do lookup for target pointer return value.
467 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
468 renamed goacc_enter_datum function.
469 (goacc_exit_data): Rename to...
470 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
471 (acc_delete, acc_delete_async, acc_delete_finalize,
472 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
473 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
474 goacc_exit_datum function.
475 (gomp_acc_remove_pointer, find_pointer): Remove functions.
476 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
477 New functions.
478 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
479 goacc_exit_data_internal helper functions.
480 * target.c (gomp_map_vars_internal): Handle
481 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
482 semantics.
483 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
484 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
485 virtual_refcount field instead of dynamic_refcount.
486 (gomp_free_memmap): Remove function.
487 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
488 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
489 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
490
2a656a93
JB
4912019-12-19 Julian Brown <julian@codesourcery.com>
492 Thomas Schwinge <thomas@codesourcery.com>
493
494 * libgomp.h (struct splay_tree_aux): New.
495 (struct splay_tree_key_s): Replace link_key field with aux pointer.
496 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
497 to aux struct.
498 (gomp_remove_var_internal): Free aux block if present.
499 (gomp_load_image_to_device): Zero-initialise aux field instead of
500 link_key field.
501 (omp_target_associate_pointer): Zero-initialise aux field.
502
601399c0
JJ
5032019-12-18 Jakub Jelinek <jakub@redhat.com>
504
505 PR middle-end/86416
506 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
507 q or none.
508 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
509 L or none.
510
a6163563
JB
5112019-12-19 Julian Brown <julian@codesourcery.com>
512 Maciej W. Rozycki <macro@codesourcery.com>
513 Tobias Burnus <tobias@codesourcery.com>
514 Thomas Schwinge <thomas@codesourcery.com>
515
516 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
517 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
518 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
519 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
520 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
521 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
522 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
523 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
524 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
525
6278b549
TS
5262019-12-18 Thomas Schwinge <thomas@codesourcery.com>
527
77ce5555
TS
528 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
529 called...
530 (goacc_insert_pointer): ... from here, "present" case.
531 (goacc_insert_pointer): Inline function into...
532 (GOACC_enter_exit_data): ... here, and simplify.
533
9444a299
TS
534 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
535 called...
536 (goacc_insert_pointer): ... from here, "not present" case.
537
5031b619
TS
538 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
539 all users.
540
1a79b578
TS
541 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
542 'goacc_enter_data', 'goacc_exit_data'.
543
34cfe31e
TS
544 * oacc-mem.c (delete_copyout): Refactor into...
545 (goacc_exit_data): ... this. Adjust all users.
546
aaf0e9d7
TS
547 * oacc-mem.c (present_create_copy): Refactor into...
548 (goacc_enter_data): ... this. Adjust all users.
549
83d1d065
TS
550 * target.c (gomp_unmap_vars_internal): Add a safeguard to
551 'gomp_remove_var'.
552
cc3f11f5
TS
553 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
554 like 'GOMP_MAP_FROM'.
555
ddb25eb9
TS
556 PR libgomp/92726
557 PR libgomp/92970
558 PR libgomp/92984
559 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
560 fails.
561 (GOACC_enter_exit_data): Simplify accordingly.
562 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
563 subsuming...
564 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
565 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
566 file.
567 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
568 subsuming...
569 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
570 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
571 file.
572 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
573 subsuming...
574 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
575
32128577
TS
576 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
577 'finalize' handling.
578
ba40277f
TS
579 PR libgomp/92848
580 * oacc-mem.c (acc_map_data, present_create_copy)
581 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
582 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
583 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
584 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
585 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
586 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
587 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
588 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
589 Remove "XFAIL"s.
590
6278b549
TS
591 * target.c (gomp_unmap_tgt): Make it 'static'.
592 * libgomp.h (gomp_unmap_tgt): Remove.
593
c80c9e26
TB
5942019-12-18 Tobias Burnus <tobias@codesourcery.com>
595
596 PR middle-end/86416
597 * testsuite/libgomp.c/pr86416-1.c: New.
598 * testsuite/libgomp.c/pr86416-2.c: New.
599
0b8499a4
TB
6002019-12-17 Tobias Burnus <tobias@codesourcery.com>
601
602 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
603 all symbols as public except for the 'use …, only' imported symbol,
604 which is private.
605 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
606 all symbols from module openacc_kinds as PUBLIC
607 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
608 fix comment typo.
609 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
610
1cbd94e8
JB
6112019-12-13 Julian Brown <julian@codesourcery.com>
612
613 PR libgomp/92881
614
615 * libgomp.h (gomp_remove_var_async): Add prototype.
616 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
617 gomp_remove_var.
618 * target.c (gomp_unref_tgt): Change return type to bool, indicating
619 whether target_mem_desc was unmapped.
620 (gomp_unref_tgt_void): New.
621 (gomp_remove_var): Reimplement in terms of...
622 (gomp_remove_var_internal): ...this new helper function.
623 (gomp_remove_var_async): New, implemented using above helper function.
624 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
625 gomp_unref_tgt.
626
26b74ed0
AS
6272019-12-13 Andrew Stubbs <ams@codesourcery.com>
628
629 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
630 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
631 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
632 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
633 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
634 Likewise.
635 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
636 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
637
7858bb96
TB
6382019-12-13 Tobias Burnus <tobias@codesourcery.com>
639
640 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
641 as public except for the 'use …, only' imported symbol, which is
642 private.
643 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
644 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
645 attributes for acc_copyout_finalize and acc_delete_finalize.
646
f8ac7d8f
JJ
6472019-12-11 Jakub Jelinek <jakub@redhat.com>
648
649 PR fortran/92899
650 * testsuite/libgomp.fortran/atomic1.f90: New test.
651
3d1b5e71
TS
6522019-12-11 Thomas Schwinge <thomas@codesourcery.com>
653
d6e8c01c
TS
654 PR libgomp/92843
655 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
656 reference counting for structured 'REFCOUNT_INFINITY'. Add some
657 assertions.
658 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
659 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
660 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
661 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
662 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
663
57963e39
TS
664 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
665 * oacc-mem.c: ... here.
666 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
667 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
668 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
669 Remove.
670 * libgomp_g.h: Update.
671
c5578b56
TS
672 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
673 * oacc-async.c: ... here.
674 * oacc-int.h (goacc_wait): Declare.
675 * libgomp_g.h: Update
676
3d1b5e71
TS
677 PR libgomp/92854
678 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
679 New file.
680 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
681 Likewise.
682 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
683 Likewise.
684 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
685 Likewise.
686 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
687 Likewise.
688 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
689 Likewise.
690
5e939438
TS
6912019-12-11 Thomas Schwinge <thomas@codesourcery.com>
692 Julian Brown <julian@codesourcery.com>
693
694 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
695 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
696
93d90219
TB
6972019-12-11 Tobias Burnus <tobias@codesourcery.com>
698
699 * omp_lib.h.in: Fix spelling of function declaration
700 omp_get_cancell(l)ation.
701 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
702 Fix typos.
703 * env.c: Fix comment typos.
704 * oacc-host.c: Likewise.
705 * ordered.c: Likewise.
706 * task.c: Likewise.
707 * team.c: Likewise.
708 * config/gcn/task.c: Likewise.
709 * config/gcn/team.c: Likewise.
710 * config/nvptx/task.c: Likewise.
711 * config/nvptx/team.c: Likewise.
712 * plugin/plugin-gcn.c: Likewise.
713 * testsuite/libgomp.fortran/jacobi.f: Likewise.
714 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
715 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
716
a0221aee
TB
7172019-12-11 Tobias Burnus <tobias@codesourcery.com>
718
719 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
720 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
721 unnecessary 'dg-additional-options "-w"'.
722
47afc7b4
TS
7232019-12-09 Thomas Schwinge <thomas@codesourcery.com>
724 Julian Brown <julian@codesourcery.com>
725
726 PR libgomp/92116
727 PR libgomp/92877
728
729 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
730 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
731 Adjust all users.
732 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
733 Remove XFAIL.
734 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
735 Likewise.
736 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
737
b5859e40
TS
7382019-12-09 Thomas Schwinge <thomas@codesourcery.com>
739
cec41816
TS
740 PR libgomp/92503
741 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
742 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
743 file.
744 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
745 Likewise.
746 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
747 Likewise.
748 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
749 Likewise.
750 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
751 Likewise.
752 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
753 Likewise.
754 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
755 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
756 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
757 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
758 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
759 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
760 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
761 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
762 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
763 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
764
e103542b
TS
765 PR libgomp/92840
766 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
767 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
768 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
769 New file.
770 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
771 Likewise.
772 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
773 Likewise.
774 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
775 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
776
41f36f22
TS
777 PR libgomp/92511
778 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
779 this file...
780 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
781 this file...
782 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
783 file...
784 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
785 file...
786 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
787 ... with their content moved into, and extended in this new file.
788 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
789 New file.
790 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
791 Likewise.
792 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
793 Likewise.
794 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
795 Likewise.
796
6effebe1
TS
797 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
798
7d020473
TS
799 PR libgomp/92854
800 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
801
1e1fb715
TS
802 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
803
b5859e40
TS
804 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
805
11586ed9
TB
8062019-12-09 Tobias Burnus <tobias@codesourcery.com>
807
808 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
809 unique.
810 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
811 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
812 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
813 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
814 Ditto.
815 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
816 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
817
3ad4a03a
KCY
8182019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
819
820 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
821
6e4d01d6
TB
8222019-12-06 Tobias Burnus <tobias@codesourcery.com>
823 Kwok Cheung Yeung <kcy@codesourcery.com>
824
825 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
826 if input it a NULL pointer.
827 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
828 diagnostic of NULL pointer.
829 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
830 * testsuite/libgomp.fortran/optional-map.f90: New.
831 * testsuite/libgomp.fortran/use_device_addr-1.f90
832 (test_dummy_opt_callee_1_absent): New.
833 (test_dummy_opt_call_1): Call it.
834 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
835 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
836 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
837 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
838 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
839 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
840 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
841 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
842 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
843 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
844 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
845 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
846 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
847 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
848 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
849 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
850
ad80ec46
TB
8512019-12-05 Tobias Burnus <tobias@codesourcery.com>
852
853 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
854 expect dg-output of 'Error termination.' for GCN.
855 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
856 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
857
a8a5f4cc
JJ
8582019-12-04 Jakub Jelinek <jakub@redhat.com>
859
860 PR fortran/92756
861 * testsuite/libgomp.fortran/teams1.f90: New test.
862 * testsuite/libgomp.fortran/teams2.f90: New test.
863
d8f0024b
FH
8642019-12-03 Frederik Harwath <frederik@codesourcery.com>
865
866 * oacc-init.c (acc_known_device_type): Add function.
867 (unknown_device_type_error): Add function.
868 (name_of_acc_device_t): Change to call unknown_device_type_error
869 on unknown type.
870 (resolve_device): Use acc_known_device_type.
871 (acc_init): Fail if acc_device_t argument is not valid.
872 (acc_shutdown): Likewise.
873 (acc_get_num_devices): Likewise.
874 (acc_set_device_type): Likewise.
875 (acc_get_device_num): Likewise.
876 (acc_set_device_num): Likewise.
877 (acc_on_device): Add comment that argument validity is not checked.
878
83caa34e
AS
8792019-12-03 Andrew Stubbs <ams@codesourcery.com>
880
881 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
882 Recognize amdgcn.
883 (check_effective_target_openacc_amdgcn_accel_present): New proc.
884 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
885 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
886 * testsuite/libgomp.oacc-c/c.exp: Likewise.
887 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
888
00484365
SN
8892019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
890
891 PR libgomp/91938
892 * configure.tgt: Avoid IE tls on *-*-musl*.
893
9909a059
TB
8942019-11-29 Tobias Burnus <tobias@codesourcery.com>
895
896 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
897 adding a common-block test case.
898
b3f44388
JJ
8992019-11-29 Jakub Jelinek <jakub@redhat.com>
900
901 PR c++/60228
902 * testsuite/libgomp.c++/udr-20.C: New test.
903 * testsuite/libgomp.c++/udr-21.C: New test.
904
b1a73b48
TS
9052019-11-27 Thomas Schwinge <thomas@codesourcery.com>
906
907 * testsuite/lib/libgomp.exp
908 (check_effective_target_offload_target_nvptx): New proc.
909 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
910 'dg-skip-if'.
911 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
912 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
913 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
914
b8e72446
RO
9152019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
916
917 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
918 * testsuite/libgomp.c/pr39591-2.c: Likewise.
919 * testsuite/libgomp.c/pr39591-3.c: Likewise.
920 * testsuite/libgomp.c/private-1.c: Likewise.
921 * testsuite/libgomp.c/task-1.c: Likewise.
922 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
923
d88b27da
JB
9242019-11-20 Julian Brown <julian@codesourcery.com>
925
926 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
927 aq->mutex here.
928 (queue_push_launch): Lock aq->mutex before calling
929 wait_for_queue_nonfull.
930 (queue_push_callback): Likewise.
931 (queue_push_asyncwait): Likewise.
932 (queue_push_placeholder): Likewise.
933
8d2f4ddf
JB
9342019-11-20 Julian Brown <julian@codesourcery.com>
935
936 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
937 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
938 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
939 return code.
940
e307b05f
JB
9412019-11-20 Julian Brown <julian@codesourcery.com>
942
943 PR libgomp/92511
944
945 * oacc-mem.c (present_create_copy): Fix device pointer return value in
946 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
947 in non-present/create case.
948 (delete_copyout): Change error condition to fail only on copies outside
949 of mapped block. Adjust error message accordingly.
950 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
951 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
952 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
953 message.
954 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
956 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
957
83115e9e
MR
9582019-11-20 Maciej W. Rozycki <macro@wdc.com>
959
960 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
961 libatomic in build-tree testing.
962
a1289887
MR
9632019-11-18 Maciej W. Rozycki <macro@wdc.com>
964
965 * testsuite/Makefile.in: Regenerate.
966
8916ba87
AS
9672019-11-15 Andrew Stubbs <ams@codesourcery.com>
968
969 * testsuite/libgomp.c/target-print-1.c: New file.
970 * testsuite/libgomp.fortran/target-print-1.f90: New file.
971 * testsuite/libgomp.oacc-c/print-1.c: New file.
972 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
973
237957cc
AS
9742019-11-13 Andrew Stubbs <ams@codesourcery.com>
975 Kwok Cheung Yeung <kcy@codesourcery.com>
976 Julian Brown <julian@codesourcery.com>
977 Tom de Vries <tom@codesourcery.com>
978
979 * plugin/Makefrag.am: Add amdgcn plugin support.
980 * plugin/configfrag.ac: Likewise.
981 * plugin/plugin-gcn.c: New file.
982 * configure: Regenerate.
983 * Makefile.in: Regenerate.
984 * testsuite/Makefile.in: Regenerate.
985
cee16451
AS
9862019-11-13 Andrew Stubbs <ams@codesourcery.com>
987
988 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
989 and use team_malloc variants.
990 (gomp_gcn_exit_kernel): Use team_free.
991 * libgomp.h (TEAM_ARENA_SIZE): Define.
992 (TEAM_ARENA_START): Define.
993 (TEAM_ARENA_FREE): Define.
994 (TEAM_ARENA_END): Define.
995 (team_malloc): New function.
996 (team_malloc_cleared): New function.
997 (team_free): New function.
998 * team.c (gomp_new_team): Initialize and use team_malloc.
999 (free_team): Use team_free.
1000 (gomp_free_thread): Use team_free.
1001 (gomp_pause_host): Use team_free.
1002 * work.c (gomp_init_work_share): Use team_malloc.
1003 (gomp_fini_work_share): Use team_free.
1004
fa499995
AS
10052019-11-13 Andrew Stubbs <ams@codesourcery.com>
1006 Kwok Cheung Yeung <kcy@codesourcery.com>
1007 Julian Brown <julian@codesourcery.com>
1008 Tom de Vries <tom@codesourcery.com>
1009
1010 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1011 * Makefile.in: Regenerate.
1012 * config.h.in (PLUGIN_GCN): Add new undef.
1013 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1014 * config/gcn/affinity-fmt.c: New file.
1015 * config/gcn/bar.c: New file.
1016 * config/gcn/bar.h: New file.
1017 * config/gcn/doacross.h: New file.
1018 * config/gcn/icv-device.c: New file.
1019 * config/gcn/oacc-target.c: New file.
1020 * config/gcn/simple-bar.h: New file.
1021 * config/gcn/target.c: New file.
1022 * config/gcn/task.c: New file.
1023 * config/gcn/team.c: New file.
1024 * config/gcn/time.c: New file.
1025 * configure.ac: Add amdgcn*-*-*.
1026 * configure: Regenerate.
1027 * configure.tgt: Add amdgcn*-*-*.
1028 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1029 * libgomp.h (gcn_thrs): Add amdgcn variant.
1030 (set_gcn_thrs): Likewise.
1031 (gomp_thread): Likewise.
1032 * oacc-int.h (goacc_thread): Likewise.
1033 * oacc-target.c: New file.
1034 * openacc.f90 (acc_device_gcn): New parameter.
1035 * openacc.h (acc_device_t): Add acc_device_gcn.
1036 * team.c (gomp_free_pool_helper): Add amdgcn support.
1037
d2903ce0
AS
10382019-11-13 Andrew Stubbs <ams@codesourcery.com>
1039 Julian Brown <julian@codesourcery.com>
1040
1041 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1042 parameter.
1043 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1044 queue constructor.
1045 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1046 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1047 device parameter.
1048
b3d14b3a
AS
10492019-11-13 Andrew Stubbs <ams@codesourcery.com>
1050
1051 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1052 * config/nvptx/libgomp-plugin.c: Move ...
1053 * config/accel/libgomp-plugin.c: ... to here.
1054 * config/nvptx/lock.c: Move ...
1055 * config/accel/lock.c: ... to here.
1056 * config/nvptx/mutex.c: Move ...
1057 * config/accel/mutex.c: ... to here.
1058 * config/nvptx/mutex.h: Move ...
1059 * config/accel/mutex.h: ... to here.
1060 * config/nvptx/oacc-async.c: Move ...
1061 * config/accel/oacc-async.c: ... to here.
1062 * config/nvptx/oacc-cuda.c: Move ...
1063 * config/accel/oacc-cuda.c: ... to here.
1064 * config/nvptx/oacc-host.c: Move ...
1065 * config/accel/oacc-host.c: ... to here.
1066 * config/nvptx/oacc-init.c: Move ...
1067 * config/accel/oacc-init.c: ... to here.
1068 * config/nvptx/oacc-mem.c: Move ...
1069 * config/accel/oacc-mem.c: ... to here.
1070 * config/nvptx/oacc-plugin.c: Move ...
1071 * config/accel/oacc-plugin.c: ... to here.
1072 * config/nvptx/omp-lock.h: Move ...
1073 * config/accel/omp-lock.h: ... to here.
1074 * config/nvptx/openacc.f90: Move ...
1075 * config/accel/openacc.f90: ... to here.
1076 * config/nvptx/pool.h: Move ...
1077 * config/accel/pool.h: ... to here.
1078 * config/nvptx/proc.c: Move ...
1079 * config/accel/proc.c: ... to here.
1080 * config/nvptx/ptrlock.c: Move ...
1081 * config/accel/ptrlock.c: ... to here.
1082 * config/nvptx/ptrlock.h: Move ...
1083 * config/accel/ptrlock.h: ... to here.
1084 * config/nvptx/sem.c: Move ...
1085 * config/accel/sem.c: ... to here.
1086 * config/nvptx/sem.h: Move ...
1087 * config/accel/sem.h: ... to here.
1088 * config/nvptx/thread-stacksize.h: Move ...
1089 * config/accel/thread-stacksize.h: ... to here.
1090
62aee289
MR
10912019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1092 Tobias Burnus <tobias@codesourcery.com>
1093 Frederik Harwath <frederik@codesourcery.com>
1094 Thomas Schwinge <thomas@codesourcery.com>
1095
1096 libgomp/
1097 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1098 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1099 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1100
a2c26c50
TB
11012019-11-11 Tobias Burnus <tobias@codesourcery.com>
1102 Kwok Cheung Yeung <kcy@codesourcery.com>
1103
1104 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1105 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1106
6d4868f3
TS
11072019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1108
bfa1837b
TS
1109 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1110
6d4868f3
TS
1111 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1112 run'.
1113 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1114 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1115
5d183d17
FH
11162019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1117
1118 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1119 Add expected warnings about missing reduction clauses.
1120 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1121 Likewise.
1122 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1123 Likewise.
1124 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1125 Likewise.
1126
d8f03b03
TB
11272019-11-04 Tobias Burnus <tobias@codesourcery.com>
1128
1129 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1130 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1131 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1132 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1133 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1134 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1135
12fd2ec5
TB
11362019-11-04 Tobias Burnus <tobias@codesourcery.com>
1137
1138 PR fortran/92305
1139 * testsuite/libgomp.fortran/allocatable2.f90: Use
1140 unique numbers with 'stop'.
1141 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1142 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1143 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1144 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1145 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1146
92e63bd2
TB
11472019-11-01 Tobias Burnus <tobias@codesourcery.com>
1148
1149 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1150 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1151 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1152 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1153 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1154 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1155
91ae0a46
TB
11562019-10-30 Tobias Burnus <tobias@codesourcery.com>
1157
1158 * testsuite/libgomp.fortran/target9.f90: New.
1159
c425e66b
TB
11602019-10-30 Tobias Burnus <tobias@codesourcery.com>
1161
1162 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1163 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1164 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1165 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1166 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1167 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1168 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1169 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1170 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1171 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1172 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1173 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1174 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1175 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1176 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1177 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1178 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1179 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1180 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1181 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1182 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1183 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1184 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1185 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1186 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1187 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1188 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1189 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1190 * testsuite/libgomp.fortran/character1.f90: Ditto.
1191 * testsuite/libgomp.fortran/character2.f90: Ditto.
1192 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1193 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1194 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1195 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1196 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1197 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1198 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1199 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1200 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1201 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1202 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1203 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1204 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1205 * testsuite/libgomp.fortran/do1.f90: Ditto.
1206 * testsuite/libgomp.fortran/do2.f90: Ditto.
1207 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1208 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1209 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1210 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1211 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1212 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1213 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1214 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1215 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1216 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1217 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1218 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1219 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1220 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1221 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1222 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1223 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1224 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1225 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1226 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1227 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1228 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1229 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1230 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1231 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1232 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1233 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1234 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1235 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1236 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1237 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1238 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1239 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1240 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1241 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1242 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1243 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1244 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1245 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1246 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1247 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1248 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1249 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1250 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1251 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1252 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1253 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1254 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1255 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1256 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1257 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1258 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1259 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1260 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1261 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1262 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1263 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1264 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1265 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1266 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1267 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1268 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1269 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1270 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1271 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1272 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1273 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1274 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1275 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1276 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1277 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1278 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1279 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1280 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1281 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1282 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1283 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1284 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1285 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1286 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1287 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1288 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1289 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1290 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1291 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1292 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1293 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1294 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1295 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1296 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1297 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1298 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1299 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1300 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1301 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1302 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1303 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1304 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1305 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1306 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1307 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1308 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1309 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1310 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1311 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1312 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1313 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1314 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1315 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1316 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1317 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1318 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1319 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1320 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1321 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1322 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1323 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1324 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1325 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1326 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1327 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1328 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1329 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1330 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1331 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1332 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1333 * testsuite/libgomp.fortran/stack.f90: Ditto.
1334 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1335 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1336 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1337 * testsuite/libgomp.fortran/target1.f90: Ditto.
1338 * testsuite/libgomp.fortran/target2.f90: Ditto.
1339 * testsuite/libgomp.fortran/target3.f90: Ditto.
1340 * testsuite/libgomp.fortran/target4.f90: Ditto.
1341 * testsuite/libgomp.fortran/target5.f90: Ditto.
1342 * testsuite/libgomp.fortran/target6.f90: Ditto.
1343 * testsuite/libgomp.fortran/target7.f90: Ditto.
1344 * testsuite/libgomp.fortran/target8.f90: Ditto.
1345 * testsuite/libgomp.fortran/task1.f90: Ditto.
1346 * testsuite/libgomp.fortran/task2.f90: Ditto.
1347 * testsuite/libgomp.fortran/task3.f90: Ditto.
1348 * testsuite/libgomp.fortran/task4.f90: Ditto.
1349 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1350 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1351 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1352 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1353 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1354 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1355 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1356 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1357 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1358 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1359 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1360 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1361 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1362 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1363 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1364 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1365 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1366 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1367 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1368 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1369 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1370 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1371 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1372 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1373 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1374 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1375 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1376 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1377 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1378 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1379 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1380 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1381 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1382 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1383
01509e2f
TB
13842019-10-30 Tobias Burnus <tobias@codesourcery.com>
1385
1386 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1387 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1388 Ditto; add 'dg-do run' for torture testing.
1389 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1390 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1391 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1392 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1393 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1394 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1395 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1396 * testsuite/libgomp.fortran/task2.f90: Ditto.
1397 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1398 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1399 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1400 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1401 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1402 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1403
ffbdd78a
TB
14042019-10-28 Tobias Burnus <tobias@codesourcery.com>
1405
1406 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1407 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1408 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1409 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1410 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1411 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1412 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1413 Use 'stop' not abort().
1414 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1415 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1416 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1417 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1418 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1419 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1420 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1421 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1422 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1423 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1424 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1425 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1426 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1427 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1428 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1429 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1430 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1431 Ditto.
1432 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1433 Ditto.
1434 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1435 Ditto.
1436 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1437 Ditto.
1438 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1439 Ditto.
1440 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1441 Ditto.
1442 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1443 Ditto.
1444 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1445 Ditto.
1446 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1447 Ditto.
1448 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1449 Ditto.
1450 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1451 Ditto.
1452 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1453 Ditto.
1454 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1455 Ditto.
1456 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1457 Ditto.
1458 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1459 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1460 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1461 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1462 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1463 Likewise and also add 'dg-do run'.
1464 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1465 Ditto.
1466
ec084613
CP
14672019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1468 Tobias Burnus <tobias@codesourcery.com>
1469
1470 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1471 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1472 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1473
77ef3394
JJ
14742019-10-14 Jakub Jelinek <jakub@redhat.com>
1475
1476 PR libgomp/92081
1477 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1478 than 0.
1479
08c14aaa
TB
14802019-10-11 Tobias Burnus <tobias@codesourcery.com>
1481
1482 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1483 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1484
6bbead0c
TS
14852019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1486
1487 PR middle-end/92036
1488 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1489 file.
1490
eba3dee8
TB
14912019-10-09 Tobias Burnus <tobias@codesourcery.com>
1492
1493 PR testsuite/91884
1494 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1495 add -lquadmath.
1496 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1497
7d48e14f
JJ
14982019-10-09 Jakub Jelinek <jakub@redhat.com>
1499
1500 PR libgomp/92028
1501 * target.c (gomp_map_vars_internal): Readd the previous
1502 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1503 though do that just in the !not_found_cnt case.
1504
65b67cf3
TB
15052019-10-08 Tobias Burnus <tobias@codesourcery.com>
1506
1507 * gfortran.dg/gomp/target-simd.f90: New.
1508
6c7e076b
JB
15092019-10-02 Julian Brown <julian@codesourcery.com>
1510 Cesar Philippidis <cesar@codesourcery.com>
1511
1512 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1513 * target.c (FIELD_TGT_EMPTY): Define.
1514 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1515 as switch instead of list of ifs.
1516 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1517
d61bff85
AT
15182019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1519
1520 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1521 include. Replace alloca () with __builtin_alloca ().
1522 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1523
810f316d
JJ
15242019-10-01 Jakub Jelinek <jakub@redhat.com>
1525
1526 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1527 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1528 * oacc-parallel.c: Don't include "libgomp_g.h".
1529 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1530 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1531 * aclocal.m4: Regenerated.
1532 * config.h.in: Regenerated.
1533 * configure: Regenerated.
1534 * Makefile.in: Regenerated.
1535
d7f9ee98
KCY
15362019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1537
1538 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1539
e9085da5
MR
15402019-09-27 Maciej W. Rozycki <macro@wdc.com>
1541
1542 * configure: Regenerate.
1543
c28712be
TB
15442019-09-13 Tobias Burnus <tobias@codesourcery.com>
1545
1546 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1547 string is initialized.
1548
3c086f8d
FW
15492019-09-06 Florian Weimer <fweimer@redhat.com>
1550
1551 * configure: Regenerate.
1552
c6c2d1bc
CLT
15532019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1554
1555 PR other/79543
1556 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1557 scanning to conform to the GNU Coding Standards.
1558 * configure: Regenerate.
1559
5cb72d83
JJ
15602019-08-28 Jakub Jelinek <jakub@redhat.com>
1561
1562 PR libgomp/91530
1563 * testsuite/libgomp.c/scan-21.c: New test.
1564 * testsuite/libgomp.c/scan-22.c: New test.
1565
0ad7981c
JJ
15662019-08-27 Jakub Jelinek <jakub@redhat.com>
1567
1568 PR libgomp/91530
1569 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1570 targets.
1571 * testsuite/libgomp.c/scan-12.c: Likewise.
1572 * testsuite/libgomp.c/scan-13.c: Likewise.
1573 * testsuite/libgomp.c/scan-14.c: Likewise.
1574 * testsuite/libgomp.c/scan-15.c: Likewise.
1575 * testsuite/libgomp.c/scan-16.c: Likewise.
1576 * testsuite/libgomp.c/scan-17.c: Likewise.
1577 * testsuite/libgomp.c/scan-18.c: Likewise.
1578 * testsuite/libgomp.c/scan-19.c: Likewise.
1579 * testsuite/libgomp.c/scan-20.c: Likewise.
1580 * testsuite/libgomp.c++/scan-9.C: Likewise.
1581 * testsuite/libgomp.c++/scan-10.C: Likewise.
1582 * testsuite/libgomp.c++/scan-11.C: Likewise.
1583 * testsuite/libgomp.c++/scan-12.C: Likewise.
1584 * testsuite/libgomp.c++/scan-14.C: Likewise.
1585 * testsuite/libgomp.c++/scan-15.C: Likewise.
1586 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1587 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1588 * testsuite/libgomp.c++/scan-16.C: Likewise.
1589
1e67491a
TK
15902019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1591
1592 PR fortran/91473
1593 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1594 -std=legacy so invalid code in the test case is accepted.
1595
393fdeb1
TK
15962019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1597
1598 PR fortran/91422
1599 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1600 dimension.
1601
8860d270
JJ
16022019-08-08 Jakub Jelinek <jakub@redhat.com>
1603
1604 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1605 perform the lookup in the first loop only if !not_found_cnt, otherwise
1606 perform lookups for it in the second loop guarded with
1607 if (not_found_cnt || has_firstprivate).
1608 * testsuite/libgomp.c/target-37.c: New test.
1609 * testsuite/libgomp.c++/target-22.C: New test.
1610
398e3feb
JJ
16112019-08-07 Jakub Jelinek <jakub@redhat.com>
1612
1613 * testsuite/libgomp.c/target-18.c (struct S): New type.
1614 (foo): Use use_device_addr clause instead of use_device_ptr clause
1615 where required by OpenMP 5.0, add further tests for both use_device_ptr
1616 and use_device_addr clauses.
1617 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1618 (foo): Use use_device_addr clause instead of use_device_ptr clause
1619 where required by OpenMP 5.0, add further tests for both use_device_ptr
1620 and use_device_addr clauses. Add t and u arguments.
1621 (main): Adjust caller.
1622
d81ab49d
JJ
16232019-08-06 Jakub Jelinek <jakub@redhat.com>
1624
1625 * testsuite/libgomp.c++/loop-13.C: New test.
1626 * testsuite/libgomp.c++/loop-14.C: New test.
1627 * testsuite/libgomp.c++/loop-15.C: New test.
1628
c3ac76aa
JJ
16292019-07-31 Jakub Jelinek <jakub@redhat.com>
1630
1631 PR middle-end/91301
1632 * testsuite/libgomp.c++/for-27.C: New test.
1633
8dc63166
SK
16342019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1635
393fdeb1 1636 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 1637 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 1638
554a530f
JJ
16392019-07-20 Jakub Jelinek <jakub@redhat.com>
1640
1641 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1642
6cda84b5
JJ
16432019-07-08 Jakub Jelinek <jakub@redhat.com>
1644
1645 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1646 * testsuite/libgomp.c++/scan-16.C: Likewise.
1647
1f52d1a8
JJ
16482019-07-06 Jakub Jelinek <jakub@redhat.com>
1649
6f67abcd
JJ
1650 * testsuite/libgomp.c/scan-19.c: New test.
1651 * testsuite/libgomp.c/scan-20.c: New test.
1652
1f52d1a8
JJ
1653 * testsuite/libgomp.c/scan-11.c: New test.
1654 * testsuite/libgomp.c/scan-12.c: New test.
1655 * testsuite/libgomp.c/scan-13.c: New test.
1656 * testsuite/libgomp.c/scan-14.c: New test.
1657 * testsuite/libgomp.c/scan-15.c: New test.
1658 * testsuite/libgomp.c/scan-16.c: New test.
1659 * testsuite/libgomp.c/scan-17.c: New test.
1660 * testsuite/libgomp.c/scan-18.c: New test.
1661 * testsuite/libgomp.c++/scan-9.C: New test.
1662 * testsuite/libgomp.c++/scan-10.C: New test.
1663 * testsuite/libgomp.c++/scan-11.C: New test.
1664 * testsuite/libgomp.c++/scan-12.C: New test.
1665 * testsuite/libgomp.c++/scan-13.C: New test.
1666 * testsuite/libgomp.c++/scan-14.C: New test.
1667 * testsuite/libgomp.c++/scan-15.C: New test.
1668 * testsuite/libgomp.c++/scan-16.C: New test.
1669
2f03073f
JJ
16702019-07-04 Jakub Jelinek <jakub@redhat.com>
1671
1672 * testsuite/libgomp.c/scan-9.c: New test.
1673 * testsuite/libgomp.c/scan-10.c: New test.
1674
2f6bb511
JJ
16752019-07-03 Jakub Jelinek <jakub@redhat.com>
1676
1677 * testsuite/libgomp.c++/scan-1.C: New test.
1678 * testsuite/libgomp.c++/scan-2.C: New test.
1679 * testsuite/libgomp.c++/scan-3.C: New test.
1680 * testsuite/libgomp.c++/scan-4.C: New test.
1681 * testsuite/libgomp.c++/scan-5.C: New test.
1682 * testsuite/libgomp.c++/scan-6.C: New test.
1683 * testsuite/libgomp.c++/scan-7.C: New test.
1684 * testsuite/libgomp.c++/scan-8.C: New test.
1685 * testsuite/libgomp.c/scan-1.c: New test.
1686 * testsuite/libgomp.c/scan-2.c: New test.
1687 * testsuite/libgomp.c/scan-3.c: New test.
1688 * testsuite/libgomp.c/scan-4.c: New test.
1689 * testsuite/libgomp.c/scan-5.c: New test.
1690 * testsuite/libgomp.c/scan-6.c: New test.
1691 * testsuite/libgomp.c/scan-7.c: New test.
1692 * testsuite/libgomp.c/scan-8.c: New test.
1693
bd194a51
TS
16942019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1695
85fca03a
TS
1696 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1697 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1698 Likewise.
1699
bd194a51
TS
1700 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1701 check.
1702
6652161e
CP
17032019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1704
1705 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1706 file.
1707
3a37d6f6
TS
17082019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1709
4017da8d
TS
1710 PR fortran/90743
1711 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1712 case.
1713 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1714 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1715 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1716 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1717
6f7c1f65
TS
1718 PR testsuite/90861
1719 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1720
3a37d6f6
TS
1721 PR middle-end/90862
1722 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1723
f45ce17d
TV
17242019-06-16 Tom de Vries <tdevries@suse.de>
1725
1726 PR tree-optimization/89376
1727 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1728
00908992
TV
17292019-06-15 Tom de Vries <tdevries@suse.de>
1730
1731 PR tree-optimization/89713
1732 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1733 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1734
211b7533
JJ
17352019-06-15 Jakub Jelinek <jakub@redhat.com>
1736
1737 PR middle-end/90779
1738 * testsuite/libgomp.c/pr90779.c: New test.
1739 * testsuite/libgomp.fortran/pr90779.f90: New test.
1740
120a01d1
TV
17412019-06-15 Tom de Vries <tdevries@suse.de>
1742
1743 PR tree-optimization/90009
1744 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1745
c29c92c7
FX
17462019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1747
1748 PR tree-optimization/89713
1749 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1750
ce9c4ec3
JJ
17512019-06-11 Jakub Jelinek <jakub@redhat.com>
1752
1753 PR target/90811
1754 * testsuite/libgomp.c/pr90811.c: New test.
1755
28b3a77c
JJ
17562019-06-05 Jakub Jelinek <jakub@redhat.com>
1757
1758 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1759 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1760
7855700e
JJ
17612019-06-04 Jakub Jelinek <jakub@redhat.com>
1762
1763 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1764 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1765 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1766 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1767
a7155c2e
RO
17682019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1769
1770 * configure.ac: Call AX_COUNT_CPUS.
1771 Substitute CPU_COUNT.
1772 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1773 count fallback.
1774 * aclocal.m4: Regenerate.
1775 * configure: Regenerate.
1776 * Makefile.in, testsuite/Makefile.in: Regenerate.
1777
7e47198b
JJ
17782019-05-29 Jakub Jelinek <jakub@redhat.com>
1779
1780 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1781 to ...
1782 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1783 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1784 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1785
fcfb8032
JJ
17862019-05-27 Jakub Jelinek <jakub@redhat.com>
1787
8e7757ba
JJ
1788 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1789
36c7a3ff
JJ
1790 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1791
fcfb8032
JJ
1792 PR libgomp/90641
1793 * work.c (gomp_init_work_share): Instead of aligning final ordered
1794 value to multiples of long long alignment, align to that the
1795 first part (ordered team ids) and if inline_ordered_team_ids
1796 is not on a long long alignment boundary within the structure,
1797 use __alignof__ (long long) - 1 pad size always.
1798 * loop.c (GOMP_loop_start): Fix *mem computation if
1799 inline_ordered_team_ids is not aligned on long long alignment boundary
1800 within the structure.
1801 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1802 * sections.c (GOMP_sections2_start): Likewise.
1803
b5c26449
JJ
18042019-05-24 Jakub Jelinek <jakub@redhat.com>
1805
6c7ae8c5
JJ
1806 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1807 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1808
b5c26449
JJ
1809 PR libgomp/90585
1810 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1811 HAVE_INTTYPES_H is defined.
1812 (print_uint64_t): New typedef.
1813 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1814 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1815 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1816 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1817 before casting to void *.
1818 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1819 * oacc-mem.c: Don't include config.h nor stdint.h.
1820 * target.c: Don't include config.h.
1821 * oacc-cuda.c: Likewise.
1822 * oacc-host.c: Don't include stdint.h.
1823
3e03ed66
JJ
18242019-05-20 Jakub Jelinek <jakub@redhat.com>
1825
1826 PR libgomp/90527
1827 * alloc.c (_GNU_SOURCE): Define.
1828
5fae049d
TS
18292019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1830
1831 * acc_prof.h: New file.
1832 * oacc-profiling.c: Likewise.
1833 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1834 Add these, respectively.
1835 * Makefile.in: Regenerate.
1836 * env.c (initialize_env): Call goacc_profiling_initialize.
1837 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1838 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1839 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1840 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1841 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1842 acc_prof_register, acc_prof_unregister, and acc_register_library.
1843 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1844 GOMP_PLUGIN_goacc_thread.
1845 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1846 prof_callbacks_enabled members.
1847 (goacc_prof_enabled, goacc_profiling_initialize)
1848 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1849 (goacc_profiling_dispatch): Declare.
1850 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1851 (GOACC_PROFILING_SETUP_P): Define.
1852 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1853 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1854 OpenACC Profiling Interface.
1855 * oacc-cuda.c (acc_get_current_cuda_device)
1856 (acc_get_current_cuda_context, acc_get_cuda_stream)
1857 (acc_set_cuda_stream): Likewise.
1858 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1859 (acc_init, acc_set_device_type, acc_get_device_type)
1860 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1861 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1862 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1863 (acc_unmap_data, present_create_copy, delete_copyout)
1864 (update_dev_host): Likewise.
1865 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1866 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1867 Likewise.
1868 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1869 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1870 Likewise.
1871 * libgomp.texi: Update.
1872 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1873 file.
1874 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1875 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1876 Likewise.
1877 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1878 Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1880 Likewise.
1881 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1882 Likewise.
1883
1f4c5b9b
CLT
18842019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1885
1886 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1887 (struct goacc_asyncqueue_list): Likewise.
1888 (goacc_aq): Likewise.
1889 (goacc_aq_list): Likewise.
1890 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1891 (GOMP_OFFLOAD_openacc_async_test): Remove.
1892 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1893 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1894 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1895 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1896 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1897 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1898 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1899 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1900 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1901 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1902 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1903 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1904 (GOMP_OFFLOAD_openacc_async_test): Declare.
1905 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1906 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1907 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1908 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1909 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1910
1911 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1912 (gomp_acc_insert_pointer): Adjust declaration.
1913 (gomp_copy_host2dev): New declaration.
1914 (gomp_copy_dev2host): Likewise.
1915 (gomp_map_vars_async): Likewise.
1916 (gomp_unmap_tgt): Likewise.
1917 (gomp_unmap_vars_async): Likewise.
1918 (gomp_fini_device): Likewise.
1919
1920 * oacc-async.c (get_goacc_thread): New function.
1921 (get_goacc_thread_device): New function.
1922 (lookup_goacc_asyncqueue): New function.
1923 (get_goacc_asyncqueue): New function.
1924 (acc_async_test): Adjust code to use new async design.
1925 (acc_async_test_all): Likewise.
1926 (acc_wait): Likewise.
1927 (acc_wait_async): Likewise.
1928 (acc_wait_all): Likewise.
1929 (acc_wait_all_async): Likewise.
1930 (goacc_async_free): New function.
1931 (goacc_init_asyncqueues): Likewise.
1932 (goacc_fini_asyncqueues): Likewise.
1933 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1934 design.
1935 (acc_set_cuda_stream): Likewise.
1936 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1937 (host_openacc_register_async_cleanup): Remove.
1938 (host_openacc_async_exec): New function.
1939 (host_openacc_async_test): Adjust parameters.
1940 (host_openacc_async_test_all): Remove.
1941 (host_openacc_async_wait): Remove.
1942 (host_openacc_async_wait_async): Remove.
1943 (host_openacc_async_wait_all): Remove.
1944 (host_openacc_async_wait_all_async): Remove.
1945 (host_openacc_async_set_async): Remove.
1946 (host_openacc_async_synchronize): New function.
1947 (host_openacc_async_serialize): New function.
1948 (host_openacc_async_host2dev): New function.
1949 (host_openacc_async_dev2host): New function.
1950 (host_openacc_async_queue_callback): New function.
1951 (host_openacc_async_construct): New function.
1952 (host_openacc_async_destruct): New function.
1953 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 1954 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
1955 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1956 (goacc_attach_host_thread_to_device): Remove old async code usage.
1957 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1958 (goacc_fini_asyncqueues): Likewise.
1959 (goacc_async_copyout_unmap_vars): Likewise.
1960 (goacc_async_free): Likewise.
1961 (get_goacc_asyncqueue): Likewise.
1962 (lookup_goacc_asyncqueue): Likewise.
1963 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1964 design.
1965 (present_create_copy): Adjust code to use new async design.
1966 (delete_copyout): Likewise.
1967 (update_dev_host): Likewise.
1968 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1969 async design.
1970 (gomp_acc_remove_pointer): Adjust code to use new async design.
1971 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1972 design.
1973 (GOACC_enter_exit_data): Likewise.
1974 (goacc_wait): Likewise.
1975 (GOACC_update): Likewise.
1976 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1977 when called, warn as obsolete in comment.
1978 * target.c (goacc_device_copy_async): New function.
1979 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1980 add goacc_device_copy_async case.
1981 (gomp_copy_dev2host): Likewise.
1982 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1983 (gomp_map_pointer): Likewise.
1984 (gomp_map_fields_existing): Likewise.
1985 (gomp_map_vars_internal): New always_inline function, renamed from
1986 gomp_map_vars.
1987 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1988 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1989 passing goacc_asyncqueue argument.
1990 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1991 (gomp_unref_tgt): New function.
1992 (gomp_unmap_vars_internal): New always_inline function, renamed from
1993 gomp_unmap_vars.
1994 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1995 (gomp_unmap_vars_async): Implement by calling
1996 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1997 (gomp_fini_device): New function.
1998 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1999 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2000 new async interface.
2001 (gomp_target_fini): Adjust code to call gomp_fini_device.
2002
2003 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2004 (struct ptx_stream): Remove.
2005 (struct nvptx_thread): Remove current_stream field.
2006 (cuda_map_create): Remove.
2007 (cuda_map_destroy): Remove.
2008 (map_init): Remove.
2009 (map_fini): Remove.
2010 (map_pop): Remove.
2011 (map_push): Remove.
2012 (struct goacc_asyncqueue): Define.
2013 (struct nvptx_callback): Define.
2014 (struct ptx_free_block): Define.
2015 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2016 stream_lock, and next fields.
2017 (enum ptx_event_type): Remove.
2018 (struct ptx_event): Remove.
2019 (ptx_event_lock): Remove.
2020 (ptx_events): Remove.
2021 (init_streams_for_device): Remove.
2022 (fini_streams_for_device): Remove.
2023 (select_stream_for_async): Remove.
2024 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2025 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2026 case.
2027 (nvptx_open_device): Add free_blocks initialization, remove
2028 init_streams_for_device call.
2029 (nvptx_close_device): Remove fini_streams_for_device call, add
2030 free_blocks destruct code.
2031 (event_gc): Remove.
2032 (event_add): Remove.
2033 (nvptx_exec): Adjust parameters and code.
2034 (nvptx_free): Likewise.
2035 (nvptx_host2dev): Remove.
2036 (nvptx_dev2host): Remove.
2037 (nvptx_set_async): Remove.
2038 (nvptx_async_test): Remove.
2039 (nvptx_async_test_all): Remove.
2040 (nvptx_wait): Remove.
2041 (nvptx_wait_async): Remove.
2042 (nvptx_wait_all): Remove.
2043 (nvptx_wait_all_async): Remove.
2044 (nvptx_get_cuda_stream): Remove.
2045 (nvptx_set_cuda_stream): Remove.
2046 (GOMP_OFFLOAD_alloc): Adjust code.
2047 (GOMP_OFFLOAD_free): Likewise.
2048 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2049 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2050 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2051 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2052 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2053 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2054 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2055 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2056 (cuda_free_argmem): New function.
2057 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2058 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2059 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2060 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2061 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2062 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2063 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2064 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2065 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2066 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2067 (cuda_callback_wrapper): New function.
2068 (cuda_memcpy_sanity_check): New function.
2069 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2070 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2071 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2072 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2073
da2d30c1
TS
20742019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2075
2076 PR target/87835
2077 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2078
2bbbfa4e
TS
20792019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2080
2081 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2082
bbf1efe1
KB
20832019-03-27 Kevin Buettner <kevinb@redhat.com>
2084
2085 * team.c (gomp_team_start): Initialize pool->threads[0].
2086
1241136c
TS
20872019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2088
b03d721a
TS
2089 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2090 "-foffload=$offload_target".
2091 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2092 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2093 * testsuite/lib/libgomp.exp
2094 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2095 as (conceptually) merged into
2096 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2097 users.
2098
0a0384b4
TS
2099 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2100 * testsuite/libgomp-test-support.exp.in: Adjust.
2101 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2102 openacc_device_types_s.
2103 (offload_target_to_openacc_device_type): New proc.
2104 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2105 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2106 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2107 * Makefile.in: Regenerate.
2108 * configure: Likewise.
2109 * testsuite/Makefile.in: Likewise.
2110
ee332b4a
TS
2111 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2112 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2113 instead of OFFLOAD_TARGETS.
2114 * target.c (gomp_target_init): Adjust.
2115 * testsuite/libgomp-test-support.exp.in: Likewise.
2116 * testsuite/lib/libgomp.exp: Likewise. Populate
2117 openacc_device_types_s instead of offload_targets_s_openacc.
2118 (check_effective_target_openacc_nvidia_accel_selected)
2119 (check_effective_target_openacc_host_selected): Adjust.
2120 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2121 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2122 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2123 * Makefile.in: Regenerate.
2124 * config.h.in: Likewise.
2125 * configure: Likewise.
2126 * testsuite/Makefile.in: Likewise.
2127
1241136c
TS
2128 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2129 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2130 "offloading: supported, but hardware not accessible".
2131 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2132 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2133
19695f4d
CLT
21342019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2135
2136 PR c/87924
2137 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2138 goacc_wait().
2139 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2140 and related adjustment.
2141
8b44f8ec
JJ
21422019-01-30 Jakub Jelinek <jakub@redhat.com>
2143
2144 PR c++/88988
2145 * testsuite/libgomp.c++/pr88988.C: New test.
2146
be3a87e7
JJ
21472019-01-28 Jakub Jelinek <jakub@redhat.com>
2148
2149 PR middle-end/89002
2150 * testsuite/libgomp.c/pr89002.c: New test.
2151
497ef4d7
RB
21522019-01-28 Richard Biener <rguenther@suse.de>
2153
2154 PR testsuite/89064
2155 PR tree-optimization/86865
2156 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2157
738c56d4
TV
21582019-01-24 Tom de Vries <tdevries@suse.de>
2159
2160 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2161 once instantiated_devices drops to 0.
2162
4a75460b
TV
21632019-01-23 Tom de Vries <tdevries@suse.de>
2164
2165 PR target/PR88946
2166 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2167 cuMemFree.
2168 (nvptx_exec): Don't call map_push if mapnum == 0.
2169 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2170
4fef8e4d
TV
21712019-01-23 Tom de Vries <tdevries@suse.de>
2172
2173 PR target/88941
2174 PR target/88939
2175 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2176 (map_fini): Remove "assert (!s->map->active)".
2177 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2178
2ee6cb22
TV
21792019-01-23 Tom de Vries <tdevries@suse.de>
2180
2181 PR target/87835
2182 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2183 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2184
d41d952c
TV
21852019-01-15 Tom de Vries <tdevries@suse.de>
2186
2187 PR target/80547
2188 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2189 New test.
2190
efb56ae8
TV
21912019-01-12 Tom de Vries <tdevries@suse.de>
2192
2193 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2194 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2195 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2196 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2197
2c2ff168
TV
21982019-01-12 Tom de Vries <tdevries@suse.de>
2199
2200 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2201
a1057758
TV
22022019-01-12 Tom de Vries <tdevries@suse.de>
2203
2204 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2205 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2206 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2207
56314b77
TV
22082019-01-12 Tom de Vries <tdevries@suse.de>
2209
2210 PR target/85486
2211 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2212 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2213
b39e4366
TV
22142019-01-12 Tom de Vries <tdevries@suse.de>
2215
2216 PR target/85381
2217 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2218 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2219
2cb7a501
TV
22202019-01-12 Tom de Vries <tdevries@suse.de>
2221
2222 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2223 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2224 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2225
8e77f71e
TV
22262019-01-12 Tom de Vries <tdevries@suse.de>
2227
2228 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2229 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2230 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2231
52d22ece
TV
22322019-01-12 Tom de Vries <tdevries@suse.de>
2233
2234 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2235 resources diagnostic.
2236
2b9d9e39
TV
22372019-01-12 Tom de Vries <tdevries@suse.de>
2238
2239 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2240 vector length to be 128.
2241 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2242 length 2097152 to be reduced to 1024 instead of 32.
2243
4102bda6
TS
22442019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2245 James Norris <jnorris@codesourcery.com>
2246
2247 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2248 Library Routines", and "Environment Variables".
2249
052aaace
TV
22502019-01-11 Tom de Vries <tdevries@suse.de>
2251
2252 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2253 num_workers 16.
2254
9390f916
TV
22552019-01-11 Tom de Vries <tdevries@suse.de>
2256
2257 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2258 -foffload=-w.
2259 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2260 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2261 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2262 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2263
2c3e7ad2
TV
22642019-01-11 Tom de Vries <tdevries@suse.de>
2265
2266 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2267 test.
2268
e222497d
NS
22692019-01-10 Nathan Sidwell <nathan@acm.org>
2270 Julian Brown <julian@codesourcery.com>
2271
2272 PR lto/71959
2273 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2274 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2275
cb87fec3
SH
22762019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2277
2278 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2279 and paste code.
2280
30b4d0d0
SH
22812019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2282
2283 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2284 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2285 write.
2286
5d0bc70a
TV
22872019-01-09 Tom de Vries <tdevries@suse.de>
2288
2289 PR target/88756
2290 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2291 #define instead of "const int".
2292 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2293 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2294 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2295 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2296
2c372e81
TV
22972019-01-09 Tom de Vries <tdevries@suse.de>
2298
2299 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2300 one worker.
2301
43493c97
TV
23022019-01-07 Tom de Vries <tdevries@suse.de>
2303
2304 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2305 GOMP_OPENACC_DIM argument.
2306
5c571497
TV
23072019-01-03 Tom de Vries <tdevries@suse.de>
2308
2309 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2310 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2311
a5544970
JJ
23122019-01-01 Jakub Jelinek <jakub@redhat.com>
2313
2314 Update copyright years.
2315
3f27508c
JJ
23162019-01-01 Jakub Jelinek <jakub@redhat.com>
2317
2318 * libgomp.texi: Bump @copying's copyright year.
2319
59d5960c
TS
23202018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2321
2322 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2323 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2324 (GOACC_declare): Redefine the "device" argument to "flags".
2325
a44c1790
TS
23262018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2327 Cesar Philippidis <cesar@codesourcery.com>
2328
2329 * target.c (struct gomp_coalesce_chunk): New structure.
2330 (struct gomp_coalesce_buf): Update the chunks member to use that
2331 type. Adjust all users.
2332
a152954e
TV
23332018-12-19 Tom de Vries <tdevries@suse.de>
2334
2335 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2336 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2337 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2338
49188cd1
TV
23392018-12-19 Tom de Vries <tdevries@suse.de>
2340
2341 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2342 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2343 gcc/testsuite/gcc.dg/goacc.
2344 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2345
c759830b
TS
23462018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2347 Chung-Lin Tang <cltang@codesourcery.com>
2348
2349 * oacc-mem.c (acc_present_or_create): Remove definition and change
2350 to alias of acc_create.
2351 (acc_present_or_copyin): Remove definition and change to alias of
2352 acc_copyin.
2353 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2354 of acc_present_or_create.
2355 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2356 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2357 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2358 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2359 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2360 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2361 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2362 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2363 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2364 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2365 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2366 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2367 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2368 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2369 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2370 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2371
7de562ee
TS
23722018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2373
f847198e
TS
2374 PR libgomp/88495
2375 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2376 "identical parameters".
2377 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2378 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2379
c8ab8aab
TS
2380 PR libgomp/88484
2381 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2382 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2383
1404af62
TS
2384 PR libgomp/88407
2385 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2386 (nvptx_wait_async): Unseen async-argument is a no-op.
2387 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2388 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2389 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2390 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2391 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2392 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2393 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2394 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2395 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2396
7de562ee
TS
2397 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2398 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2399
17469af7
CLT
24002018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2401
2402 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2403 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2404 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2405
18c247cc
TS
24062018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2407
2408 PR libgomp/88370
2409 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2410 (acc_set_cuda_stream): Clarify.
2411 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2412 "async_valid_p".
2413 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2414 acc_async_sync".
2415 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2416 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2417 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2418 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2419
b0aba46c
TV
24202018-12-14 Tom de Vries <tdevries@suse.de>
2421
2422 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2423 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2424 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2425 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2426 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2427
fe0827ee
TV
24282018-12-13 Tom de Vries <tdevries@suse.de>
2429
2430 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2431 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2432 * fortran.c (omp_display_affinity_): ... here.
2433 * libgomp.h (gomp_print_string): Declare.
2434 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2435 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2436 write.
2437
a51f8c92
JJ
24382018-12-13 Jakub Jelinek <jakub@redhat.com>
2439
2440 PR libgomp/88460
2441 * testsuite/libgomp.c++/for-24.C (results): Include it in
2442 omp declare target region.
2443 (main): Use map (always, tofrom: results) instead of
2444 map (tofrom: results).
2445
a6ef2ac9
JJ
24462018-12-12 Jakub Jelinek <jakub@redhat.com>
2447
7a289b7d
JJ
2448 PR fortran/88463
2449 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2450 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2451
a6ef2ac9
JJ
2452 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2453
9c47a019
AS
24542018-12-12 Andreas Schwab <schwab@suse.de>
2455
2456 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2457 clobbered.
2458
d0cbb206
TK
24592018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2460
2461 PR fortran/88411
2462 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2463
84ca08d2
TS
24642018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2465 Jakub Jelinek <jakub@redhat.com>
2466
2467 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2468 devicep->host2dev_func.
2469
6997628d
JJ
24702018-12-08 Jakub Jelinek <jakub@redhat.com>
2471
2472 PR libgomp/87995
2473 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2474 tls_runtime effective target.
2475 (t): New threadprivate variable.
2476 (main): Set t in threads which execute iterations of the worksharing
2477 loop. Propagate that to the task after the loop and don't abort
2478 if the current taskgroup hasn't been cancelled.
2479
daa8c1d7
JJ
24802018-12-02 Jakub Jelinek <jakub@redhat.com>
2481
4a82df9a
JJ
2482 * testsuite/libgomp.c/task-reduction-3.c: New test.
2483
daa8c1d7
JJ
2484 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2485
fe570ff8
CP
24862018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2487
2488 PR libgomp/88288
2489 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2490 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2491
c223608f
TS
24922018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2493
2494 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2495
fc60283c
RB
24962018-10-19 Richard Biener <rguenther@suse.de>
2497
2498 PR tree-optimization/88182
2499 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2500
ffcf3b79
JJ
25012018-11-26 Jakub Jelinek <jakub@redhat.com>
2502
2503 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2504 (RUNTEST): Don't define.
2505 (RUNTESTDEFAULTFLAGS): Add.
2506 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2507 (distclean-am): Depend on distclean-DEJAGNU.
2508 (check-am): If -j% option is present in MFLAGS and if
2509 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2510 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2511 * testsuite/Makefile.in: Regenerated.
2512
ef6e6914
RB
25132018-11-26 Richard Biener <rguenther@suse.de>
2514
2515 PR tree-optimization/88182
2516 * testsuite/libgomp.c++/pr88182.C: New testcase.
2517
72d3bb76
JJ
25182018-11-20 Jakub Jelinek <jakub@redhat.com>
2519
2520 PR bootstrap/88106
2521 * config/mingw32/affinity-fmt.c: New file.
2522
207286c3
JJ
25232018-11-09 Jakub Jelinek <jakub@redhat.com>
2524
9666c522
JJ
2525 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2526 (gomp_display_affinity): Use __builtin_choose_expr to handle
2527 properly handle argument having integral, or pointer or some other
2528 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2529 with uint64_t type instead of %llx and unsigned long long.
2530
207286c3
JJ
2531 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2532 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2533
2033f45b
RO
25342018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2535
2536 * affinity.c: Include <string.h>, <stdio.h>.
2537 (gomp_display_affinity_place): Remove cpusetp.
2538 * teams.c: Include <limits.h>.
2539
28567c40
JJ
25402018-11-08 Jakub Jelinek <jakub@redhat.com>
2541
8991d779
JJ
2542 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2543 in_reduction clause for s[0].
2544
28567c40
JJ
2545 * affinity.c (gomp_display_affinity_place): New function.
2546 * affinity-fmt.c: New file.
2547 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2548 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2549 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2550 Move these functions to ...
2551 * config/nvptx/teams.c: ... here. New file.
2552 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2553 New functions.
2554 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2555 functions.
2556 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2557 and _aligned_malloc.
2558 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2559 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2560 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2561 gomp_affinity_format_len): New variables.
2562 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2563 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2564 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2565 modifiers. Display (non-default) chunk sizes. Print
2566 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2567 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2568 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2569 * fortran.c: Include stdio.h and string.h.
2570 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2571 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2572 (omp_set_affinity_format_, omp_get_affinity_format_,
2573 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2574 omp_pause_resource_all_): New functions.
2575 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2576 switch.
2577 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2578 functions to ...
2579 * teams.c: ... here. New file.
2580 * libgomp_g.h: Include gstdint.h.
2581 (GOMP_loop_nonmonotonic_runtime_start,
2582 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2583 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2584 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2585 GOMP_parallel_loop_nonmonotonic_runtime,
2586 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2587 GOMP_loop_ull_nonmonotonic_runtime_start,
2588 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2589 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2590 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2591 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2592 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2593 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2594 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2595 GOMP_teams_reg): Declare.
2596 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2597 gomp_aligned_alloc uses fallback implementation.
2598 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2599 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2600 (struct gomp_doacross_work_share): Add extra field.
2601 (struct gomp_work_share): Add task_reductions field.
2602 (struct gomp_taskgroup): Add workshare and reductions fields.
2603 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2604 (gomp_thread_handle): New typedef.
2605 (gomp_display_affinity_place, gomp_set_affinity_format,
2606 gomp_display_string, gomp_display_affinity,
2607 gomp_display_affinity_thread): Declare.
2608 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2609 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2610 gomp_workshare_task_reduction_register): Declare.
2611 (gomp_team_start): Add taskgroup argument.
2612 (gomp_pause_host): Declare.
2613 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2614 to size_t.
2615 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2616 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2617 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2618 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2619 GOMP_loop_ull_doacross_start,
2620 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2621 GOMP_loop_maybe_nonmonotonic_runtime_next,
2622 GOMP_loop_maybe_nonmonotonic_runtime_start,
2623 GOMP_loop_nonmonotonic_runtime_next,
2624 GOMP_loop_nonmonotonic_runtime_start,
2625 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2626 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2627 GOMP_loop_ull_nonmonotonic_runtime_next,
2628 GOMP_loop_ull_nonmonotonic_runtime_start,
2629 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2630 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2631 GOMP_taskgroup_reduction_register,
2632 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2633 GOMP_teams_reg and GOMP_taskwait_depend.
2634 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2635 omp_{capture,display}_affinity{,_}, and
2636 omp_[gs]et_affinity_format{,_}.
2637 * loop.c: Include string.h.
2638 (GOMP_loop_runtime_next): Add ialias.
2639 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2640 (gomp_loop_static_start, gomp_loop_dynamic_start,
2641 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2642 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2643 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2644 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2645 or gomp_doacross_init callers.
2646 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2647 GOMP_loop_doacross_start): New functions.
2648 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2649 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2650 Mask off GFS_MONOTONIC bit.
2651 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2652 GOMP_loop_maybe_nonmonotonic_runtime_start,
2653 GOMP_loop_nonmonotonic_runtime_next,
2654 GOMP_loop_nonmonotonic_runtime_start,
2655 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2656 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2657 functions.
2658 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2659 gomp_team_start.
2660 * loop_ull.c: Include string.h.
2661 (GOMP_loop_ull_runtime_next): Add ialias.
2662 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2663 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2664 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2665 gomp_loop_ull_ordered_dynamic_start,
2666 gomp_loop_ull_ordered_guided_start,
2667 gomp_loop_ull_doacross_static_start,
2668 gomp_loop_ull_doacross_dynamic_start,
2669 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2670 and gomp_doacross_ull_init callers.
2671 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2672 GOMP_loop_ull_doacross_start): New functions.
2673 (GOMP_loop_ull_runtime_start,
2674 GOMP_loop_ull_ordered_runtime_start,
2675 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2676 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2677 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2678 GOMP_loop_ull_nonmonotonic_runtime_next,
2679 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2680 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2681 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2682 (omp_pause_resource_t, omp_depend_t): New typedefs.
2683 (enum omp_lock_hint_t): Renamed to ...
2684 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2685 enumerators using numbers and omp_lock_hint_* as their aliases.
2686 (omp_lock_hint_t): New typedef. Rename to ...
2687 (omp_sync_hint_t): ... this.
2688 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2689 omp_sync_hint_t instead of omp_lock_hint_t.
2690 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2691 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2692 Declare.
2693 (omp_target_is_present, omp_target_disassociate_ptr):
2694 Change first argument from void * to const void *.
2695 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2696 from void * to const void *.
2697 (omp_target_associate_ptr): Change first and second arguments from
2698 void * to const void *.
2699 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2700 omp_pause_hard): New parameters.
2701 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2702 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2703 New interfaces.
2704 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2705 omp_pause_hard): New parameters.
2706 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2707 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2708 New externals.
2709 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2710 EXTRA argument. If not needed to prepare array, if extra is 0,
2711 clear ws->doacross, otherwise allocate just doacross structure and
2712 extra payload. If array is needed, allocate also extra payload.
2713 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2714 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2715 doacross == NULL.
2716 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2717 gomp_team_start.
2718 (GOMP_parallel): Likewise. Formatting fix.
2719 (GOMP_parallel_reductions): New function.
2720 (GOMP_cancellation_point): If taskgroup has workshare
2721 flag set, check cancelled of prev taskgroup if any.
2722 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2723 on prev taskgroup if any.
2724 * sections.c: Include string.h.
2725 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2726 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2727 (GOMP_sections2_start): New function.
2728 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2729 Pass NULL as taskgroup to gomp_team_start.
2730 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2731 gomp_work_share_start callers.
2732 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2733 If taskgroup has workshare flag set, check cancelled on prev
2734 taskgroup if any. Guard all cancellation tests with
2735 gomp_cancel_var test.
2736 (omp_target_is_present, omp_target_disassociate_ptr):
2737 Change ptr argument from void * to const void *.
2738 (omp_target_memcpy): Change src argument from void * to const void *.
2739 (omp_target_memcpy_rect): Likewise.
2740 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2741 instead of char * where needed.
2742 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2743 from void * to const void *.
2744 (omp_pause_resource, omp_pause_resource_all): New functions.
2745 * task.c (gomp_task_handle_depend): Handle new depend array format
2746 in addition to the old. Handle mutexinoutset kinds the same as
2747 inout for now, handle unspecified kinds.
2748 (gomp_create_target_task): If taskgroup has workshare flag set, check
2749 cancelled on prev taskgroup if any. Guard all cancellation tests with
2750 gomp_cancel_var test. Handle new depend array format count in
2751 addition to the old.
2752 (GOMP_task): Likewise. Adjust function comment.
2753 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2754 cancelled on prev taskgroup if any. Guard all cancellation tests with
2755 gomp_cancel_var test.
2756 (GOMP_taskwait_depend): New function.
2757 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2758 format in addition to the old. Handle mutexinoutset kinds the same as
2759 inout for now, handle unspecified kinds. Fix a function comment typo.
2760 (gomp_taskgroup_init): New function.
2761 (GOMP_taskgroup_start): Use it.
2762 (gomp_reduction_register, gomp_create_artificial_team,
2763 GOMP_taskgroup_reduction_register,
2764 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2765 gomp_parallel_reduction_register,
2766 gomp_workshare_task_reduction_register,
2767 gomp_workshare_taskgroup_start,
2768 GOMP_workshare_task_reduction_unregister): New functions.
2769 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2770 check cancelled on prev taskgroup if any. Guard all cancellation
2771 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2772 by calling GOMP_taskgroup_reduction_register.
2773 * team.c (gomp_thread_attr): Remove comment.
2774 (struct gomp_thread_start_data): Add handle field.
2775 (gomp_thread_start): Call pthread_detach.
2776 (gomp_new_team): Adjust gomp_init_work_share caller.
2777 (gomp_free_pool_helper): Call pthread_detach.
2778 (gomp_team_start): Add taskgroup argument, initialize implicit
2779 tasks' taskgroup field to that. Don't call
2780 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2781 (gomp_team_end): Determine nesting by thr->ts.level != 0
2782 rather than thr->ts.team != NULL.
2783 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2784 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2785 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2786 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2787 if more than 1 allocate also extra payload at the end of array. Never
2788 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2789 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2790 return true instead of ws.
2791 * Makefile.in: Regenerated.
2792 * configure: Regenerated.
2793 * config.h.in: Regenerated.
2794 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2795 in some cases.
2796 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2797 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2798 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2799 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2800 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2801 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2802 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2803 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2804 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2805 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2806 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2807 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2808 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2809 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2810 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2811 define a different N(test), don't define N(f0) to N(f14), but instead
2812 define N(f20) to N(f34) using != comparisons.
2813 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2814 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2815 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2816 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2817 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2818 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2819 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2820 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2821 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2822 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2823 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2824 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2825 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2826 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2827 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2828 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2829 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2830 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2831 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2832 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2833 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2834 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2835 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2836 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2837 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2838 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2839 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2840 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2841 * testsuite/libgomp.c++/depend-1.C: New test.
2842 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2843 * testsuite/libgomp.c++/depobj-1.C: New test.
2844 * testsuite/libgomp.c++/for-16.C: New test.
2845 * testsuite/libgomp.c++/for-21.C: New test.
2846 * testsuite/libgomp.c++/for-22.C: New test.
2847 * testsuite/libgomp.c++/for-23.C: New test.
2848 * testsuite/libgomp.c++/for-24.C: New test.
2849 * testsuite/libgomp.c++/for-25.C: New test.
2850 * testsuite/libgomp.c++/for-26.C: New test.
2851 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2852 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2853 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2854 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2855 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2856 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2857 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2858 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2859 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2860 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2861 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2862 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2863 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2864 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2865 * testsuite/libgomp.c/task-reduction-1.c: New test.
2866 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2867 * testsuite/libgomp.c/task-reduction-2.c: New test.
2868 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2869 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2870 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2871 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2872 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2873 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2874 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2875 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2876 * testsuite/libgomp.c/teams-1.c: New test.
2877 * testsuite/libgomp.c/teams-2.c: New test.
2878 * testsuite/libgomp.c/thread-limit-4.c: New test.
2879 * testsuite/libgomp.c/thread-limit-5.c: New test.
2880 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2881
58168bbf
CLT
28822018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2883
2884 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2885 acc_memcpy_to/from_device functions, now with async parameter.
2886 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2887 (acc_memcpy_from_device): Likewise.
2888 (acc_memcpy_to_device_async): New API function.
2889 (acc_memcpy_from_device_async): Likewise.
2890 (present_create_copy): Add async parameter and async setting/unsetting.
2891 (acc_create): Adjust present_create_copy call.
2892 (acc_copyin): Likewise.
2893 (acc_present_or_create): Likewise.
2894 (acc_present_or_copyin): Likewise.
2895 (acc_create_async): New API function.
2896 (acc_copyin_async): New API function.
2897 (delete_copyout): Add async parameter and async setting/unsetting.
2898 (acc_delete): Adjust delete_copyout call.
2899 (acc_copyout): Likewise.
2900 (acc_delete_async): New API function.
2901 (acc_copyout_async): Likewise.
2902 (update_dev_host): Add async parameter and async setting/unsetting.
2903 (acc_update_device): Adjust update_dev_host call.
2904 (acc_update_self): Likewise.
2905 (acc_update_device_async): New API function.
2906 (acc_update_self_async): Likewise.
2907 * openacc.h (acc_copyin_async): Declare new API function.
2908 (acc_create_async): Likewise.
2909 (acc_copyout_async): Likewise.
2910 (acc_delete_async): Likewise.
2911 (acc_update_device_async): Likewise.
2912 (acc_update_self_async): Likewise.
2913 (acc_memcpy_to_device_async): Likewise.
2914 (acc_memcpy_from_device_async): Likewise.
2915 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2916 (acc_copyin_async_64_h): New subroutine.
2917 (acc_copyin_async_array_h): New subroutine.
2918 (acc_create_async_32_h): New subroutine.
2919 (acc_create_async_64_h): New subroutine.
2920 (acc_create_async_array_h): New subroutine.
2921 (acc_copyout_async_32_h): New subroutine.
2922 (acc_copyout_async_64_h): New subroutine.
2923 (acc_copyout_async_array_h): New subroutine.
2924 (acc_delete_async_32_h): New subroutine.
2925 (acc_delete_async_64_h): New subroutine.
2926 (acc_delete_async_array_h): New subroutine.
2927 (acc_update_device_async_32_h): New subroutine.
2928 (acc_update_device_async_64_h): New subroutine.
2929 (acc_update_device_async_array_h): New subroutine.
2930 (acc_update_self_async_32_h): New subroutine.
2931 (acc_update_self_async_64_h): New subroutine.
2932 (acc_update_self_async_array_h): New subroutine.
2933 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2934 (acc_copyin_async_64_h): New subroutine.
2935 (acc_copyin_async_array_h): New subroutine.
2936 (acc_create_async_32_h): New subroutine.
2937 (acc_create_async_64_h): New subroutine.
2938 (acc_create_async_array_h): New subroutine.
2939 (acc_copyout_async_32_h): New subroutine.
2940 (acc_copyout_async_64_h): New subroutine.
2941 (acc_copyout_async_array_h): New subroutine.
2942 (acc_delete_async_32_h): New subroutine.
2943 (acc_delete_async_64_h): New subroutine.
2944 (acc_delete_async_array_h): New subroutine.
2945 (acc_update_device_async_32_h): New subroutine.
2946 (acc_update_device_async_64_h): New subroutine.
2947 (acc_update_device_async_array_h): New subroutine.
2948 (acc_update_self_async_32_h): New subroutine.
2949 (acc_update_self_async_64_h): New subroutine.
2950 (acc_update_self_async_array_h): New subroutine.
2951 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2952 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2953 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2954 acc_memcpy_to_device_async*, acc_update_device_async*, and
2955 acc_update_self_async* entries.
2956 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2957 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2958 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2959
22e05272
JM
29602018-10-31 Joseph Myers <joseph@codesourcery.com>
2961
2962 PR bootstrap/82856
2963 * Makefile.am: Include multilib.am
2964 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2965 (CLEANFILES): Remove libgomp.info.
2966 * configure.ac: Remove AC_PREREQ.
2967 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2968 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2969 Regenerate.
2970
87a5ccfb
JM
29712018-10-29 Joseph Myers <joseph@codesourcery.com>
2972 Julian Brown <julian@codesourcery.com>
2973
2974 * testsuite/libgomp.oacc-c++/this.C: New.
2975
2049befd
CP
29762018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2977
2978 * plugin/plugin-nvptx.c (struct cuda_map): New.
2979 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2980 h_tail with (cuda_map *) map.
2981 (cuda_map_create): New function.
2982 (cuda_map_destroy): New function.
2983 (map_init): Update to use a linked list of cuda_map objects.
2984 (map_fini): Likewise.
2985 (map_pop): Likewise.
2986 (map_push): Likewise. Return CUdeviceptr instead of void.
2987 (init_streams_for_device): Remove stales references to ptx_stream
2988 members.
2989 (select_stream_for_async): Likewise.
2990 (nvptx_exec): Update call to map_init.
2991
8e36332c
CP
29922018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2993 Julian Brown <julian@codesourcery.com>
2994
2995 PR middle-end/86336
2996 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2997
2b4c9065
NK
29982018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2999 Thomas Koenig <tkoenig@gcc.gnu.org>
3000
3001 PR fortran/25829
3002 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3003 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3004 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3005 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3006 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3007 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3008 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3009
bd9b3d3d
CP
30102018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3011 Tom de Vries <tdevries@suse.de>
3012
3013 PR target/85590
3014 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3015 (cuOccupancyMaxPotentialBlockSize): Declare.
3016 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3017 CUDA_ONE_CALL_MAYBE_NULL.
3018 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3019 CUoccupancyB2DSize and declare
3020 cuOccupancyMaxPotentialBlockSize.
3021 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3022 default num_gangs and num_workers when the driver supports it.
3023
8e09a12f
TV
30242018-08-08 Tom de Vries <tdevries@suse.de>
3025
3026 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3027 CUDA_ONE_CALL_MAYBE_NULL.
3028 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3029 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3030 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3031 are not found.
3032
cedd9bd0
TV
30332018-08-08 Tom de Vries <tdevries@suse.de>
3034
3035 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3036 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3037 present.
3038
b113af95
TV
30392018-08-08 Tom de Vries <tdevries@suse.de>
3040
3041 * plugin/plugin-nvptx.c
3042 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3043 (nvptx_open_device): Use
3044 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3045
94767dac
TV
30462018-08-08 Tom de Vries <tdevries@suse.de>
3047
3048 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3049 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3050
02150de8
TV
30512018-08-07 Tom de Vries <tdevries@suse.de>
3052
3053 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3054 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3055 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3056 corresponding call in CUDA_ONE_CALL. Add def/undef of
3057 CUDA_ONE_CALL_MAYBE_NULL.
3058 (CUDA_CALL_EXISTS): Define.
3059
9e28b107
TV
30602018-08-07 Tom de Vries <tdevries@suse.de>
3061
3062 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3063 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3064 corresponding undefs right after.
3065
09940090
TV
30662018-08-04 Tom de Vries <tdevries@suse.de>
3067
3068 * plugin/configfrag.ac: For --without-cuda-driver, set
3069 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3070 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3071 * configure: Regenerate.
3072
77e0a97a
TV
30732018-08-02 Tom de Vries <tdevries@suse.de>
3074
3075 PR target/86660
3076 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3077 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3078 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3079 Same.
3080 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3081 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3082 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3083
701d080a
CP
30842018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3085 Thomas Schwinge <thomas@codesourcery.com>
3086
3087 * config/nvptx/oacc-parallel.c: Truncate.
3088
094db6be
CP
30892018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3090 James Norris <jnorris@codesourcery.com>
3091
3092 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
3093 (map_init, map_pop): Remove use of struct map.
3094 (map_push): Likewise and change argument list.
094db6be
CP
3095 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3096
8c6310a2
TV
30972018-08-01 Tom de Vries <tdevries@suse.de>
3098
3099 * plugin/cuda-lib.def: New file. Factor out of ...
3100 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3101 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3102 using CUDA_CALLS.
3103
1d4a51cf
AV
31042018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3105
3106 Revert 'AsyncI/O patch committed'.
3107 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3108 Thomas Koenig <tkoenig@gcc.gnu.org>
3109
3110 PR fortran/25829
3111 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3112 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3113 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3114 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3115 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3116 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3117 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3118
4cdfee3f
TV
31192018-07-30 Tom de Vries <tdevries@suse.de>
3120
3121 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3122 (nvptx_exec): Ensure worker and vector default dims don't exceed
3123 targ_fn->max_threads_per_block.
3124
0b210c43
TV
31252018-07-30 Tom de Vries <tdevries@suse.de>
3126
3127 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3128 (nvptx_open_device): Init default_dims for device.
3129 (nvptx_exec): Use default_dims from device.
3130
5883c5cc
JJ
31312018-07-26 Jakub Jelinek <jakub@redhat.com>
3132
5d36384c
JJ
3133 PR testsuite/86660
3134 * testsuite/libgomp.c++/for-15.C (results): Include it in
3135 omp declare target region.
3136 (main): Use map (always, tofrom: results) instead of
3137 map (tofrom: results).
3138
5883c5cc
JJ
3139 PR middle-end/86660
3140 * testsuite/libgomp.c/pr86660.c: New test.
3141
88a4654d
CP
31422018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3143 Tom de Vries <tdevries@suse.de>
3144
3145 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3146 sufficient resources to launch a kernel, and give a hint on how to fix
3147 it.
3148
0c6c2f5f
CP
31492018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3150 Tom de Vries <tdevries@suse.de>
3151
3152 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3153 max_threads_per_block and max_threads_per_multiprocessor fields.
3154 (nvptx_open_device): Initialize new fields.
3155 (nvptx_exec): Use num_sms, and new fields.
3156
6dd58010
TV
31572018-07-26 Tom de Vries <tdevries@suse.de>
3158
3159 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3160 to correct locations. Remove xfail.
3161
b2eb1779
TV
31622018-07-26 Tom de Vries <tdevries@suse.de>
3163
3164 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3165 acc_wait. Move acc_async_test calls to correct locations. Remove
3166 xfail.
3167
b1f45884
NK
31682018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3169 Thomas Koenig <tkoenig@gcc.gnu.org>
3170
3171 PR fortran/25829
3172 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3173 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3174 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3175 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3176 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3177 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3178 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3179
3a106211
JJ
31802018-07-17 Jakub Jelinek <jakub@redhat.com>
3181
a3bccfa1
JJ
3182 PR middle-end/86542
3183 * testsuite/libgomp.c++/pr86542.C: New test.
3184
3a106211
JJ
3185 PR middle-end/86539
3186 * testsuite/libgomp.c++/pr86539.C: New test.
3187
2bae8b2f
JJ
31882018-07-11 Jakub Jelinek <jakub@redhat.com>
3189
3190 PR c++/86443
3191 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3192 (results): Make sure the variable is not inside declare target region.
3193 (qux): Remove unused function.
3194
0b27c3ed
JJ
31952018-07-10 Jakub Jelinek <jakub@redhat.com>
3196
3197 PR c++/86443
3198 * testsuite/libgomp.c++/for-15.C: New test.
3199
f0391511
JJ
32002018-06-26 Jakub Jelinek <jakub@redhat.com>
3201
3202 PR c++/86291
3203 * testsuite/libgomp.c++/pr86291.C: New test.
3204
1a6d1d24
GP
32052018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3206
3207 * libgomp.texi (Top): Move www.openmp.org to https.
3208 (Enabling OpenMP): Ditto.
3209 (omp_get_active_level): Ditto.
3210 (omp_get_ancestor_thread_num): Ditto.
3211 (omp_get_cancellation): Ditto.
3212 (omp_get_default_device): Ditto.
3213 (omp_get_dynamic): Ditto.
3214 (omp_get_level): Ditto.
3215 (omp_get_max_active_levels): Ditto.
3216 (omp_get_max_task_priority): Ditto.
3217 (omp_get_max_threads): Ditto.
3218 (omp_get_nested): Ditto.
3219 (omp_get_num_devices): Ditto.
3220 (omp_get_num_procs): Ditto.
3221 (omp_get_num_teams): Ditto.
3222 (omp_get_num_threads): Ditto.
3223 (omp_get_proc_bind): Ditto.
3224 (omp_get_schedule): Ditto.
3225 (omp_get_team_num): Ditto.
3226 (omp_get_team_size): Ditto.
3227 (omp_get_thread_limit): Ditto.
3228 (omp_get_thread_num): Ditto.
3229 (omp_in_parallel): Ditto.
3230 (omp_in_final): Ditto.
3231 (omp_is_initial_device): Ditto.
3232 (omp_set_default_device): Ditto.
3233 (omp_set_dynamic): Ditto.
3234 (omp_set_max_active_levels): Ditto.
3235 (omp_set_nested): Ditto.
3236 (omp_set_num_threads): Ditto.
3237 (omp_set_schedule): Ditto.
3238 (omp_init_lock): Ditto.
3239 (omp_set_lock): Ditto.
3240 (omp_test_lock): Ditto.
3241 (omp_unset_lock): Ditto.
3242 (omp_destroy_lock): Ditto.
3243 (omp_init_nest_lock): Ditto.
3244 (omp_set_nest_lock): Ditto.
3245 (omp_test_nest_lock): Ditto.
3246 (omp_unset_nest_lock): Ditto.
3247 (omp_destroy_nest_lock): Ditto.
3248 (omp_get_wtick): Ditto.
3249 (omp_get_wtime): Ditto.
3250 (OMP_CANCELLATION): Ditto.
3251 (OMP_DISPLAY_ENV): Ditto.
3252 (OMP_DEFAULT_DEVICE): Ditto.
3253 (OMP_DYNAMIC): Ditto.
3254 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3255 (OMP_MAX_TASK_PRIORITY): Ditto.
3256 (OMP_NESTED): Ditto.
3257 (OMP_NUM_THREADS): Ditto.
3258 (OMP_PROC_BIND): Ditto.
3259 (OMP_PLACES): Ditto.
3260 (OMP_STACKSIZE): Ditto.
3261 (OMP_SCHEDULE): Ditto.
3262 (OMP_THREAD_LIMIT): Ditto.
3263 (OMP_WAIT_POLICY): Ditto.
3264
31dd69b7
CP
32652018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3266 James Norris <jnorris@codesourcery.com>
3267 Julian Brown <julian@codesourcery.com>
3268 Thomas Schwinge <thomas@codesourcery.com>
3269 Tom de Vries <tom@codesourcery.com>
3270
3271 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3272 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3273 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3274 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3275 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3276 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3277 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3278 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3279 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3280 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3281 Likewise.
3282 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3283 Likewise.
3284 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3285 Likewise.
3286 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3287 Likewise.
3288 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3289 Likewise.
3290 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3291 Likewise.
3292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3293 Likewise.
3294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3295 Likewise.
3296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3297 Likewise.
3298 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3299 Likewise.
3300 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3301 Likewise.
3302 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3303 Likewise.
3304 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3305 Likewise.
3306 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3307 Likewise.
3308 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3309 Likewise.
3310 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3311 Likewise.
3312 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3313 Likewise.
3314 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3315 Likewise.
3316 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3317 Likewise.
3318 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3319 Likewise.
3320 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3321 Likewise.
3322 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3323 Likewise.
3324 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3325 Likewise.
3326 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3327 Likewise.
3328 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3329 Likewise.
3330 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3331 Likewise.
3332 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3333 Likewise.
3334 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3335 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3336 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3337 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3338 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3339 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3340 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3341 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3342 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3343 Likewise.
3344 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3345 Likewise.
3346 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3347 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3348 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3349 Likewise.
3350 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3351 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3352 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3353 Likewise.
3354 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3355 Likewise.
3356 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3357 Likewise.
3358 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3359 Likewise.
3360 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3361 Likewise.
3362 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3363 Likewise.
3364 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3365 Likewise.
3366 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3367 Likewise.
3368 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3369 Likewise.
3370 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3371 Likewise.
3372 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3373 Likewise.
3374 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3375 Likewise.
3376 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3377 Likewise.
3378 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3379 Likewise.
3380 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3381 Likewise.
3382 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3383 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3384 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3385 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3386 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3387 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3388 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3389
829c6349
CLT
33902018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3391 Thomas Schwinge <thomas@codesourcery.com>
3392 Cesar Philippidis <cesar@codesourcery.com>
3393
3394 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3395 (gomp_acc_remove_pointer): Update declaration.
3396 (gomp_acc_declare_allocate): Declare.
3397 (gomp_remove_var): Declare.
3398 * libgomp.map (OACC_2.5): Define.
3399 * oacc-mem.c (acc_map_data): Update refcount.
3400 (acc_unmap_data): Likewise.
3401 (present_create_copy): Likewise.
3402 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3403 (acc_copyin): Likewise.
3404 (FLAG_FINALIZE): Define.
3405 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3406 (acc_delete_finalize): New function.
3407 (acc_delete_finalize_async): New function.
3408 (acc_copyout_finalize): New function.
3409 (acc_copyout_finalize_async): New function.
3410 (gomp_acc_insert_pointer): Update refcounts.
3411 (gomp_acc_remove_pointer): Return if data is not present on the
3412 accelerator.
3413 * oacc-parallel.c (find_pset): Rename to find_pointer.
3414 (find_pointer): Add support for GOMP_MAP_POINTER.
3415 (handle_ftn_pointers): New function.
3416 (GOACC_parallel_keyed): Update refcounts of variables.
3417 (GOACC_enter_exit_data): Add support for finalized data mappings.
3418 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3419 of fortran arrays.
3420 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3421 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3422 for GOMP_MAP_FORCE_FROM.
3423 * openacc.f90 (module openacc_internal): Add
3424 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3425 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3426 acc_copyout_finalize and acc_delete_finalize.
3427 (acc_copyout_finalize_32_h): New subroutine.
3428 (acc_copyout_finalize_64_h): New subroutine.
3429 (acc_copyout_finalize_array_h): New subroutine.
3430 (acc_delete_finalize_32_h): New subroutine.
3431 (acc_delete_finalize_64_h): New subroutine.
3432 (acc_delete_finalize_array_h): New subroutine.
3433 * openacc.h (acc_copyout_finalize): Declare.
3434 (acc_copyout_finalize_async): Declare.
3435 (acc_delete_finalize): Declare.
3436 (acc_delete_finalize_async): Declare.
3437 * openacc_lib.h (acc_copyout_finalize): New interface.
3438 (acc_delete_finalize): New interface.
3439 * target.c (gomp_map_vars): Update dynamic_refcount.
3440 (gomp_remove_var): New function.
3441 (gomp_unmap_vars): Use it.
3442 (gomp_unload_image_from_device): Likewise.
3443 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3444 case to utilize OpenACC 2.5 data clause semantics.
3445 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3446 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3447 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3448 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3449 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3450 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3451 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3452 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3453 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3454 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3455 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3456 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3457 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3458 utilize OpenACC 2.5 data clause semantics.
3459 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3460 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3461 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3462 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3463 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3464 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3465 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3466 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3467 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3468
4358400b
JW
34692018-05-21 Janus Weil <janus@gcc.gnu.org>
3470
3471 PR fortran/85841
3472 PR testsuite/85865
3473 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3474 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3475 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3476 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3477 * testsuite/libgomp.fortran/task2.f90: Ditto.
3478 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3479 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3480 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3481 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3482 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3483 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3484 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3485 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3486 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3487
950ad0ba
CP
34882018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3489
3490 PR c++/85782
3491 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3492
f5ad16f1
TV
34932018-05-09 Tom de Vries <tom@codesourcery.com>
3494
3495 PR libgomp/82901
3496 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3497 to GOACC_enter_exit_data.
3498
edbd038a
TV
34992018-05-09 Tom de Vries <tom@codesourcery.com>
3500
3501 PR libgomp/83792
3502 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3503 (async_synchronous_p): New function.
3504 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3505 async_valid_p.
3506 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3507 async_valid_stream_id_p.
3508 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3509 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3510
37d6c719
TV
35112018-05-07 Tom de Vries <tom@codesourcery.com>
3512
3513 PR testsuite/85677
3514 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3515 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3516
63f12215
TV
35172018-05-03 Tom de Vries <tom@codesourcery.com>
3518
3519 PR testsuite/85106
3520 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3521 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3522 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3523 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3524
ec00d3fa
TV
35252018-05-02 Tom de Vries <tom@codesourcery.com>
3526
3527 PR libgomp/85411
3528 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3529 GOMP_OPENACC_DIM ...
3530 * env.c (parse_gomp_openacc_dim): ... here. New function.
3531 (initialize_env): Call parse_gomp_openacc_dim.
3532 (goacc_default_dims): Define.
3533 * libgomp.h (goacc_default_dims): Declare.
3534 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3535 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3536 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3537 GOMP_PLUGIN_acc_default_dim.
3538 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3539 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3540
92243e7c
TV
35412018-05-02 Tom de Vries <tom@codesourcery.com>
3542
3543 PR testsuite/83791
3544 * testsuite/libgomp.c++/udr-9.C: Update.
3545 * testsuite/libgomp.c++/atomic-16.C: Remove.
3546 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3547 * testsuite/libgomp.c++/loop-13.C: Remove.
3548 * testsuite/libgomp.c++/loop-14.C: Remove.
3549 * testsuite/libgomp.c++/loop-15.C: Remove.
3550 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3551 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3552 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3553 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3554 * testsuite/libgomp.c++/ordered-1.C: Remove.
3555 * testsuite/libgomp.c++/pr45784.C: Remove.
3556 * testsuite/libgomp.c++/pr64824.C: Remove.
3557 * testsuite/libgomp.c++/pr64868.C: Remove.
3558 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3559 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3560 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3561 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3562 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3563 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3564 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3565 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3566 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3567 * testsuite/libgomp.c++/pr69389.C: Remove.
3568 * testsuite/libgomp.c++/simd10.C: Remove.
3569 * testsuite/libgomp.c++/simd11.C: Remove.
3570 * testsuite/libgomp.c++/simd12.C: Remove.
3571 * testsuite/libgomp.c++/simd13.C: Remove.
3572 * testsuite/libgomp.c++/target-1.C: Remove.
3573 * testsuite/libgomp.c++/target-3.C: Remove.
3574 * testsuite/libgomp.c++/target-4.C: Remove.
3575 * testsuite/libgomp.c++/target-5.C: Remove.
3576 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3577 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3578 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3579 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3580 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3581 * testsuite/libgomp.c++/udr-9.C: Remove.
3582 * testsuite/libgomp.c++/for-10.C: Remove.
3583 * testsuite/libgomp.c++/for-11.C: Remove.
3584 * testsuite/libgomp.c++/for-12.C: Remove.
3585 * testsuite/libgomp.c++/for-13.C: Remove.
3586 * testsuite/libgomp.c++/for-14.C: Remove.
3587 * testsuite/libgomp.c++/for-9.C: Remove.
3588 * testsuite/libgomp.c/atomic-18.c: Move ...
3589 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3590 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3591 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3592 * testsuite/libgomp.c/loop-13.c: Move ...
3593 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3594 * testsuite/libgomp.c/loop-14.c: Move ...
3595 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3596 * testsuite/libgomp.c/loop-15.c: Remove.
3597 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3598 * testsuite/libgomp.c/monotonic-1.c: Move ...
3599 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3600 * testsuite/libgomp.c/monotonic-2.c: Move ...
3601 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3602 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3603 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3604 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3605 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3606 * testsuite/libgomp.c/ordered-4.c: Move ...
3607 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3608 * testsuite/libgomp.c/pr45784.c: Move ...
3609 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3610 * testsuite/libgomp.c/pr64824.c: Move ...
3611 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3612 * testsuite/libgomp.c/pr64868.c: Move ...
3613 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3614 * testsuite/libgomp.c/pr66199-1.c: Move ...
3615 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3616 * testsuite/libgomp.c/pr66199-2.c: Move ...
3617 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3618 * testsuite/libgomp.c/pr66199-3.c: Move ...
3619 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3620 * testsuite/libgomp.c/pr66199-4.c: Move ...
3621 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3622 * testsuite/libgomp.c/pr66199-5.c: Move ...
3623 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3624 * testsuite/libgomp.c/pr66199-6.c: Move ...
3625 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3626 * testsuite/libgomp.c/pr66199-7.c: Move ...
3627 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3628 * testsuite/libgomp.c/pr66199-8.c: Move ...
3629 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3630 * testsuite/libgomp.c/pr66199-9.c: Move ...
3631 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3632 * testsuite/libgomp.c/pr69389.c: Move ...
3633 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3634 * testsuite/libgomp.c/simd-14.c: Move ...
3635 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3636 * testsuite/libgomp.c/simd-15.c: Move ...
3637 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3638 * testsuite/libgomp.c/simd-16.c: Move ...
3639 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3640 * testsuite/libgomp.c/simd-17.c: Move ...
3641 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3642 * testsuite/libgomp.c/target-1.c: Move ...
3643 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3644 * testsuite/libgomp.c/target-10.c: Move ...
3645 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3646 * testsuite/libgomp.c/target-13.c: Move ...
3647 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3648 * testsuite/libgomp.c/target-2.c: Move ...
3649 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3650 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3651 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3652 * testsuite/libgomp.c/taskloop-1.c: Move ...
3653 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3654 * testsuite/libgomp.c/taskloop-2.c: Move ...
3655 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3656 * testsuite/libgomp.c/taskloop-3.c: Move ...
3657 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3658 * testsuite/libgomp.c/taskloop-4.c: Move ...
3659 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3660 * testsuite/libgomp.c/udr-1.c: Move ...
3661 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3662 * testsuite/libgomp.c/for-1.c: Move ...
3663 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3664 * testsuite/libgomp.c/for-1.h: Move ...
3665 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3666 * testsuite/libgomp.c/for-2.c: Move ...
3667 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3668 * testsuite/libgomp.c/for-2.h: Move ...
3669 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3670 * testsuite/libgomp.c/for-3.c: Move ...
3671 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3672 * testsuite/libgomp.c/for-4.c: Move ...
3673 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3674 * testsuite/libgomp.c/for-5.c: Move ...
3675 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3676 * testsuite/libgomp.c/for-6.c: Move ...
3677 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3678
1f62d637
TV
36792018-05-02 Tom de Vries <tom@codesourcery.com>
3680
3681 PR libgomp/82428
3682 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3683 __builtin_goacc_parlevel_{id,size}.
3684 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3685 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3686 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3687 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3688 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3689 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3690 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3691 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3692 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3693 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3694 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3695 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3696 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3697 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3698 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3699 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3700 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3701 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3702 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3703 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3704 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3705 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3706 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3707
9220b511
TV
37082018-05-02 Tom de Vries <tom@codesourcery.com>
3709
3710 PR testsuite/85106
3711 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3712
6c3c13c1
TV
37132018-05-02 Tom de Vries <tom@codesourcery.com>
3714
3715 PR testsuite/85106
3716 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3717
8d70b61e
JB
37182018-04-29 Julian Brown <julian@codesourcery.com>
3719 Tom de Vries <tom@codesourcery.com>
3720
3721 PR testsuite/85527
3722 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3723 arbitrary order for iterations of atomic subtract check.
3724
4a57a4b6
TV
37252018-04-28 Tom de Vries <tom@codesourcery.com>
3726
3727 PR testsuite/85527
3728 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3729 atomic capture results obtained in parallel loop to an array, instead of
3730 to a scalar.
3731
df36a3d3
TV
37322018-04-26 Tom de Vries <tom@codesourcery.com>
3733
3734 PR libgomp/84020
3735 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3736 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3737 (process_GOMP_NVPTX_JIT): New function.
3738 (link_ptx): Use process_GOMP_NVPTX_JIT.
3739
d160ae78
RB
37402018-04-26 Richard Biener <rguenther@suse.de>
3741 Tom de Vries <tom@codesourcery.com>
3742
3743 PR lto/85422
3744 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3745
ca9dc642
TV
37462018-04-26 Tom de Vries <tom@codesourcery.com>
3747
3748 PR target/85519
3749 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3750 recursion depth from 25 to 23.
3751 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3752
7b47ecf2
L
37532018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3754
3755 * configure: Regenerated.
3756
e91eba31
NS
37572018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3758 Tom de Vries <tom@codesourcery.com>
3759
3760 PR target/85445
3761 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3762
6e0d40b6
TS
37632018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3764
3765 PR libgomp/85463
3766 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3767 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3768 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3769 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3770 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3771 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3772
3773 PR libfortran/85166
3774 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3775 abort".
3776 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3777
a0e1df88
JJ
37782018-04-19 Jakub Jelinek <jakub@redhat.com>
3779
3780 * configure: Regenerated.
3781
001ddaa8
DM
37822018-04-18 David Malcolm <dmalcolm@redhat.com>
3783
3784 PR jit/85384
3785 * configure: Regenerate.
3786
05e0af43
CP
37872018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3788 Tom de Vries <tom@codesourcery.com>
3789
3790 PR middle-end/84955
3791 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3792 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3793
bc436e10
TK
37942018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3795
3796 PR fortran/83064
3797 PR testsuite/85346
3798 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3799 test from gfortran.dg to here.
3800
ffb164c7
JJ
38012018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3802
3803 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3804 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3805
38062018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3807
3808 PR middle-end/84955
3809 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3810 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3811
2ba16fd2
TV
38122018-04-05 Tom de Vries <tom@codesourcery.com>
3813
3814 PR target/85204
3815 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3816
46dbeb40
TV
38172018-03-26 Tom de Vries <tom@codesourcery.com>
3818
3819 PR tree-optimization/85063
3820 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3821 * testsuite/libgomp.c/switch-conversion.c: New test.
3822 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3823 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3824
bfc24e32
TK
38252018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3826
3827 PR fortran/84381
3828 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3829 call abort by STOP n.
3830 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3831 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3832 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3833 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3834 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3835 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3836 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3837 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3838 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3839 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3840 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3841 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3842 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3843 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3844 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3845 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3846 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3847 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3848 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3849 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3850 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3851 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3852 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3853 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3854 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3855 * testsuite/libgomp.fortran/character1.f90: Likewise.
3856 * testsuite/libgomp.fortran/character2.f90: Likewise.
3857 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3858 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3859 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3860 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3861 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3862 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3863 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3864 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3865 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3866 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3867 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3868 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3869 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3870 * testsuite/libgomp.fortran/do1.f90: Likewise.
3871 * testsuite/libgomp.fortran/do2.f90: Likewise.
3872 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3873 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3874 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3875 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3876 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3877 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3878 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3879 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3880 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3881 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3882 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3883 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3884 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3885 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3886 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3887 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3888 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3889 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3890 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3891 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3892 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3893 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3894 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3895 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3896 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3897 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3898 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3899 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3900 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3901 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3902 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3903 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3904 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3905 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3906 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3907 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3908 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3909 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3910 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3911 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3912 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3913 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3914 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3915 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3916 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3917 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3918 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3919 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3920 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3921 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3922 * testsuite/libgomp.fortran/lib2.f: Likewise.
3923 * testsuite/libgomp.fortran/lib3.f: Likewise.
3924 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3925 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3926 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3927 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3928 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3929 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3930 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3931 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3932 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3933 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3934 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3935 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3936 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3937 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3938 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3939 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3940 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3941 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3942 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3943 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3944 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3945 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3946 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3947 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3948 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3949 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3950 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3951 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3952 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3953 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3954 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3955 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3956 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3957 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3958 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3959 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3960 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3961 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3962 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3963 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3964 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3965 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3966 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3967 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3968 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3969 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3970 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3971 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3972 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3973 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3974 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3975 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3976 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3977 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3978 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3979 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3980 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3981 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3982 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3983 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3984 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3985 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3986 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3987 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3988 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3989 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3990 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3991 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3992 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3993 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3994 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3995 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3996 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3997 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3998 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3999 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4000 * testsuite/libgomp.fortran/stack.f90: Likewise.
4001 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4002 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4003 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4004 * testsuite/libgomp.fortran/target1.f90: Likewise.
4005 * testsuite/libgomp.fortran/target2.f90: Likewise.
4006 * testsuite/libgomp.fortran/target3.f90: Likewise.
4007 * testsuite/libgomp.fortran/target4.f90: Likewise.
4008 * testsuite/libgomp.fortran/target5.f90: Likewise.
4009 * testsuite/libgomp.fortran/target6.f90: Likewise.
4010 * testsuite/libgomp.fortran/target7.f90: Likewise.
4011 * testsuite/libgomp.fortran/target8.f90: Likewise.
4012 * testsuite/libgomp.fortran/task1.f90: Likewise.
4013 * testsuite/libgomp.fortran/task2.f90: Likewise.
4014 * testsuite/libgomp.fortran/task3.f90: Likewise.
4015 * testsuite/libgomp.fortran/task4.f90: Likewise.
4016 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4017 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4018 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4019 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4020 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4021 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4022 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4023 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4024 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4025 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4026 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4027 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4028 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4029 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4030 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4031 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4032 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4033 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4034 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4035 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4036 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4037 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4038 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4039 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4040 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4041 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4042 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4043 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4044 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4045 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4046 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4047 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4048 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4049 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4050 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4051 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4052 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4053 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4054 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4055 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4056 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4057 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4058 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4059 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4060 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4061 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4062 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4063 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4064 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4065 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4066 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4067 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4068 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4069 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4070 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4071 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4072 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4073 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4074 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4075 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4076 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4077 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4078 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4079 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4080 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4081 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4082 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4083 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4084 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4085 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4086 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4087 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4088 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4089 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4090 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4091 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4092 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4093 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4094 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4095 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4096 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4097 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4098 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4099 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4100 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4101 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4102 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4103 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4104 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4105 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4106 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4107 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4108 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4109 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4110 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4111 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4112 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4113 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4114 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4115 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4116 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4117 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4118 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4119 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4120 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4121 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4122 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4123 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4124 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4125 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4126 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4127 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4128 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4129 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4130 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4131 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4132 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4133 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4134 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4135 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4136 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4137 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4138 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4139 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4140 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4141 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4142
79cf14ae
RB
41432018-03-20 Richard Biener <rguenther@suse.de>
4144
4145 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4146 parallelizable loop.
4147
14e335ed
IT
41482018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4149
4150 PR target/84148
4151 * configure: Regenerate.
4152
83d9be55
JJ
41532018-02-16 Jakub Jelinek <jakub@redhat.com>
4154
4155 PR fortran/84418
4156 * libgomp.fortran/pr84418-1.f90: New test.
4157 * libgomp.fortran/pr84418-2.f90: New test.
4158
d1fe6124
JJ
41592018-02-14 Jakub Jelinek <jakub@redhat.com>
4160
4161 PR fortran/84313
4162 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4163 -std=f2003 -fall-intrinsics into dg-additional-options.
4164
3d224921
MJ
41652018-02-08 Martin Jambor <mjambor@suse.cz>
4166
4167 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4168 clonable.
4169
c7c30edd
MJ
41702018-02-08 Martin Jambor <mjambor@suse.cz>
4171
4172 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4173
f320fdfd
RO
41742018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4175
4176 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4177 [__cplusplus]: Declare extern "C".
4178
c31bc4ac
TV
41792018-02-07 Tom de Vries <tom@codesourcery.com>
4180
4181 PR libgomp/84217
4182 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4183
99ae7ce5
CS
41842018-01-29 Christoph Spiel <cspiel@freenet.de>
4185 Jakub Jelinek <jakub@redhat.com>
4186
4187 PR libgomp/84096
4188 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4189 instead of omp_lock_t.
4190
e77a1236
TV
41912018-01-25 Tom de Vries <tom@codesourcery.com>
4192
4193 PR target/84028
4194 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4195
3dede32b
TV
41962018-01-24 Tom de Vries <tom@codesourcery.com>
4197
4198 PR target/83589
4199 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4200
be606483
TV
42012018-01-24 Tom de Vries <tom@codesourcery.com>
4202
4203 PR target/81352
4204 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4205
8c8e9a6b
TV
42062018-01-19 Tom de Vries <tom@codesourcery.com>
4207 Cesar Philippidis <cesar@codesourcery.com>
4208
4209 PR target/83920
4210 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4211 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4212
65e6aea3
JJ
42132018-01-03 Jakub Jelinek <jakub@redhat.com>
4214
85ec4feb
JJ
4215 Update copyright years.
4216
65e6aea3
JJ
4217 * libgomp.texi: Bump @copying's copyright year.
4218
60bf575c
TV
42192017-12-30 Tom de Vries <tom@codesourcery.com>
4220
4221 PR libgomp/83046
4222 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4223 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4224
7ec16b79
TV
42252017-12-27 Tom de Vries <tom@codesourcery.com>
4226
4227 PR c++/83046
4228 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4229 (test_nonstatic): Fix return type to workaround PR83046.
4230
ac550b9a
JJ
42312017-12-05 Jakub Jelinek <jakub@redhat.com>
4232
4233 PR testsuite/83281
4234 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4235 j suffix instead of i.
4236 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4237 Likewise.
4238
ebdc83f0
CP
42392017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4240
4241 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4242 call to acc_wait (1).
4243
3b3e6283
JJ
42442017-11-24 Jakub Jelinek <jakub@redhat.com>
4245
4246 PR fortran/81304
4247 * testsuite/libgomp.fortran/pr81304.f90: New test.
4248
3b575376
JJ
42492017-11-23 Jakub Jelinek <jakub@redhat.com>
4250
4251 PR fortran/81841
4252 * libgomp.fortran/pr81841.f90: New test.
4253
b13547d8
JJ
42542017-11-22 Jakub Jelinek <jakub@redhat.com>
4255
4256 PR libgomp/83106
4257 * target.c (gomp_target_init): Compute lengths just once and
4258 use them in both malloc size and subsequent copying.
4259
efe33ced
IT
42602017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4261
4262 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4263 * acinclude.m4: Add cet.m4.
4264 * configure: Regenerate.
4265 * Makefile.in: Likewise.
4266 * testsuite/Makefile.in: Likewise.
4267
a7cf2612
TV
42682017-11-15 Tom de Vries <tom@codesourcery.com>
4269
4270 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4271 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4272 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4273 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4274 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4275 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4276
dde76623
TV
42772017-11-14 Tom de Vries <tom@codesourcery.com>
4278
4279 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4280 non-nvidia devices.
4281
4dbeb716
JJ
42822017-11-07 Jakub Jelinek <jakub@redhat.com>
4283
4284 PR c++/82835
4285 * testsuite/libgomp.c++/pr82835.C: New test.
4286
454f8b2b
ML
42872017-11-06 Martin Liska <mliska@suse.cz>
4288
4289 * testsuite/libgomp.c++/loop-2.C: Return a value
4290 for functions with non-void return type, or change type to void,
4291 or add -Wno-return-type for test.
4292 * testsuite/libgomp.c++/loop-4.C: Likewise.
4293 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4294 * testsuite/libgomp.c++/shared-1.C: Likewise.
4295 * testsuite/libgomp.c++/single-1.C: Likewise.
4296 * testsuite/libgomp.c++/single-2.C: Likewise.
4297
12e9c8ce
TV
42982017-10-31 Tom de Vries <tom@codesourcery.com>
4299
4300 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4301 "do {} while (false)".
4302 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4303 after HSA_DEBUG call.
4304
7324369a
JJ
43052017-10-28 Jakub Jelinek <jakub@redhat.com>
4306
4307 * target.c (struct gomp_coalesce_buf): New type.
4308 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4309 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4310 (gomp_copy_host2dev): Add CBUF argument, if copying into
4311 the cached ranges, memcpy into buffer instead of copying
4312 into device.
4313 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4314 Add CBUF argument, pass it through to other calls.
4315 (gomp_map_vars): Aggregate copies from host to device if small enough
4316 and with small enough gaps in between into memcpy into a buffer and
4317 fewer host to device copies from the buffer.
4318 (gomp_update): Adjust gomp_copy_host2dev caller.
4319
933ab0e6
TS
43202017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4321
4322 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4323 run" directive.
4324 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4325 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4326 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4327 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4328
92d5d01a
TV
43292017-10-16 Tom de Vries <tom@codesourcery.com>
4330
4331 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4332 openacc_nvidia_accel_selected.
4333 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4334 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4335 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4336 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4337 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4338 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4339 openacc_nvidia_accel_selected. Skip for shared memory device.
4340 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4341 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4342
191411e4
MJ
43432017-10-09 Martin Jambor <mjambor@suse.cz>
4344
4345 PR hsa/82416
4346 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4347
e923330e
TV
43482017-10-07 Tom de Vries <tom@codesourcery.com>
4349
4350 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4351 Remove acc_device_nvidia references.
4352 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4353 Same.
4354
8fe3ed4c
TV
43552017-10-05 Tom de Vries <tom@codesourcery.com>
4356
4357 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4358 vector_length(32) clause from acc parallel directive.
4359 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4360
26596ee5
TV
43612017-10-04 Tom de Vries <tom@codesourcery.com>
4362
4363 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4364 (main): Reduce sum of arr elements. Assert that hres is exactly
4365 representable in 32-bit floating point.
4366 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4367 (main): Reduce sum of arr elements. Assert that hres and hmres are
4368 exactly representable in 32-bit floating point.
4369 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4370
5c561fa9
TV
43712017-09-28 Tom de Vries <tom@codesourcery.com>
4372
4373 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4374 setting.
4375 * testsuite/libgomp.c++/pr69393.C: Same.
4376 * testsuite/libgomp.c++/taskloop-1.C: Same.
4377 * testsuite/libgomp.c++/taskloop-3.C: Same.
4378 * testsuite/libgomp.c++/taskloop-4.C: Same.
4379 * testsuite/libgomp.c/for-4.c: Same.
4380 * testsuite/libgomp.c/pr66199-3.c: Same.
4381 * testsuite/libgomp.c/pr66199-4.c: Same.
4382 * testsuite/libgomp.c/pr66199-6.c: Same.
4383 * testsuite/libgomp.c/taskloop-1.c: Same.
4384 * testsuite/libgomp.c/taskloop-3.c: Same.
4385 * testsuite/libgomp.c/taskloop-4.c: Same.
4386 * testsuite/libgomp.fortran/aligned1.f03: Same.
4387 * testsuite/libgomp.fortran/condinc1.f: Same.
4388 * testsuite/libgomp.fortran/condinc3.f90: Same.
4389 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4390 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4391 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4392 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4393 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4394 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4395 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4396 * testsuite/libgomp.fortran/recursion1.f90: Same.
4397 * testsuite/libgomp.fortran/target2.f90: Same.
4398 * testsuite/libgomp.fortran/target5.f90: Same.
4399 * testsuite/libgomp.fortran/task3.f90: Same.
4400
7d6206fe
TV
44012017-09-28 Tom de Vries <tom@codesourcery.com>
4402
4403 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4404 vector_length(32) clause from acc parallel directive.
4405 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4406
84c8627c
TV
44072017-09-27 Tom de Vries <tom@codesourcery.com>
4408
4409 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4410 Remove acc_device_nvidia references.
4411
ebc6a85e
TV
44122017-09-16 Tom de Vries <tom@codesourcery.com>
4413
4414 PR c/81875
4415 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4416
82419efb
TV
44172017-09-14 Tom de Vries <tom@codesourcery.com>
4418
4419 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4420 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4421 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4422 * testsuite/libgomp.c/c.exp: Include test-cases from
4423 libgomp.c-c++-common.
4424 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4425 files.
4426
8b586510
JJ
44272017-09-14 Jakub Jelinek <jakub@redhat.com>
4428
4429 PR c++/81314
4430 * testsuite/libgomp.c++/pr81314.C: New test.
4431
9651fbaf
GP
44322017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4433
4434 * libgomp.texi (Top): www.openacc.org now uses https.
4435 (Enabling OpenACC): Ditto.
4436 (acc_get_num_devices): Ditto.
4437 (acc_set_device_type): Ditto.
4438 (acc_get_device_type): Ditto.
4439 (acc_set_device_num): Ditto.
4440 (acc_get_device_num): Ditto.
4441 (acc_async_test): Ditto.
4442 (acc_async_test_all): Ditto.
4443 (acc_wait): Ditto.
4444 (acc_wait_all): Ditto.
4445 (acc_wait_all_async): Ditto.
4446 (acc_wait_async): Ditto.
4447 (acc_init): Ditto.
4448 (acc_shutdown): Ditto.
4449 (acc_on_device): Ditto.
4450 (acc_malloc): Ditto.
4451 (acc_free): Ditto.
4452 (acc_copyin): Ditto.
4453 (acc_present_or_copyin): Ditto.
4454 (acc_create): Ditto.
4455 (acc_present_or_create): Ditto.
4456 (acc_copyout): Ditto.
4457 (acc_delete): Ditto.
4458 (acc_update_device): Ditto.
4459 (acc_update_self): Ditto.
4460 (acc_map_data): Ditto.
4461 (acc_unmap_data): Ditto.
4462 (acc_deviceptr): Ditto.
4463 (acc_hostptr): Ditto.
4464 (acc_is_present): Ditto.
4465 (acc_memcpy_to_device): Ditto.
4466 (acc_memcpy_from_device): Ditto.
4467 (acc_get_current_cuda_device): Ditto.
4468 (acc_get_current_cuda_context): Ditto.
4469 (acc_get_cuda_stream): Ditto.
4470 (acc_set_cuda_stream): Ditto.
4471 (ACC_DEVICE_TYPE): Ditto.
4472 (ACC_DEVICE_NUM): Ditto.
4473 (OpenACC Library Interoperability): Ditto.
4474
50aa16c3
JJ
44752017-08-09 Jakub Jelinek <jakub@redhat.com>
4476
4477 PR c/81687
4478 * testsuite/libgomp.c/pr81687-1.c: New test.
4479 * testsuite/libgomp.c/pr81687-2.c: New test.
4480
56b5041c
JJ
44812017-08-07 Jakub Jelinek <jakub@redhat.com>
4482
4483 PR c/69389
4484 * testsuite/libgomp.c/pr69389.c: New test.
4485 * testsuite/libgomp.c++/pr69389.C: New test.
4486
f4c222c0
TV
44872017-08-07 Tom de Vries <tom@codesourcery.com>
4488
4489 PR middle-end/78266
4490 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4491 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4492
a40ff0ae
JJ
44932017-07-27 Jakub Jelinek <jakub@redhat.com>
4494
4495 PR c/45784
4496 * testsuite/libgomp.c/pr45784.c: New test.
4497 * testsuite/libgomp.c++/pr45784.C: New test.
4498
3717fbe3
TV
44992017-07-19 Tom de Vries <tom@codesourcery.com>
4500
4501 * testsuite/libgomp.oacc-c/vec.c: New test.
4502
9607b014
TV
45032017-07-03 Tom de Vries <tom@codesourcery.com>
4504
4505 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4506
dfb15f6b
TV
45072017-06-27 Tom de Vries <tom@codesourcery.com>
4508
4509 * plugin/plugin-nvptx.c (notify_var): New function.
4510 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4511
22f1a037
TV
45122017-06-27 Tom de Vries <tom@codesourcery.com>
4513
4514 * env.c (parse_unsigned_long_1): Factor out of ...
4515 (parse_unsigned_long): ... here.
4516 (parse_int_1): Factor out of ...
4517 (parse_int): ... here.
4518 (parse_int_secure): New function.
4519 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4520 * secure_getenv.h: Factor out of ...
4521 * plugin/plugin-hsa.c: ... here.
4522 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4523
d54d1fc3
JJ
45242017-06-21 Jakub Jelinek <jakub@redhat.com>
4525
4526 PR c++/81130
4527 * testsuite/libgomp.c++/pr81130.C: New test.
4528
4f4b0ab8
RO
45292017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4530
4531 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4532 default args.
4533 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4534 dg-xfail-run-if default args.
4535
40ffd95f
BE
45362017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4537
4538 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4539 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4540
01275e1e
JJ
45412017-05-30 Jakub Jelinek <jakub@redhat.com>
4542
4543 PR libgomp/80822
4544 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4545 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4546 sibling lists, depending on level just pick up what CPUs to put
4547 together into a place vs. whether add multiple ordered places.
4548
78672bd8
TS
45492017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4550
7ce64403
TS
4551 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4552 * libgomp.map (OACC_2.0.1): Add these.
4553 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4554 for "acc_wait", and "acc_wait_all", respectively.
4555 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4556 for "acc_wait", and "acc_wait_all", respectively.
4557 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4558 * libgomp.texi (acc_wait, acc_wait_all): Update.
4559 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4560 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4561 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4562
318686c2
TS
4563 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4564 acc_present_or_copyin and acc_present_or_create procedures,
4565 respectively.
4566 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4567 generally different variants of OpenACC Runtime Library functions.
4568 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4569
a6745534
TS
4570 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4571 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4572
9b94fbc7
TS
4573 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4574 of preprocessor definitions.
4575 * libgomp.h (strong_alias): Guard by "#ifdef
4576 HAVE_ATTRIBUTE_ALIAS".
4577 * oacc-mem.c: Provide "acc_pcreate" as alias for
4578 "acc_present_or_create", and "acc_pcopyin" as alias for
4579 "acc_present_or_copyin".
4580 * libgomp.map: New version "OACC_2.0.1".
4581 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4582 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4583 its content into...
4584 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4585 Extend testing.
4586
78672bd8
TS
4587 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4588 when disabling nvptx offloading.
4589
0c36d0d5
TS
45902017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4591
fd71a9a2
TS
4592 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4593 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4594 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4595
0c36d0d5
TS
4596 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4597 * testsuite/lib/libgomp.exp
4598 (check_effective_target_openacc_nvidia_accel_configured): New
4599 proc.
4600 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4601 (check_effective_target_c++): New procs.
4602 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4603 (check_effective_target_c++): Likewise.
4604
c24783c4
JJ
46052017-05-22 Jakub Jelinek <jakub@redhat.com>
4606
655e5265
JJ
4607 PR middle-end/80809
4608 * testsuite/libgomp.c/pr80809-2.c: New test.
4609 * testsuite/libgomp.c/pr80809-3.c: New test.
4610
e9e2ef9f
JJ
4611 PR middle-end/80809
4612 * testsuite/libgomp.c/pr80809-1.c: New test.
4613
c24783c4
JJ
4614 PR middle-end/80853
4615 * testsuite/libgomp.c/pr80853.c: New test.
4616
0da2f96a
TS
46172017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4618
7fd549d2
TS
4619 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4620 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4621 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4622 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4623 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4624
0da2f96a
TS
4625 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4626 Debug output for failure.
4627
62ffe920
RO
46282017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4629
4630 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4631
f49215b1
JJ
46322017-04-27 Jakub Jelinek <jakub@redhat.com>
4633
4634 PR bootstrap/80531
4635 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4636 bootstrap compare failures.
4637
2260d19d
AM
46382017-04-20 Alexander Monakov <amonakov@ispras.ru>
4639
4640 * testsuite/libgomp.c/target-36.c: New testcase.
4641
19929ba9
JJ
46422017-04-13 Jakub Jelinek <jakub@redhat.com>
4643
4644 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4645 instead of char.
4646
fbc698e0
JJ
46472017-04-11 Jakub Jelinek <jakub@redhat.com>
4648
4649 PR libgomp/80394
4650 * testsuite/libgomp.c/pr80394.c: New test.
4651
c4060df4
JJ
46522017-04-04 Jakub Jelinek <jakub@redhat.com>
4653
4654 PR libgomp/79876
4655 * config/posix/thread-stacksize.h: New file.
4656 * config/darwin/thread-stacksize.h: New file.
4657 * config/nvptx/thread-stacksize.h: New file.
4658 * env.c: Include thread-stacksize.h.
4659 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4660 instead of 0. Call pthread_attr_setstacksize even if
4661 GOMP_DEFAULT_STACKSIZE is non-zero.
4662
e02d868a
JJ
46632017-03-30 Jakub Jelinek <jakub@redhat.com>
4664
4665 * env.c (initialize_env): Initialize stacksize to 0.
4666
7ba8651e
CP
46672017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4668
4669 PR c++/80029
4670 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4671
eebc5e2d
JJ
46722017-03-08 Jakub Jelinek <jakub@redhat.com>
4673
4674 PR c/79940
4675 * testsuite/libgomp.c/pr79940.c: New test.
4676
1eb08f52
RO
46772017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4678
4679 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4680 targets.
4681 Add __float128 options.
4682
b0f78ff3
JDA
46832017-02-11 John David Anglin <danglin@gcc.gnu.org>
4684
4685 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4686 hppa*-*-* dg-skip-if directive.
4687
1bbe0d8f
JJ
46882017-02-09 Jakub Jelinek <jakub@redhat.com>
4689
4690 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4691 dg-skip-if directive into a comment.
4692
02889d23
CLT
46932017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4694 Chung-Lin Tang <cltang@codesourcery.com>
4695
4696 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4697 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4698 add additional case.
4699 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4700 "openacc_nvidia_accel_selected".
4701 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4702 Add num_workers(8) clause.
4703
5896a41d
JDA
47042017-02-08 John David Anglin <danglin@gcc.gnu.org>
4705
4706 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4707 hppa*-*-*.
4708 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4709 include complex.h on hppa*-*-hpux*.
4710 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4711
345a8c17
TS
47122017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4713
e70ab10d
TS
4714 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4715
345a8c17
TS
4716 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4717 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4718 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4719 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4720 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4721 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4722 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4723 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4724 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4725 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4726
dced339c
TS
47272017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4728
4729 * libgomp-plugin.h: #include <stdbool.h>.
4730 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4731 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4732 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4733 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4734 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4735 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4736 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4737 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4738 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4739 (GOMP_OFFLOAD_openacc_async_test)
4740 (GOMP_OFFLOAD_openacc_async_test_all)
4741 (GOMP_OFFLOAD_openacc_async_wait)
4742 (GOMP_OFFLOAD_openacc_async_wait_async)
4743 (GOMP_OFFLOAD_openacc_async_wait_all)
4744 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4745 (GOMP_OFFLOAD_openacc_async_set_async)
4746 (GOMP_OFFLOAD_openacc_create_thread_data)
4747 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4748 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4749 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4750 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4751 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4752 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4753 these.
4754 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4755 (GOMP_OFFLOAD_unload_image): Fix argument types.
4756
23749904
JJ
47572017-01-26 Jakub Jelinek <jakub@redhat.com>
4758
c1cadde1
JJ
4759 * testsuite/lib/libgomp.exp
4760 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4761 check_compile invocation. Fix up removal of executable. Drop
4762 bogus "2>&1" argument.
4763
23749904
JJ
4764 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4765 directive.
4766
47672017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
4768 Martin Jambor <mjambor@suse.cz>
4769
4770 * plugin/hsa.h: Moved to top level include.
4771 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4772
73aa401e
JJ
47732017-01-21 Jakub Jelinek <jakub@redhat.com>
4774
4775 PR other/79046
4776 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4777 of cat to get version from BASE-VER file.
4778 * testsuite/Makefile.in: Regenerated.
4779
b32e85fa
JJ
47802017-01-19 Jakub Jelinek <jakub@redhat.com>
4781
4782 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4783 for _WIN64.
4784
3c36aa6b
JJ
47852017-01-17 Jakub Jelinek <jakub@redhat.com>
4786
d190d5c0
JJ
4787 * plugin/hsa.h: Add GCC runtime library exception.
4788 * plugin/hsa_ext_finalize.h: Likewise.
4789
2393d337
JJ
4790 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4791 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4792 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4793 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4794 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4795 library to link ptx plugin against.
4796 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4797 (CUDA_CALLS): Define.
4798 (cuda_lib, cuda_lib_inited): New variables.
4799 (init_cuda_lib): New function.
4800 (CUDA_CALL_PREFIX): Define.
4801 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4802 (CUDA_CALL): Use FN instead of (FN).
4803 (CUDA_CALL_NOCHECK): Define.
4804 (cuda_error, fini_streams_for_device, select_stream_for_async,
4805 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4806 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4807 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4808 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4809 CUDA_CALL_NOCHECK.
4810 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4811 CUDA_CALL_NOCHECK.
4812 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4813 Use CUDA_CALL_NOCHECK.
4814 * plugin/cuda/cuda.h: New file.
4815 * config.h.in: Regenerated.
4816 * configure: Regenerated.
4817
3c36aa6b
JJ
4818 PR other/79046
4819 * configure.ac: Add GCC_BASE_VER.
4820 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4821 get version from BASE-VER file.
4822 * testsuite/Makefile.in: Regenerated.
4823 * configure: Regenerated.
4824 * Makefile.in: Regenerated.
4825
c508bc2d
FXC
48262017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4827
4828 PR libgomp/60670
4829 * Makefile.am: Make fincludedir multilib-aware.
4830 * Makefile.in: Regenerate.
4831
c1a9c369
JJ
48322017-01-01 Jakub Jelinek <jakub@redhat.com>
4833
cbe34bb5
JJ
4834 Update copyright years.
4835
c1a9c369
JJ
4836 * libgomp.texi: Bump @copying's copyright year.
4837
e7a7f4be
SH
48382016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4839
4840 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4841 pthread_spinlock_t instead of gomp_mutex_t lock.
4842 (gomp_get_thread_pool): Likewise.
4843 (gomp_release_thread_pool): Likewise.
4844 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4845 Likewise.
4846
d313d52c
SH
48472016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4848
4849 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4850 thread pool in case nthreads == 1.
4851
630e3c3a
AM
48522016-11-30 Alexander Monakov <amonakov@ispras.ru>
4853
4854 * config/nvptx/env.c: Delete.
4855 * icv.c: Move definitions of ICV variables back ...
4856 * env.c: ...here. Do not compile environment-related functionality if
4857 LIBGOMP_OFFLOADED_ONLY is set.
4858
9e38af5c
AM
48592016-11-30 Alexander Monakov <amonakov@ispras.ru>
4860
4861 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4862 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4863 * configure: Regenerate.
4864 * config.h.in: Likewise.
4865
f96b7f1f
AM
48662016-11-30 Alexander Monakov <amonakov@ispras.ru>
4867
4868 * Makefile.in: Regenerate with automake-1.11.6.
4869 * aclocal.m4: Likewise.
4870 * configure: Likewise.
4871 * testsuite/Makefile.in: Likewise.
4872
6a6951b1
AM
48732016-11-28 Alexander Monakov <amonakov@ispras.ru>
4874
4875 * config/nvptx/critical.c: Delete to use generic implementation.
4876
c7ac071f
JH
48772016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4878
4879 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4880 ../../affinity.c as fallback.
4881 * config/nvptx/affinity.c: Delete to use fallback implementation.
4882
6103184e 48832016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 4884 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
4885 Dmitry Melnik <dm@ispras.ru>
4886
4887 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4888 * Makefile.in. Regenerate.
4889 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4890 (LIBGOMP_USE_PTHREADS): ...here; new define.
4891 * configure: Regenerate.
4892 * config.h.in: Likewise.
4893 * config/posix/affinity.c: Move to...
4894 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4895 interface by LIBGOMP_USE_PTHREADS.
4896 * critical.c: Split out GOMP_atomic_{start,end} into...
4897 * atomic.c: ...here (new file).
4898 * env.c: Split out ICV definitions into...
4899 * icv.c: ...here (new file) and...
4900 * icv-device.c: ...here. New file.
4901 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4902 (gomp_destroy_lock_30): Ditto.
4903 (gomp_set_lock_30): Ditto.
4904 (gomp_unset_lock_30): Ditto.
4905 (gomp_test_lock_30): Ditto.
4906 (gomp_init_nest_lock_30): Ditto.
4907 (gomp_destroy_nest_lock_30): Ditto.
4908 (gomp_set_nest_lock_30): Ditto.
4909 (gomp_unset_nest_lock_30): Ditto.
4910 (gomp_test_nest_lock_30): Ditto.
4911 * lock.c: New.
4912 * config/nvptx/lock.c: New.
4913 * config/nvptx/bar.c: New.
4914 * config/nvptx/bar.h: New.
4915 * config/nvptx/doacross.h: New.
4916 * config/nvptx/error.c: New.
4917 * config/nvptx/icv-device.c: New.
4918 * config/nvptx/mutex.h: New.
4919 * config/nvptx/pool.h: New.
4920 * config/nvptx/proc.c: New.
4921 * config/nvptx/ptrlock.h: New.
4922 * config/nvptx/sem.h: New.
4923 * config/nvptx/simple-bar.h: New.
4924 * config/nvptx/target.c: New.
4925 * config/nvptx/task.c: New.
4926 * config/nvptx/team.c: New.
4927 * config/nvptx/time.c: New.
4928 * config/posix/simple-bar.h: New.
4929 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4930 (gomp_num_teams_var): Declare.
4931 (struct gomp_thread_pool): Change threads_dock member to
4932 gomp_simple_barrier_t.
4933 [__nvptx__] (gomp_thread): New implementation.
4934 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4935 (gomp_thread_destructor): Ditto.
4936 (gomp_init_thread_affinity): Ditto.
4937 * team.c: Guard uses of Pthreads-specific interfaces by
4938 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4939 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4940 * config/nvptx/alloc.c: Delete.
4941 * config/nvptx/barrier.c: Ditto.
4942 * config/nvptx/fortran.c: Ditto.
4943 * config/nvptx/iter.c: Ditto.
4944 * config/nvptx/iter_ull.c: Ditto.
4945 * config/nvptx/loop.c: Ditto.
4946 * config/nvptx/loop_ull.c: Ditto.
4947 * config/nvptx/ordered.c: Ditto.
4948 * config/nvptx/parallel.c: Ditto.
4949 * config/nvptx/priority_queue.c: Ditto.
4950 * config/nvptx/sections.c: Ditto.
4951 * config/nvptx/single.c: Ditto.
4952 * config/nvptx/splay-tree.c: Ditto.
4953 * config/nvptx/work.c: Ditto.
4954 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4955 -foffload=-lgfortran in addition to -lgfortran.
4956 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4957 * plugin/plugin-nvptx.c: Include <limits.h>.
4958 (struct targ_fn_descriptor): Add new fields.
4959 (struct ptx_device): Ditto. Set them...
4960 (nvptx_open_device): ...here.
4961 (nvptx_adjust_launch_bounds): New.
4962 (nvptx_host2dev): Allow NULL 'nvthd'.
4963 (nvptx_dev2host): Ditto.
4964 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4965 (link_ptx): Adjust log sizes.
4966 (nvptx_host2dev): Allow NULL 'nvthd'.
4967 (nvptx_dev2host): Ditto.
4968 (nvptx_set_clocktick): New. Use it...
4969 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4970 fields.
4971 (GOMP_OFFLOAD_dev2dev): New.
4972 (nvptx_adjust_launch_bounds): New.
4973 (nvptx_stacks_size): New.
4974 (nvptx_stacks_alloc): New.
4975 (nvptx_stacks_free): New.
4976 (GOMP_OFFLOAD_run): New.
4977 (GOMP_OFFLOAD_async_run): New (stub).
4978
56b1c60e
MJ
49792016-11-23 Martin Jambor <mjambor@suse.cz>
4980
4981 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4982 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4983 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4984
b8d89b03 49852016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 4986 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
4987
4988 * plugin/hsa.h: New file.
4989 * plugin/hsa_ext_finalize.h: New file.
4990 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4991 header file unistd.h, and functions secure_getenv, __secure_getenv,
4992 getuid, geteuid, getgid and getegid.
4993 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4994 -D_GNU_SOURCE.
4995 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4996 Handle various cases of secure_getenv presence, add an implementation
4997 when we can test effective UID and GID.
4998 (struct hsa_runtime_fn_info): New structure.
4999 (hsa_runtime_fn_info hsa_fns): New variable.
5000 (hsa_runtime_lib): Likewise.
5001 (support_cpu_devices): Likewise.
5002 (init_enviroment_variables): Load newly introduced ENV
5003 variables.
5004 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5005 (hsa_fatal): Likewise.
5006 (DLSYM_FN): New macro.
5007 (init_hsa_runtime_functions): New function.
5008 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5009 structure. Depending on environment, also allow CPU devices.
5010 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5011 (get_kernarg_memory_region): Likewise.
5012 (GOMP_OFFLOAD_init_device): Likewise.
5013 (destroy_hsa_program): Likewise.
5014 (init_basic_kernel_info): New function.
5015 (GOMP_OFFLOAD_load_image): Use it.
5016 (create_and_finalize_hsa_program): Call hsa run-time functions via
5017 hsa_fns structure.
5018 (create_single_kernel_dispatch): Likewise.
5019 (release_kernel_dispatch): Likewise.
5020 (init_single_kernel): Likewise.
5021 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5022 (get_group_size): New function.
5023 (run_kernel): Likewise.
5024 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5025 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5026 structure.
5027 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5028 * testsuite/libgomp-test-support.exp.in: Likewise.
5029 * Makefile.in: Regenerated.
5030 * aclocal.m4: Likewise.
5031 * config.h.in: Likewise.
5032 * configure: Likewise.
5033 * testsuite/Makefile.in: Likewise.
5034
18d2ada8 50352016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 5036 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
5037
5038 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5039 mapping clauses to target constructs.
5040 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5041
84c1b9d3
MK
50422016-11-15 Matthias Klose <doko@ubuntu.com>
5043
5044 * configure: Regenerate.
5045
b4c3a85b
JJ
50462016-11-10 Jakub Jelinek <jakub@redhat.com>
5047
8ebd1b31
JJ
5048 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5049 * omp_lib.h.in (openmp_version): Likewise.
5050 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5051 of 201307.
5052 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5053
b4c3a85b
JJ
5054 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5055 (fib_wrapper): Add map(from: x) clause.
5056 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5057 (e_53_2): Likewise.
5058 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5059 (accum): Add map(tmp) clause.
5060 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5061 (accum): Add map(tofrom: tmp) clause.
5062 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5063 (gramSchmidt): Likewise.
5064 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5065 map(tofrom: sum) clause.
5066 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5067 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5068 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5069 only allowed on the loop iterator.
5070 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5071 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5072 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5073 * testsuite/libgomp.fortran/doacross1.f90: New test.
5074 * testsuite/libgomp.fortran/doacross3.f90: New test.
5075 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5076 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5077 * testsuite/libgomp.fortran/doacross2.f90: New test.
5078 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5079 #pragma omp atomic read.
5080 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5081 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5082
6668eb45
CP
50832016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5084 Nathan Sidwell <nathan@acm.org>
5085
5086 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5087 to determine default geometry.
5088 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5089 dimension.
5090
f10e37a1
JJ
50912016-11-01 Jakub Jelinek <jakub@redhat.com>
5092
5093 * hashtab.h: Use standard GPLv3 with runtime exception
5094 boilerplate.
5095
015c7760
AH
50962016-10-27 Aldy Hernandez <aldyh@redhat.com>
5097
5098 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5099 size when allocating new thread.
5100
20a1e5b8
MP
51012016-09-14 Marek Polacek <polacek@redhat.com>
5102
5103 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5104
1cad9284
JJ
51052016-08-19 Jakub Jelinek <jakub@redhat.com>
5106
5107 PR fortran/71014
5108 * testsuite/libgomp.fortran/pr71014.f90: New test.
5109
2c71d454
CLT
51102016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5111
5112 PR middle-end/70895
5113 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5114 firstprivate clauses.
5115 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5116 copy clauses.
5117 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5119 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5120 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5121 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5122 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5123 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5124 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5125 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5126 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5127 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5128 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5129
7c713714
CLT
51302016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5131
5132 PR fortran/70598
5133 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5134
5c934396
JJ
51352016-08-08 Jakub Jelinek <jakub@redhat.com>
5136
5137 PR c++/58706
5138 * testsuite/libgomp.c++/pr58706.C: New test.
5139
9ef64248
TS
51402016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5141
bbc79c0e
TS
5142 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5143 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5144 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5145 Likewise.
5146 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5147 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5148 Likewise.
5149 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5150
9ef64248
TS
5151 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5152 test, and don't hardcode -O0.
5153
c1311c86
NS
51542016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5155
5156 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5157
b1c9c068
CP
51582016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5159
5160 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5161 test.
5162
b4410f63
L
51632016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5164
5165 PR middle-end/71734
5166 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5167 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5168
a8dbab92
JJ
51692016-07-01 Jakub Jelinek <jakub@redhat.com>
5170
5171 PR fortran/71717
5172 * testsuite/libgomp.fortran/associate3.f90: New test.
5173
9b6a8d0f
JJ
51742016-06-17 Jakub Jelinek <jakub@redhat.com>
5175
5176 * testsuite/libgomp.c++/target-21.C: New test.
5177
283635f9
JJ
51782016-06-16 Jakub Jelinek <jakub@redhat.com>
5179
5180 * testsuite/libgomp.c++/target-20.C: New test.
5181
27d6ba88
TS
51822016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5183 Cesar Philippidis <cesar@codesourcery.com>
5184
5185 PR middle-end/71373
5186 * libgomp.oacc-c/nested-function-1.c: New file.
5187 * libgomp.oacc-c/nested-function-2.c: Likewise.
5188 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5189 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5190 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5191
4b1ffdb1
TS
51922016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5193
5194 PR c/71381
5195 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5196 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5197 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5198
d821b794
CLT
51992016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5200
5201 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5202 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5203
3616a8c5
CP
52042016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5205
5206 PR c/70688
5eed9a88 5207 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 5208
7211a097
JJ
52092016-05-26 Jakub Jelinek <jakub@redhat.com>
5210
5211 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5212 instead of invalid schedule(static, 0).
5213 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5214
b4557008
CLT
52152016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5216
5217 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5218 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5219 parameter, use to set async stream around call to gomp_unmap_vars,
5220 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5221 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5222 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5223 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5224 (event_add): Add int parameter, initialize 'val' field when
5225 adding new ptx_event struct.
5226 (nvptx_evec): Adjust event_add() call arguments.
5227 (nvptx_host2dev): Likewise.
5228 (nvptx_dev2host): Likewise.
5229 (nvptx_wait_async): Likewise.
5230 (nvptx_wait_all_async): Likewise.
5231 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5232 pass to event_add() call.
5233 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5234 parameter.
5235 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5236 call openacc.register_async_cleanup_func() hook.
5237 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5238 * target.c (gomp_copy_from_async): Delete function.
5239 (gomp_map_vars): Remove async_refcount.
5240 (gomp_unmap_vars): Likewise.
5241 (gomp_load_image_to_device): Likewise.
5242 (omp_target_associate_ptr): Likewise.
5243 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5244 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5245 (gomp_copy_from_async): Remove.
5246
6ce13072
CLT
52472016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5248
5249 * target.c (gomp_device_copy): New function.
5250 (gomp_copy_host2dev): Likewise.
5251 (gomp_copy_dev2host): Likewise.
5252 (gomp_free_device_memory): Likewise.
5253 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5254 (gomp_map_pointer): Likewise.
5255 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5256 NULL value from alloc_func plugin hook.
5257 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5258 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5259 (gomp_unmap_vars): Likewise.
5260 (gomp_update): Adjust to call gomp_copy_dev2host and
5261 gomp_copy_host2dev functions.
5262 (gomp_unload_image_from_device): Handle false value from
5263 unload_image_func plugin hook.
5264 (gomp_init_device): Handle false value from init_device_func
5265 plugin hook.
5266 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5267 (omp_target_free): Adjust to call gomp_free_device_memory.
5268 (omp_target_memcpy): Handle return values from host2dev_func,
5269 dev2host_func, and dev2dev_func plugin hooks.
5270 (omp_target_memcpy_rect_worker): Likewise.
5271 (gomp_target_fini): Handle false value from fini_device_func
5272 plugin hook.
5273 * libgomp.h (struct gomp_device_descr): Adjust return type of
5274 init_device_func, fini_device_func, unload_image_func, free_func,
5275 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5276 * oacc-init.c (acc_shutdown_1): Handle false value from
5277 fini_device_func plugin hook.
5278 * oacc-host.c (host_init_device): Change return type to bool.
5279 (host_fini_device): Likewise.
5280 (host_unload_image): Likewise.
5281 (host_free): Likewise.
5282 (host_dev2host): Likewise.
5283 (host_host2dev): Likewise.
5284 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5285 (acc_memcpy_to_device): Likewise.
5286 (acc_memcpy_from_device): Likewise.
5287 (delete_copyout): Add libfnname parameter, handle free_func
5288 hook fatal error case.
5289 (acc_delete): Adjust delete_copyout call.
5290 (acc_copyout): Likewise.
5291 (update_dev_host): Move gomp_mutex_unlock to after
5292 host2dev/dev2host hook calls.
5293
5294 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5295 to 'hsa_error_msg', for clarity.
5296 (hsa_fatal): Likewise.
5297 (hsa_error): New function.
5298 (init_hsa_context): Change return type to bool, adjust to return
5299 false on error.
5300 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5301 return value.
5302 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5303 return false on error.
5304 (get_agent_info): Adjust to return NULL on error.
5305 (destroy_hsa_program): Change return type to bool, adjust to
5306 return false on error.
5307 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5308 (destroy_module): Change return type to bool, adjust to
5309 return false on error.
5310 (GOMP_OFFLOAD_unload_image): Likewise.
5311 (GOMP_OFFLOAD_fini_device): Likewise.
5312 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5313 (GOMP_OFFLOAD_free): Change to return false when called.
5314 (GOMP_OFFLOAD_dev2host): Likewise.
5315 (GOMP_OFFLOAD_host2dev): Likewise.
5316 (GOMP_OFFLOAD_dev2dev): Likewise.
5317
5318 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5319 (CUDA_CALL): Likewise.
5320 (CUDA_CALL_ASSERT): Likewise.
5321 (map_init): Change return type to bool, use CUDA_CALL* macros.
5322 (map_fini): Likewise.
5323 (init_streams_for_device): Change return type to bool, adjust
5324 call to map_init.
5325 (fini_streams_for_device): Change return type to bool, adjust
5326 call to map_fini.
5327 (select_stream_for_async): Release stream_lock before calls to
5328 GOMP_PLUGIN_fatal, adjust call to map_init.
5329 (nvptx_init): Use CUDA_CALL* macros.
5330 (nvptx_attach_host_thread_to_device): Change return type to bool,
5331 use CUDA_CALL* macros.
5332 (nvptx_open_device): Use CUDA_CALL* macros.
5333 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5334 macros.
5335 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5336 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5337 (nvptx_exec): Use CUDA_CALL* macros.
5338 (nvptx_alloc): Use CUDA_CALL* macros.
5339 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5340 (nvptx_host2dev): Likewise.
5341 (nvptx_dev2host): Likewise.
5342 (nvptx_wait): Use CUDA_CALL* macros.
5343 (nvptx_wait_async): Likewise.
5344 (nvptx_wait_all): Likewise.
5345 (nvptx_wait_all_async): Likewise.
5346 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5347 use CUDA_CALL* macros, adjust call to map_fini.
5348 (GOMP_OFFLOAD_init_device): Change return type to bool,
5349 adjust code accordingly.
5350 (GOMP_OFFLOAD_fini_device): Likewise.
5351 (GOMP_OFFLOAD_load_image): Adjust calls to
5352 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5353 use CUDA_CALL* macros.
5354 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5355 return code.
5356 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5357 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5358 handle error return.
5359 (GOMP_OFFLOAD_dev2host): Likewise.
5360 (GOMP_OFFLOAD_host2dev): Likewise.
5361 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5362 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5363
e46c7770
CP
53642016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5365
5366 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5367 (acc_free): Likewise.
5368 (acc_memcpy_to_device): Likewise.
5369 (acc_memcpy_from_device): Likewise.
5370 (acc_deviceptr): Likewise.
5371 (acc_hostptr): Likewise.
5372 (acc_is_present): Likewise.
5373 (acc_map_data): Likewise.
5374 (acc_unmap_data): Likewise.
5375 (present_create_copy): Likewise.
5376 (delete_copyout): Likewise.
5377 (update_dev_host): Likewise.
5378 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5379 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5380 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5381 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5382 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5383 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5384 it only runs on nvptx targets.
5385 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5386 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5387 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5388 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5389 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5390 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5391 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5392 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5393 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5394 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5395 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5396 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5397 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5398 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5399 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5400 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5401 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5402 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5403 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5404 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5405 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5406 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5407 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5408
a5057543
MJ
54092016-05-23 Martin Jambor <mjambor@suse.cz>
5410
5411 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5412
e37288a6
CLT
54132016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5414
5415 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5416 to gomp_init_targets_once.
5417 (acc_set_device_type): Remove !cached_base_dev condition on call to
5418 gomp_init_targets_once, move call to before acc_device_lock acquire,
5419 to avoid deadlock.
5420 (acc_get_device_num): Remove !cached_base_dev condition on call to
5421 gomp_init_targets_once.
5422 (acc_set_device_num): Likewise.
5423
51d9ed48
MJ
54242016-05-16 Martin Jambor <mjambor@suse.cz>
5425
92a285c1 5426 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 5427
5b37e866
NS
54282016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5429
5430 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5431 expected partitioning.
5432
e7ff0319
CP
54332016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5434
5435 PR middle-end/70626
5436 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5437 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5438 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5439
c2bd3b69
AM
54402016-04-21 Alexander Monakov <amonakov@ispras.ru>
5441
5442 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5443 non-fatal.
5444
84311083
JJ
54452016-04-19 Jakub Jelinek <jakub@redhat.com>
5446
5447 PR middle-end/70680
5448 * testsuite/libgomp.c/pr70680-1.c: New test.
5449 * testsuite/libgomp.c/pr70680-2.c: New test.
5450
aadc043f
CP
54512016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5452
5453 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5454 pass parameter variables to subroutines.
5455
e387fc64
CP
54562016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5457
5458 PR middle-end/70643
5459 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5460
10c3c424
CP
54612016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5462
5463 PR testsuite/68242
5464 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5465 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5466
27f9add3
TS
54672016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5468
58d32aeb
TS
5469 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5470 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5471 GOACC_declare prototype.
5472
d97633ef
TS
5473 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5474 Merge this file, and...
5475 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5476 ... this file, and...
5477 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5478 ... this file, and...
5479 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5480 ... this file, and...
5481 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5482 ... this file, and...
5483 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5484 ... this file, and...
5485 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5486 ... this file, and...
5487 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5488 ... this file, and...
5489 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5490 ... this file, and...
5491 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5492 ... this file, and...
5493 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5494 ... this file, and...
5495 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5496 ... this file, and...
5497 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5498 ... this file into...
5499 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5500 file.
5501
27f9add3
TS
5502 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5503 Make failure observable.
5504
21f3a236
JJ
55052016-04-12 Jakub Jelinek <jakub@redhat.com>
5506
5507 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5508 field.
5509 * target.c (gomp_target_fallback_firstprivate,
5510 gomp_target_unshare_firstprivate): Removed.
5511 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5512 before waiting for dependencies.
5513 (gomp_target_task_fn): Don't copy firstprivate vars here.
5514 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5515 firstprivate_copies here.
5516 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5517 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5518 explicit/implicit firstprivate.
5519
c42cfb5c
CP
55202016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5521
5522 PR lto/70289
5523 PR ipa/70348
5524 PR tree-optimization/70373
5525 PR middle-end/70533
5526 PR middle-end/70534
5527 PR middle-end/70535
5528 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5529 test.
5530 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5531 test.
5532 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5533 test.
5534 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5535 test.
5536 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5537 test.
5538 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5539 test.
5540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5541 test.
5542 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5543 test.
5544 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5545 test.
5546 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5547 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5548 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5549 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5550 test.
5551 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5552 test.
5553 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5554 test.
5555 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5556 test.
5557 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5558 coverage.
5559 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5560 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5561 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5562 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5563 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5564 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5565 coverage.
5566 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5567 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5568 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5571 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5572 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5573 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5574 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5575 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5576 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5577 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5578 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5579 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5580 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5581
2620c80d
TS
55822016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5583 James Norris <jnorris@codesourcery.com>
5584 Nathan Sidwell <nathan@codesourcery.com>
5585 Julian Brown <julian@codesourcery.com>
5586 Cesar Philippidis <cesar@codesourcery.com>
5587 Chung-Lin Tang <cltang@codesourcery.com>
5588 Tom de Vries <tom@codesourcery.com>
5589
5590 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5591 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5592 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5593 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5594 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5595 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5596 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5597 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5599 XFAIL.
5600 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5601 Incorporate...
5602 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5603 file.
5604 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5605 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5606 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5607 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5608 Likewise.
5609 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5610 Likewise.
5611 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5612 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5613 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5614 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5615 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5616 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5617 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5618 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5619 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5620 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5621 Likewise.
5622 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5623 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5625 file...
5626 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5627 file into...
5628 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5629 file. Update.
5630 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5631 file.
5632 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5633 Likewise.
5634 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5635 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5636 ... this new file. Update.
5637 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5638 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5639 ... this new file. Update.
5640 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5641 file. Incorporate...
5642 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5643 file, and...
5644 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5645 file, and...
5646 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5647 file.
5648 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5649
ce83104b
TS
56502016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5651
5652 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5653 set-torture-options.
5654
6e0df3b7
TS
56552016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5656
5657 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5658 gcc-dg-runtest.
5659 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5660 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5661 -fno-builtin-acc_on_device instead of -O0.
5662 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5663 -O0.
5664 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5665 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5666 Likewise.
5667 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5668 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5669 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5670 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5671 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5672 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5673 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5674 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5675 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5676 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5677 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5678 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5679 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5680 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5681 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5682 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5683 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5684 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5685 Don't specify -O2.
5686 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5687 Likewise.
5688 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5689 Likewise.
5690
f9c8babb
ML
56912016-03-24 Martin Liska <mliska@suse.cz>
5692
5693 * plugin/plugin-hsa.c (packet_store_release): New function
5694 that is taken from the HSA runtime manual.
5695 (GOMP_OFFLOAD_run): Use the function.
5696
04833609
JJ
56972016-03-23 Jakub Jelinek <jakub@redhat.com>
5698
5699 PR c++/70376
5700 * testsuite/libgomp.c++/pr70376.C: New test.
5701
d79ee524
TV
57022016-03-23 Tom de Vries <tom@codesourcery.com>
5703
5704 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5705 initialization of lresult and lvresult.
5706 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5707
b6d1f2b5
JN
57082016-03-23 James Norris <jnorris@codesourcery.com>
5709 Daichi Fukuoka <dc-fukuoka@sgi.com>
5710
5711 PR libgomp/69414
5712 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5713 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5714 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5715 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5716
7397fce2
ML
57172016-03-23 Martin Liska <mliska@suse.cz>
5718
5719 PR hsa/70337
5720 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5721 argument just in case a dispatched kernel uses that argument.
5722
ee2e7d51
TS
57232016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5724
5725 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5726 -ftree-parallelize-loops/-fopenacc changes.
5727 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5728 Likewise.
5729 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5730 Likewise.
5731 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5732 Likewise.
5733 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5734 Likewise.
5735 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5736 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5737
be9f7143
TS
57382016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5739
5740 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5741 always_ld_library_path the path to libgcc_s.
5742
f6c1032d
CP
57432016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5744
5745 PR testsuite/70009
5746 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5747
5a6452e6
TV
57482016-03-09 Tom de Vries <tom@codesourcery.com>
5749
5750 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5751 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5752 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5753 Same.
5754 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5755 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5756 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5757 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5758
96a71bd5
MJ
57592016-03-07 Martin Jambor <mjambor@suse.cz>
5760
5761 * testsuite/lib/libgomp.exp
5762 (check_effective_target_hsa_offloading_selected_nocache): New.
5763 (check_effective_target_hsa_offloading_selected): Likewise.
5764 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5765 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5766 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5767 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5768 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5769 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5770 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5771 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5772 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5773 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5774 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5775 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5776 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5777 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5778 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5779 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5780 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5781
02e0b5b2
MJ
57822016-03-07 Martin Jambor <mjambor@suse.cz>
5783
5784 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5785 non-shared memory accelerators.
5786 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5787 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5788 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5789 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5790 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5791 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5792 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5793 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5794 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5795
45548f30
MJ
57962016-03-07 Martin Jambor <mjambor@suse.cz>
5797
5798 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5799 ALWAYS_CFLAGS.
5800
da3d46cb
JJ
58012016-03-02 Jakub Jelinek <jakub@redhat.com>
5802
5803 PR libgomp/69555
5804 * testsuite/libgomp.c++/pr69555-1.C: New test.
5805 * testsuite/libgomp.c++/pr69555-2.C: New test.
5806
622174b2
KM
58072016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5808 Martin Jambor <mjambor@suse.cz>
5809
5810 * testsuite/lib/libgomp.exp
5811 (check_effective_target_offload_device_shared_as): New proc.
5812 * testsuite/libgomp.c++/declare_target-1.C: New test.
5813
e6861a99
IV
58142016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5815
5816 PR driver/68463
5817 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5818
f99c3557
TS
58192016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5820
5821 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5822 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5823 dims.
5824 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5825 -ftree-parallelize-loops/-fopenacc changes.
5826 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5827 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5828 Likewise.
5829 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5830 Likewise.
5831 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5832 Likewise.
5833 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5834 Likewise.
5835 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5836 Likewise.
5837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5838 Likewise.
5839 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5840 Likewise.
5841 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5842 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5843 Likewise.
5844 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5845 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5846 Likewise.
5847 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5849 Likewise.
5850
d5ace3b5
CP
58512016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5852
5853 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5854
f3609a89
JJ
58552016-02-19 Jakub Jelinek <jakub@redhat.com>
5856
5857 PR driver/69805
5858 * testsuite/libgomp.c/pr69805.c: New test.
5859
2175df99
TV
58602016-02-16 Tom de Vries <tom@codesourcery.com>
5861
5862 PR lto/67709
5863 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5864
17b6426c
TV
58652016-02-09 Tom de Vries <tom@codesourcery.com>
5866
5867 PR tree-optimization/69599
5868 * testsuite/libgomp.c/omp-nested-3.c: New test.
5869 * testsuite/libgomp.c/pr46032-2.c: New test.
5870 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5871 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5872
34df756c
TV
58732016-02-09 Tom de Vries <tom@codesourcery.com>
5874
5875 PR lto/69707
5876 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5877
5854ee30
AM
58782016-02-02 Alexander Monakov <amonakov@ispras.ru>
5879
5880 * testsuite/libgomp.c/target-31.c: Fix testcase.
5881
e70b6ad7
AM
58822016-02-02 Alexander Monakov <amonakov@ispras.ru>
5883
5884 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5885 clause.
5886 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5887 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5888 reduction and map clauses.
5889 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5890
bd78a45f
JN
58912016-02-02 James Norris <jnorris@codesourcery.com>
5892
5893 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5894
41d809d3
TS
58952016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5896
18f60146
TS
5897 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5898 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5899
1a06f5e6
TS
5900 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5901 cases.
5902
033ff3d1
TS
5903 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5904 variables.
5905 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5906 (hsa_kmt_lib): Set variables.
5907 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5908 always_ld_library_path.
5909 * Makefile.in: Regenerate.
5910 * configure: Likewise.
5911 * testsuite/Makefile.in: Likewise.
5912
4a88d9b7
TS
5913 * plugin/configfrag.ac (offload_additional_options)
5914 (offload_additional_lib_paths): Don't amend for hsa offloading.
5915 * configure: Regenerate.
5916
41d809d3
TS
5917 * plugin/configfrag.ac: Don't configure for offloading target if
5918 we don't build the corresponding plugin.
5919 * configure: Regenerate.
5920
b6adbb9f
NS
59212016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5922
5923 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5924 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5925
8dfdb419
TV
59262016-01-26 Tom de Vries <tom@codesourcery.com>
5927
5928 PR tree-optimization/69110
5929 * testsuite/libgomp.c/pr69110.c: New test.
5930
02ef53f2
RB
59312016-01-25 Richard Biener <rguenther@suse.de>
5932
5933 PR lto/69393
5934 * testsuite/libgomp.c++/pr69393.C: New testcase.
5935
eb4048f2
IV
59362016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5937
5938 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5939 function wasn't mapped to the device with non-shared memory.
5940
b235cdd5
IV
59412016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5942
5943 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5944
b2b40051
MJ
59452016-01-19 Martin Jambor <mjambor@suse.cz>
5946 Martin Liska <mliska@suse.cz>
5947
5948 * plugin/Makefrag.am: Add HSA plugin requirements.
5949 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5950 (HSA_RUNTIME_LIB): Likewise.
5951 (HSA_RUNTIME_CPPFLAGS): Likewise.
5952 (HSA_RUNTIME_INCLUDE): New substitution.
5953 (HSA_RUNTIME_LIB): Likewise.
5954 (HSA_RUNTIME_LDFLAGS): Likewise.
5955 (hsa-runtime): New configure option.
5956 (hsa-runtime-include): Likewise.
5957 (hsa-runtime-lib): Likewise.
5958 (PLUGIN_HSA): New substitution variable.
5959 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5960 configure options.
5961 (PLUGIN_HSA_CPPFLAGS): Likewise.
5962 (PLUGIN_HSA_LDFLAGS): Likewise.
5963 (PLUGIN_HSA_LIBS): Likewise.
5964 Check that we have access to HSA run-time.
5965 * libgomp-plugin.h (offload_target_type): New element
5966 OFFLOAD_TARGET_TYPE_HSA.
5967 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5968 args.
5969 (bool gomp_create_target_task): Updated.
5970 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5971 new field can_run_func.
5972 * libgomp_g.h (GOMP_target_ext): Update prototype.
5973 * oacc-host.c (host_run): Added a new parameter args.
5974 * target.c (calculate_firstprivate_requirements): New function.
5975 (copy_firstprivate_data): Likewise.
5976 (gomp_target_fallback_firstprivate): Use them.
5977 (gomp_target_unshare_firstprivate): New function.
5978 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5979 devices.
5980 (GOMP_target): Do host fallback for all shared memory devices. Do not
5981 pass any args to plugins.
5982 (GOMP_target_ext): Introduce device-specific argument parameter args.
5983 Allow host fallback if device shares memory. Do not remap data if
5984 device has shared memory.
5985 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5986 like host fallback for mappings.
5987 (GOMP_target_data): Treat shared memory devices like host fallback.
5988 (GOMP_target_data_ext): Likewise.
5989 (GOMP_target_update): Likewise.
5990 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5991 gomp_create_target_task.
5992 (GOMP_target_enter_exit_data): Likewise.
5993 (omp_target_alloc): Treat shared memory devices like host fallback.
5994 (omp_target_free): Likewise.
5995 (omp_target_is_present): Likewise.
5996 (omp_target_memcpy): Likewise.
5997 (omp_target_memcpy_rect): Likewise.
5998 (omp_target_associate_ptr): Likewise.
5999 (gomp_load_plugin_for_device): Also load can_run.
6000 * task.c (GOMP_PLUGIN_target_task_completion): Free
6001 firstprivate_copies.
6002 (gomp_create_target_task): Accept new argument args and store it to
6003 ttask.
6004 * plugin/plugin-hsa.c: New file.
6005
5d7804a9
TV
60062016-01-18 Tom de Vries <tom@codesourcery.com>
6007
6008 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6009 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6010 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6011 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6012 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6013 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6014 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6015 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6016 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6017 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6018 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6019 Same.
6020 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6021 Same.
6022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6023 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6025 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6026 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6027 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6028 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6029 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6030 Same.
6031 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6032
cb11f3cf
JJ
60332016-01-15 Jakub Jelinek <jakub@redhat.com>
6034
6035 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6036
33a126a6
CP
60372016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6038
6039 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6040
cdf6119d
JN
60412016-01-12 James Norris <jnorris@codesourcery.com>
6042
6043 * libgomp.texi: Updates for OpenACC.
6044
0d58938e
AM
60452016-01-11 Alexander Monakov <amonakov@ispras.ru>
6046
6047 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6048
95918b49
L
60492016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6050
6051 PR fortran/66680
6052 * testsuite/libgomp.fortran/pr66680.f90: New test.
6053
8fc708b7
JJ
60542016-01-07 Jakub Jelinek <jakub@redhat.com>
6055
6056 PR middle-end/68960
6057 * testsuite/libgomp.c/pr68960.c: New test.
6058
e9b596c1
NS
60592016-01-06 Nathan Sidwell <nathan@acm.org>
6060
1a14faf2 6061 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
6062 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6063
21fa2a29
JJ
60642016-01-04 Jakub Jelinek <jakub@redhat.com>
6065
818ab71a
JJ
6066 Update copyright years.
6067
21fa2a29
JJ
6068 * libgomp.texi: Bump @copying's copyright year.
6069
9310efbc
NS
60702015-12-31 Nathan Sidwell <nathan@acm.org>
6071
6072 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6073 dg-additional-options syntax.
6074 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6075 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6076 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6077 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6078 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6079 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6080 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6081 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6082 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6083 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6084 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6085 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6086 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6087 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6088 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6089 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6090 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6091 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6092
4a38b02b
IV
60932015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6094
6095 * libgomp.h (REFCOUNT_LINK): Define.
6096 (struct splay_tree_key_s): Add link_key.
6097 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6098 Replace target address of the pointer with target address of newly
6099 mapped object in the splay tree. Set link pointer on target to the
6100 device address of the mapped object.
6101 (gomp_unmap_vars): Restore target address of the pointer in the splay
6102 tree for REFCOUNT_LINK objects after unmapping.
6103 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6104 declare target link" objects.
6105 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6106 "omp declare target link" objects, which were mapped for the image.
6107 (gomp_exit_data): Restore target address of the pointer in the splay
6108 tree for REFCOUNT_LINK objects after unmapping.
6109 * testsuite/libgomp.c/target-link-1.c: New file.
6110
d84ffc0a
IV
61112015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6112
6113 * libgomp.h (gomp_device_state): New enum.
6114 (struct gomp_device_descr): Replace is_initialized with state.
6115 (gomp_fini_device): Remove declaration.
6116 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6117 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6118 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6119 (acc_set_device_type): Use state instead of is_initialized.
6120 (acc_set_device_num): Likewise.
6121 * target.c (resolve_device): Use state instead of is_initialized.
6122 Do not initialize finalized device.
6123 (gomp_map_vars): Do nothing if device is finalized.
6124 (gomp_unmap_vars): Likewise.
6125 (gomp_update): Likewise.
6126 (GOMP_offload_register_ver): Use state instead of is_initialized.
6127 (GOMP_offload_unregister_ver): Likewise.
6128 (gomp_init_device): Likewise.
6129 (gomp_unload_device): Likewise.
6130 (gomp_fini_device): Remove.
6131 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6132 (GOMP_target): Go to host fallback if device is finalized.
6133 (GOMP_target_ext): Likewise.
6134 (gomp_exit_data): Do nothing if device is finalized.
6135 (gomp_target_task_fn): Go to host fallback if device is finalized.
6136 (gomp_target_fini): New static function.
6137 (gomp_target_init): Use state instead of is_initialized.
6138 Call gomp_target_fini at exit.
6139
76680678
TV
61402015-12-09 Tom de Vries <tom@codesourcery.com>
6141
6142 PR tree-optimization/68716
6143 * testsuite/libgomp.c/omp-nested-2.c: New test.
6144
ff7a55bf
TS
61452015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6146
6147 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6148 target openacc_nvidia_accel_selected.
6149 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6150 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6151 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6152 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6153
37d5ad46
JB
61542015-12-01 Julian Brown <julian@codesourcery.com>
6155 James Norris <James_Norris@mentor.com>
6156
6157 * oacc-parallel.c (GOACC_host_data): New function.
6158 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6159 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6160 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6161 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6162 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6163 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6164 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6165
db941d7e
CP
61662015-11-30 James Norris <jnorris@codesourcery.com>
6167 Cesar Philippidis <cesar@codesourcery.com>
6168
6169 libgomp/
6170 * libgomp.oacc-fortran/routine-5.f90: New test.
6171 * libgomp.oacc-fortran/routine-7.f90: New test.
6172 * libgomp.oacc-fortran/routine-9.f90: New test.
6173
e0ca27c5
TV
61742015-11-30 Tom de Vries <tom@codesourcery.com>
6175
6176 PR tree-optimization/46032
6177 * testsuite/libgomp.c/pr46032.c: New test.
6178
aec17bfe
JJ
61792015-11-27 Jakub Jelinek <jakub@redhat.com>
6180
8e4e4719
JJ
6181 PR libgomp/68579
6182 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6183 (gomp_create_target_task): Call it before freeing
6184 GOMP_TARGET_TASK_DATA tasks.
6185
aec17bfe
JJ
6186 PR c/63326
6187 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6188 in between case label and OpenMP standalone directives.
6189 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6190
6cfe90e6
DE
61912015-11-26 David Edelsohn <dje.gcc@gmail.com>
6192
6193 * configure: Regenerate.
6194
0e65fd7d
JJ
61952015-11-26 Jakub Jelinek <jakub@redhat.com>
6196
6197 * testsuite/libgomp.c/target-35.c: New test.
6198
dc7a8b4b
JN
61992015-11-22 James Norris <jnorris@codesourcery.com>
6200 Cesar Philippidis <cesar@codesourcery.com>
6201
6202 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6203 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6204 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6205 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6206 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6207
48a78aee
JJ
62082015-11-20 Jakub Jelinek <jakub@redhat.com>
6209
6210 PR middle-end/68221
6211 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6212 * testsuite/libgomp.c/reduction-12.c: Likewise.
6213 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6214 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6215
2d256816
NS
62162015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6217
6218 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6219 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6220 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6221 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6222 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6223 and fix.
6224 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6225 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6226
33f47f42
NS
62272015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6228
6229 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6230 worker & gang cases.
6231 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6232
3d7bfee0
CP
62332015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6234
6235 * config/nvptx/priority_queue.c: New file.
6236
00b9bd52
JJ
62372015-11-14 Jakub Jelinek <jakub@redhat.com>
6238
6239 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6240 sections.
6241
e4606348
JJ
62422015-11-14 Jakub Jelinek <jakub@redhat.com>
6243 Aldy Hernandez <aldyh@redhat.com>
6244 Ilya Verbin <ilya.verbin@intel.com>
6245
6246 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6247 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6248 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6249 iterators or IV by chunk size.
6250 * parallel.c (gomp_resolve_num_threads): Don't assume that
6251 if thr->ts.team is non-NULL, then pool must be non-NULL.
6252 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6253 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6254 GOMP_PLUGIN_target_task_completion.
6255 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6256 * Makefile.in: Regenerate.
6257 * libgomp.h: Shuffle prototypes and forward definitions around so
6258 priority queues can be defined.
6259 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6260 (enum gomp_target_task_state): New enum.
6261 (struct gomp_target_task): Add state, tgt, task and team fields.
6262 (gomp_create_target_task): Change return type to bool, add
6263 state argument.
6264 (gomp_target_task_fn): Change return type to bool.
6265 (struct gomp_device_descr): Add async_run_func.
6266 (struct gomp_task): Remove children, next_child, prev_child,
6267 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6268 Add pnode field.
6269 (struct gomp_taskgroup): Remove children.
6270 Add taskgroup_queue.
6271 (struct gomp_team): Change task_queue type to a priority queue.
6272 (splay_compare): Define inline.
6273 (priority_queue_offset): New.
6274 (priority_node_to_task): New.
6275 (task_to_priority_node): New.
6276 * oacc-mem.c: Do not include splay-tree.h.
6277 * priority_queue.c: New file.
6278 * priority_queue.h: New file.
6279 * splay-tree.c: Do not include splay-tree.h.
6280 (splay_tree_foreach_internal): New.
6281 (splay_tree_foreach): New.
6282 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6283 (splay_tree_callback): Define typedef.
6284 * target.c (splay_compare): Move to libgomp.h.
6285 (GOMP_target): Don't adjust *thr in any way around running offloaded
6286 task.
6287 (GOMP_target_ext): Likewise. Handle target nowait.
6288 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6289 return value from gomp_create_target_task, if false, fallthrough
6290 as if no dependencies exist.
6291 (gomp_target_task_fn): Change return type to bool, return true
6292 if the task should have another part scheduled later. Handle
6293 target nowait.
6294 (gomp_load_plugin_for_device): Initialize async_run.
6295 * task.c (gomp_init_task): Initialize children_queue.
6296 (gomp_clear_parent_in_list): New.
6297 (gomp_clear_parent_in_tree): New.
6298 (gomp_clear_parent): Handle priorities.
6299 (GOMP_task): Likewise.
6300 (priority_queue_move_task_first,
6301 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6302 New functions.
6303 (gomp_create_target_task): Use priority queues. Change return type
6304 to bool, add state argument, return false if for async
6305 {{enter,exit} data,update} constructs no dependencies need to be
6306 waited for, handle target nowait. Set task->fn to NULL instead of
6307 gomp_target_task_fn.
6308 (verify_children_queue): Remove.
6309 (priority_list_upgrade_task): New.
6310 (priority_queue_upgrade_task): New.
6311 (verify_task_queue): Remove.
6312 (priority_list_downgrade_task): New.
6313 (priority_queue_downgrade_task): New.
6314 (gomp_task_run_pre): Use priority queues.
6315 Abstract code out to priority_queue_downgrade_task.
6316 (gomp_task_run_post_handle_dependers): Use priority queues.
6317 (gomp_task_run_post_remove_parent): Likewise.
6318 (gomp_task_run_post_remove_taskgroup): Likewise.
6319 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6320 tasks specially.
6321 (GOMP_taskwait): Likewise.
6322 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6323 priority-queue_upgrade_task.
6324 (GOMP_taskgroup_start): Use priority queues.
6325 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6326 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6327 barrier.
6328 * taskloop.c (GOMP_taskloop): Handle priorities.
6329 * team.c (gomp_new_team): Call priority_queue_init.
6330 (free_team): Call priority_queue_free.
6331 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6332 team created for target nowait in implicit parallel region.
6333 (gomp_team_start): For nested check, test thr->ts.level instead of
6334 thr->ts.team != NULL.
6335 * testsuite/libgomp.c/doacross-3.c: New test.
6336 * testsuite/libgomp.c/ordered-5.c: New test.
6337 * testsuite/libgomp.c/priority.c: New test.
6338 * testsuite/libgomp.c/target-31.c: New test.
6339 * testsuite/libgomp.c/target-32.c: New test.
6340 * testsuite/libgomp.c/target-33.c: New test.
6341 * testsuite/libgomp.c/target-34.c: New test.
6342
1d1ab74f
NS
63432015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6344
c5a64cfe
NS
6345 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6346
1d1ab74f
NS
6347 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6348 loop is sequential.
6349
dd3c1b14
NS
63502015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6351
6352 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6353 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6354
6e232ba4
JN
63552015-11-12 James Norris <jnorris@codesourcery.com>
6356 Joseph Myers <joseph@codesourcery.com>
6357
6358 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6359 * oacc-parallel.c (GOACC_declare): New function.
6360 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6361 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6362 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6363 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6364 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6365
fffeedeb
NS
63662015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6367
6368 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6369
182190f2
NS
63702015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6371
6372 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6373 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6374
36fa0f5f
NS
63752015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6376
d350c40c
NS
6377 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6378 inadvertent commit.
6379
63802015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6381
36fa0f5f
NS
6382 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6383 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6384 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6385 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6386 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6387
66a5f0b4
TS
63882015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6389
6390 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6391 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6392
e01d41e5
JJ
63932015-11-05 Jakub Jelinek <jakub@redhat.com>
6394 Ilya Verbin <ilya.verbin@intel.com>
6395
6396 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6397 GOMP_loop_nonmonotonic_dynamic_start,
6398 GOMP_loop_nonmonotonic_guided_next,
6399 GOMP_loop_nonmonotonic_guided_start,
6400 GOMP_loop_ull_nonmonotonic_dynamic_next,
6401 GOMP_loop_ull_nonmonotonic_dynamic_start,
6402 GOMP_loop_ull_nonmonotonic_guided_next,
6403 GOMP_loop_ull_nonmonotonic_guided_start,
6404 GOMP_parallel_loop_nonmonotonic_dynamic,
6405 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6406 (GOMP_target_41): Renamed to ...
6407 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6408 arguments.
6409 (GOMP_target_data_41): Renamed to ...
6410 (GOMP_target_data_ext): ... this.
6411 (GOMP_target_update_41): Renamed to ...
6412 (GOMP_target_update_ext): ... this.
6413 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6414 GOMP_target_data_ext and GOMP_target_update_ext instead of
6415 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6416 Export GOMP_loop_nonmonotonic_dynamic_next,
6417 GOMP_loop_nonmonotonic_dynamic_start,
6418 GOMP_loop_nonmonotonic_guided_next,
6419 GOMP_loop_nonmonotonic_guided_start,
6420 GOMP_loop_ull_nonmonotonic_dynamic_next,
6421 GOMP_loop_ull_nonmonotonic_dynamic_start,
6422 GOMP_loop_ull_nonmonotonic_guided_next,
6423 GOMP_loop_ull_nonmonotonic_guided_start,
6424 GOMP_parallel_loop_nonmonotonic_dynamic and
6425 GOMP_parallel_loop_nonmonotonic_guided.
6426 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6427 GOMP_parallel_loop_nonmonotonic_guided,
6428 GOMP_loop_nonmonotonic_dynamic_start,
6429 GOMP_loop_nonmonotonic_guided_start,
6430 GOMP_loop_nonmonotonic_dynamic_next,
6431 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6432 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6433 GOMP_loop_ull_nonmonotonic_guided_start,
6434 GOMP_loop_ull_nonmonotonic_dynamic_next,
6435 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6436 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6437 functions.
6438 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6439 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6440 Use gomp_map_val function.
6441 (gomp_target_fallback_firstprivate): New static function.
6442 (GOMP_target_41): Renamed to ...
6443 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6444 arguments. Move firstprivate fallback handling into a new
6445 function.
6446 (GOMP_target_data_41): Renamed to ...
6447 (GOMP_target_data_ext): ... this.
6448 (GOMP_target_update_41): Renamed to ...
6449 (GOMP_target_update_ext): ... this.
6450 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6451 gomp_map_0len_lookup instead of gomp_map_lookup.
6452 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6453 gomp_map_lookup.
6454 * testsuite/libgomp.c/target-28.c: Likewise.
6455 * testsuite/libgomp.c/monotonic-1.c: New test.
6456 * testsuite/libgomp.c/monotonic-2.c: New test.
6457 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6458 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6459 * testsuite/libgomp.c/pr66199-5.c: New test.
6460 * testsuite/libgomp.c/pr66199-6.c: New test.
6461 * testsuite/libgomp.c/pr66199-7.c: New test.
6462 * testsuite/libgomp.c/pr66199-8.c: New test.
6463 * testsuite/libgomp.c/pr66199-9.c: New test.
6464 * testsuite/libgomp.c/reduction-11.c: New test.
6465 * testsuite/libgomp.c/reduction-12.c: New test.
6466 * testsuite/libgomp.c/reduction-13.c: New test.
6467 * testsuite/libgomp.c/reduction-14.c: New test.
6468 * testsuite/libgomp.c/reduction-15.c: New test.
6469 * testsuite/libgomp.c/target-12.c (main): Adjust for
6470 omp_target_is_present change for one-past-last element.
6471 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6472 the same var is both mapped and privatized.
6473 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6474 handling of zero-length array sections.
6475 * testsuite/libgomp.c/target-28.c: New test.
6476 * testsuite/libgomp.c/target-29.c: New test.
6477 * testsuite/libgomp.c/target-30.c: New test.
6478 * testsuite/libgomp.c/target-teams-1.c: New test.
6479 * testsuite/libgomp.c++/member-6.C: New test.
6480 * testsuite/libgomp.c++/member-7.C: New test.
6481 * testsuite/libgomp.c++/monotonic-1.C: New test.
6482 * testsuite/libgomp.c++/monotonic-2.C: New test.
6483 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6484 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6485 * testsuite/libgomp.c++/pr66199-3.C: New test.
6486 * testsuite/libgomp.c++/pr66199-4.C: New test.
6487 * testsuite/libgomp.c++/pr66199-5.C: New test.
6488 * testsuite/libgomp.c++/pr66199-6.C: New test.
6489 * testsuite/libgomp.c++/pr66199-7.C: New test.
6490 * testsuite/libgomp.c++/pr66199-8.C: New test.
6491 * testsuite/libgomp.c++/pr66199-9.C: New test.
6492 * testsuite/libgomp.c++/reduction-11.C: New test.
6493 * testsuite/libgomp.c++/reduction-12.C: New test.
6494 * testsuite/libgomp.c++/target-13.C: New test.
6495 * testsuite/libgomp.c++/target-14.C: New test.
6496 * testsuite/libgomp.c++/target-15.C: New test.
6497 * testsuite/libgomp.c++/target-16.C: New test.
6498 * testsuite/libgomp.c++/target-17.C: New test.
6499 * testsuite/libgomp.c++/target-18.C: New test.
6500 * testsuite/libgomp.c++/target-19.C: New test.
6501
ccc8282b
NS
65022015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6503
6504 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6505 and reduction copy.
6506 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6507 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6508 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6509 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6510 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6511 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6512 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6513 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6514 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6515 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6516 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6517 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6518 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6520
5d6823a2
NS
65212015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6522
6523 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6524 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6525 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6526 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6527 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6528 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6529 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6530 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6531
5c06742f
NS
65322015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6533
6534 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6535 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6536 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6537 * oacc-host.c (host_openacc_exec): Likewise.
6538 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6539
4bf9e5a8
TS
65402015-11-03 Julian Brown <julian@codesourcery.com>
6541 Thomas Schwinge <thomas@codesourcery.com>
6542
6543 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6544 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6545 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6546 Likewise.
6547 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6548 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6549
65502015-11-03 James Norris <jnorris@codesourcery.com>
6551
6552 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6553 file.
6554 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6555 Likewise.
6556 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6557 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6558 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6559 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6560 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6561
a0e701d8
NS
65622015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6563
6564 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6565 compatibility.
6566 (enum acc_async_t): Reformat.
6567 (acc_on_device): Declare compatible with builtin and provide C++
6568 wrapper.
6569 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6570
41e977ac
TS
65712015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6572 Cesar Philippidis <cesar@codesourcery.com>
6573
6574 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6575 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6576 ... this. Add a description of the test at the top of the file.
6577 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6578 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6579 ... this. Add a description of the test at the top of the file.
6580
e3091406
NS
65812015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6582
6583 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6584 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6585 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6586 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6587 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6588 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6589
a1c1908b
NS
65902015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6591
6592 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6593 dimensions.
6594
b3962a4a
TS
65952015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6596
6597 PR testsuite/68063
6598 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6599
88bae6f4
TS
66002015-10-27 James Norris <jnorris@codesourcery.com>
6601
6602 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6603 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6604
8baa7864
TS
66052015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6606
bdeb752c
TS
6607 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6608 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6609
ecd4fd43
TS
6610 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6611 acc_device_nvidia usage.
6612 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6613 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6614 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6615
aa8b7d30
TS
6616 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6617 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6618
7c8f138d
TS
6619 PR libgomp/66518
6620 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6621
8baa7864
TS
6622 PR libgomp/65437
6623 PR libgomp/66518
6624 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6625 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6626
88ebcde5
TV
66272015-10-23 Tom de Vries <tom@codesourcery.com>
6628
6629 PR testsuite/68063
6630 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6631
9ef83c04
NS
66322015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6633
6634 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6635 vector_length.
6636 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6637
3837c6d6
IV
66382015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6639 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6640
6641 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6642 to 0 when mapnum is 0.
6643
ac8a1965
SH
66442015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6645
6646 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6647 Cast to int from int32_t.
6648
d9a6bd32
JJ
66492015-10-13 Jakub Jelinek <jakub@redhat.com>
6650 Aldy Hernandez <aldyh@redhat.com>
6651 Ilya Verbin <ilya.verbin@intel.com>
6652
6653 * config/linux/affinity.c (omp_get_place_num_procs,
6654 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6655 * config/linux/doacross.h: New file.
6656 * config/posix/affinity.c (omp_get_place_num_procs,
6657 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6658 * config/posix/doacross.h: New file.
6659 * env.c: Include gomp-constants.h.
6660 (struct gomp_task_icv): Rename run_sched_modifier to
6661 run_sched_chunk_size.
6662 (gomp_max_task_priority_var): New variable.
6663 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6664 (handle_omp_display_env): Change _OPENMP value from 201307 to
6665 201511. Print OMP_MAX_TASK_PRIORITY.
6666 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6667 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6668 chunk_size and run_sched_modifier to run_sched_chunk_size.
6669 (omp_get_max_task_priority, omp_get_initial_device,
6670 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6671 omp_get_partition_place_nums): New functions.
6672 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6673 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6674 to chunk_size.
6675 (omp_get_num_places_, omp_get_place_num_procs_,
6676 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6677 omp_get_place_proc_ids_8_, omp_get_place_num_,
6678 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6679 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6680 omp_get_max_task_priority_): New functions.
6681 * libgomp_g.h (GOMP_loop_doacross_static_start,
6682 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6683 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6684 GOMP_loop_ull_doacross_dynamic_start,
6685 GOMP_loop_ull_doacross_guided_start,
6686 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6687 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6688 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6689 GOMP_target_data_41, GOMP_target_update_41,
6690 GOMP_target_enter_exit_data): New prototypes.
6691 (GOMP_task): Add prototype argument.
6692 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6693 (struct gomp_doacross_work_share): New type.
6694 (struct gomp_work_share): Add doacross field.
6695 (struct gomp_task_icv): Rename run_sched_modifier to
6696 run_sched_chunk_size.
6697 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6698 GOMP_TASK_UNDEFERRED. Add comments.
6699 (struct gomp_task_depend_entry): Add comments.
6700 (struct gomp_task): Likewise.
6701 (struct gomp_taskgroup): Likewise.
6702 (struct gomp_target_task): New type.
6703 (struct gomp_team): Add comment.
6704 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6705 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6706 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6707 (struct target_var_desc): New type.
6708 (struct target_mem_desc): Adjust comment. Use struct
6709 target_var_desc instead of splay_tree_key for list.
6710 (REFCOUNT_INFINITY): Define.
6711 (struct splay_tree_key_s): Remove copy_from field.
6712 (struct gomp_device_descr): Add dev2dev_func field.
6713 (enum gomp_map_vars_kind): New enum.
6714 (gomp_map_vars): Add one argument.
6715 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6716 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6717 omp_get_place_num_procs, omp_get_place_num_procs_,
6718 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6719 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6720 omp_get_place_num_, omp_get_partition_num_places,
6721 omp_get_partition_num_places_, omp_get_partition_place_nums,
6722 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6723 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6724 omp_target_free, omp_target_is_present, omp_target_memcpy,
6725 omp_target_memcpy_rect, omp_target_associate_ptr and
6726 omp_target_disassociate_ptr.
6727 (GOMP_4.0.2): Renamed to ...
6728 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6729 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6730 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6731 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6732 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6733 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6734 GOMP_loop_ull_doacross_guided_start,
6735 GOMP_loop_ull_doacross_runtime_start,
6736 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6737 GOMP_doacross_ull_wait.
6738 * libgomp.texi: Document omp_get_max_task_priority.
6739 Rename modifier argument to chunk_size for omp_set_schedule and
6740 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6741 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6742 to run_sched_chunk_size renaming.
6743 (GOMP_loop_ordered_runtime_start): Likewise.
6744 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6745 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6746 GOMP_parallel_loop_runtime_start): New functions.
6747 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6748 to run_sched_chunk_size renaming.
6749 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6750 GOMP_loop_doacross_guided_start): New functions or aliases.
6751 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6752 run_sched_modifier to run_sched_chunk_size renaming.
6753 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6754 (gomp_loop_ull_doacross_static_start,
6755 gomp_loop_ull_doacross_dynamic_start,
6756 gomp_loop_ull_doacross_guided_start,
6757 GOMP_loop_ull_doacross_runtime_start): New functions.
6758 (GOMP_loop_ull_doacross_static_start,
6759 GOMP_loop_ull_doacross_dynamic_start,
6760 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6761 * oacc-mem.c (acc_map_data, present_create_copy,
6762 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6763 to gomp_map_vars.
6764 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6765 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6766 instead of false to gomp_map_vars.
6767 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6768 * omp.h.in (omp_lock_hint_t): New type.
6769 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6770 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6771 omp_get_place_num, omp_get_partition_num_places,
6772 omp_get_partition_place_nums, omp_get_initial_device,
6773 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6774 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6775 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6776 prototypes.
6777 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6778 (omp_lock_hint_none, omp_lock_hint_uncontended,
6779 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6780 omp_lock_hint_speculative): New parameters.
6781 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6782 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6783 omp_get_place_num, omp_get_partition_num_places,
6784 omp_get_partition_place_nums, omp_get_initial_device,
6785 omp_get_max_task_priority): New interfaces.
6786 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6787 to chunk_size.
6788 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6789 (omp_lock_hint_none, omp_lock_hint_uncontended,
6790 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6791 omp_lock_hint_speculative): New parameters.
6792 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6793 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6794 omp_get_place_num, omp_get_partition_num_places,
6795 omp_get_partition_place_nums, omp_get_initial_device,
6796 omp_get_max_task_priority): New functions and subroutines.
6797 * ordered.c: Include stdarg.h and string.h.
6798 (MAX_COLLAPSED_BITS): Define.
6799 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6800 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6801 GOMP_doacross_ull_wait): New functions.
6802 * target.c: Include errno.h.
6803 (resolve_device): If device is not initialized, call
6804 gomp_init_device on it.
6805 (gomp_map_lookup): New function.
6806 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6807 Don't bump refcount if REFCOUNT_INFINITY. Handle
6808 GOMP_MAP_ALWAYS_TO_P.
6809 (get_kind): Rename is_openacc argument to short_mapkind.
6810 (gomp_map_pointer): Use gomp_map_lookup.
6811 (gomp_map_fields_existing): New function.
6812 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6813 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6814 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6815 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6816 Adjust for tgt->list changed type and copy_from living in there.
6817 (gomp_copy_from_async): Adjust for tgt->list changed type and
6818 copy_from living in there.
6819 (gomp_unmap_vars): Likewise.
6820 (gomp_update): Likewise. Rename is_openacc argument to
6821 short_mapkind. Don't fail if object is not mapped.
6822 (gomp_load_image_to_device): Initialize refcount to
6823 REFCOUNT_INFINITY.
6824 (gomp_target_fallback): New function.
6825 (gomp_get_target_fn_addr): Likewise.
6826 (GOMP_target): Adjust gomp_map_vars caller, use
6827 gomp_get_target_fn_addr and gomp_target_fallback.
6828 (GOMP_target_41): New function.
6829 (gomp_target_data_fallback): New function.
6830 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6831 (GOMP_target_data_41): New function.
6832 (GOMP_target_update): Adjust gomp_update caller.
6833 (GOMP_target_update_41): New function.
6834 (gomp_exit_data, GOMP_target_enter_exit_data,
6835 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6836 omp_target_is_present, omp_target_memcpy,
6837 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6838 omp_target_associate_ptr, omp_target_disassociate_ptr,
6839 gomp_load_plugin_for_device): New functions.
6840 * task.c: Include gomp-constants.h. Include taskloop.c
6841 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6842 (gomp_task_handle_depend): New function.
6843 (GOMP_task): Use it. Add priority argument. Use
6844 gomp-constant.h constants instead of hardcoded numbers.
6845 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6846 (gomp_create_target_task): New function.
6847 (verify_children_queue, verify_taskgroup_queue,
6848 verify_task_queue): New functions.
6849 (gomp_task_run_pre): Call verify_*_queue functions.
6850 If an upcoming tied task is about to leave the sibling or
6851 taskgroup queues in an invalid state, adjust appropriately.
6852 Remove taskgroup argument. Add comments.
6853 (gomp_task_run_post_handle_dependers): Add comments.
6854 (gomp_task_run_post_remove_parent): Likewise.
6855 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6856 (GOMP_taskwait): Likewise. Add comments.
6857 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6858 problem such that the first non parent_depends_on task does not
6859 end up at the end of the children queue.
6860 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6861 GOMP_TASK_UNDEFERRED.
6862 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6863 * taskloop.c: New file.
6864 * testsuite/lib/libgomp.exp
6865 (check_effective_target_offload_device_nonshared_as): New proc.
6866 * testsuite/libgomp.c/affinity-2.c: New test.
6867 * testsuite/libgomp.c/doacross-1.c: New test.
6868 * testsuite/libgomp.c/doacross-2.c: New test.
6869 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6870 Add map clause to target.
6871 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6872 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6873 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6874 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6875 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6876 Likewise.
6877 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6878 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6879 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6880 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6881 not defined. Use those where needed.
6882 * testsuite/libgomp.c/for-4.c: New test.
6883 * testsuite/libgomp.c/for-5.c: New test.
6884 * testsuite/libgomp.c/for-6.c: New test.
6885 * testsuite/libgomp.c/linear-1.c: New test.
6886 * testsuite/libgomp.c/ordered-4.c: New test.
6887 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6888 only allowed on the loop iterator.
6889 * testsuite/libgomp.c/pr66199-3.c: New test.
6890 * testsuite/libgomp.c/pr66199-4.c: New test.
6891 * testsuite/libgomp.c/reduction-7.c: New test.
6892 * testsuite/libgomp.c/reduction-8.c: New test.
6893 * testsuite/libgomp.c/reduction-9.c: New test.
6894 * testsuite/libgomp.c/reduction-10.c: New test.
6895 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6896 map(tofrom:s).
6897 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6898 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6899 * testsuite/libgomp.c/target-11.c: New test.
6900 * testsuite/libgomp.c/target-12.c: New test.
6901 * testsuite/libgomp.c/target-13.c: New test.
6902 * testsuite/libgomp.c/target-14.c: New test.
6903 * testsuite/libgomp.c/target-15.c: New test.
6904 * testsuite/libgomp.c/target-16.c: New test.
6905 * testsuite/libgomp.c/target-17.c: New test.
6906 * testsuite/libgomp.c/target-18.c: New test.
6907 * testsuite/libgomp.c/target-19.c: New test.
6908 * testsuite/libgomp.c/target-20.c: New test.
6909 * testsuite/libgomp.c/target-21.c: New test.
6910 * testsuite/libgomp.c/target-22.c: New test.
6911 * testsuite/libgomp.c/target-23.c: New test.
6912 * testsuite/libgomp.c/target-24.c: New test.
6913 * testsuite/libgomp.c/target-25.c: New test.
6914 * testsuite/libgomp.c/target-26.c: New test.
6915 * testsuite/libgomp.c/target-27.c: New test.
6916 * testsuite/libgomp.c/taskloop-1.c: New test.
6917 * testsuite/libgomp.c/taskloop-2.c: New test.
6918 * testsuite/libgomp.c/taskloop-3.c: New test.
6919 * testsuite/libgomp.c/taskloop-4.c: New test.
6920 * testsuite/libgomp.c++/ctor-13.C: New test.
6921 * testsuite/libgomp.c++/doacross-1.C: New test.
6922 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6923 Replace offload_device with offload_device_nonshared_as.
6924 * testsuite/libgomp.c++/for-12.C: New test.
6925 * testsuite/libgomp.c++/for-13.C: New test.
6926 * testsuite/libgomp.c++/for-14.C: New test.
6927 * testsuite/libgomp.c++/linear-1.C: New test.
6928 * testsuite/libgomp.c++/member-1.C: New test.
6929 * testsuite/libgomp.c++/member-2.C: New test.
6930 * testsuite/libgomp.c++/member-3.C: New test.
6931 * testsuite/libgomp.c++/member-4.C: New test.
6932 * testsuite/libgomp.c++/member-5.C: New test.
6933 * testsuite/libgomp.c++/ordered-1.C: New test.
6934 * testsuite/libgomp.c++/reduction-5.C: New test.
6935 * testsuite/libgomp.c++/reduction-6.C: New test.
6936 * testsuite/libgomp.c++/reduction-7.C: New test.
6937 * testsuite/libgomp.c++/reduction-8.C: New test.
6938 * testsuite/libgomp.c++/reduction-9.C: New test.
6939 * testsuite/libgomp.c++/reduction-10.C: New test.
6940 * testsuite/libgomp.c++/reference-1.C: New test.
6941 * testsuite/libgomp.c++/simd14.C: New test.
6942 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6943 * testsuite/libgomp.c++/target-5.C: New test.
6944 * testsuite/libgomp.c++/target-6.C: New test.
6945 * testsuite/libgomp.c++/target-7.C: New test.
6946 * testsuite/libgomp.c++/target-8.C: New test.
6947 * testsuite/libgomp.c++/target-9.C: New test.
6948 * testsuite/libgomp.c++/target-10.C: New test.
6949 * testsuite/libgomp.c++/target-11.C: New test.
6950 * testsuite/libgomp.c++/target-12.C: New test.
6951 * testsuite/libgomp.c++/taskloop-1.C: New test.
6952 * testsuite/libgomp.c++/taskloop-2.C: New test.
6953 * testsuite/libgomp.c++/taskloop-3.C: New test.
6954 * testsuite/libgomp.c++/taskloop-4.C: New test.
6955 * testsuite/libgomp.c++/taskloop-5.C: New test.
6956 * testsuite/libgomp.c++/taskloop-6.C: New test.
6957 * testsuite/libgomp.c++/taskloop-7.C: New test.
6958 * testsuite/libgomp.c++/taskloop-8.C: New test.
6959 * testsuite/libgomp.c++/taskloop-9.C: New test.
6960 * testsuite/libgomp.fortran/affinity1.f90: New test.
6961 * testsuite/libgomp.fortran/affinity2.f90: New test.
6962
1f600fea
TV
69632015-10-13 Tom de Vries <tom@codesourcery.com>
6964
6965 PR tree-optimization/67476
6966 * testsuite/libgomp.c/autopar-3.c: New test.
6967 * testsuite/libgomp.c/autopar-4.c: New test.
6968 * testsuite/libgomp.c/autopar-5.c: New test.
6969 * testsuite/libgomp.c/autopar-6.c: New test.
6970 * testsuite/libgomp.c/autopar-7.c: New test.
6971 * testsuite/libgomp.c/autopar-8.c: New test.
6972
058a654b
JN
69732015-10-12 James Norris <jnorris@codesourcery.com>
6974
6975 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6976 initializer.
6977
9e531d37
DM
69782015-10-09 David Malcolm <dmalcolm@redhat.com>
6979
6980 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6981 using load_gcc_lib.
6982
113020dc
TS
69832015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6984
6985 * oacc-ptx.h: Remove file, moving its content into...
6986 * config/nvptx/fortran.c: ... here...
6987 * config/nvptx/oacc-init.c: ..., here...
6988 * config/nvptx/oacc-parallel.c: ..., and here.
6989 * config/nvptx/openacc.f90: New file.
6990 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6991 (link_ptx): Don't link in predefined bits of PTX code.
6992
cc3cd79b
NS
69932015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6994 Bernd Schmidt <bernds@codesourcery.com>
6995
6996 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6997 (struct targ_ptx_obj): New.
6998 (nvptx_tdata): Move earlier, change data format.
6999 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7000 objects.
7001 (GOMP_OFFLOAD_load_image): Adjust.
7002
4e2a5450
TS
70032015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7004
7005 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7006 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7007 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7008 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7009 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7010 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7011 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7012 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7013 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7014 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7015 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7016 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7017 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7018 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7019 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7020 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7021 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7022 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7023 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7024 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7025 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7026 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7027 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7028 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7029 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7030 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7031 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7032 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7033 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7034 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7035 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7036 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7037 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7038 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7039 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7040 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7041 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7042 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7043 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7044 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7045 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7046 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7047 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7048 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7049 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7050 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7051 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7052 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7053 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7054 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7055 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7056 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7057 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7058 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7059 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7060 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7061 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7062 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7063 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7064 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7065 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7066 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7067 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7068
164453bb
NS
70692015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7070
7071 * oacc-init.c (acc_on_device): Force optimization level.
7072
a12a0437
NS
70732015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7074
7075 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7076 (cuda_errlist): Delete.
7077 (cuda_error): Reimplement.
7078
3e32ee19
NS
70792015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7080
7081 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7082 array.
7083 * libgomp.map (GOACC_parallel_keyed): New.
7084 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7085 all callers.
7086 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7087 and take keyed varargs list. Adjust call to exec_func.
7088 (GOACC_parallel): Force host fallback.
7089 * libgomp_g.h (GOACC_parallel): Remove.
7090 (GOACC_parallel_keyed): Declare.
7091 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 7092 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
7093 (nvptx_exec): Lose separate geometry args, take array. Process
7094 dynamic dimensions and adjust.
7095 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7096 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7097 data.
7098 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7099 passing.
7100 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7101 passing.
7102
6bb4c3e2
CLT
71032015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7104
7105 PR libgomp/67141
7106 * oacc-int.h (goacc_host_init): Add declaration.
7107 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7108 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7109
74032f47 71102015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 7111 Sebastian Pop <s.pop@samsung.com>
74032f47 7112
93d90219 7113 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
7114 match o/p.
7115 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7116 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7117 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7118 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7119 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7120
97875f4a
JJ
71212015-09-03 Jakub Jelinek <jakub@redhat.com>
7122
7123 * configure.tgt: Add missing ;; in between nvptx and rtems
7124 snippets.
7125
06441dd5
SH
71262015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7127
7128 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7129 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7130 (gomp_thread_pool_reservoir): Add priority member.
7131 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7132 priority.
7133 (parse_thread_pools): Likewise.
7134 * team.c (gomp_team_start): Call configuration provided
7135 gomp_adjust_thread_attr(). Destroy thread attributes if
7136 necessary.
7137 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7138
66c59f92
SH
71392015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7140
7141 * config/posix/pool.h: New.
7142 * config/rtems/pool.h: Likewise.
7143 * config/rtems/proc.c: Likewise.
7144 * libgomp.h (gomp_thread_destructor): Declare.
7145 * team.c: Include configuration provided "pool.h".
7146 (gomp_get_thread_pool): Define in configuration.
7147 (gomp_team_end): Call configuration defined
7148 gomp_release_thread_pool().
7149
13c41b2e
SH
71502015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7151
7152 * config/rtems/bar.c: New.
7153 * config/rtems/bar.h: Likewise.
7154 * config/rtems/mutex.c: Likewise.
7155 * config/rtems/mutex.h: Likewise.
7156 * config/rtems/sem.c: Likewise.
7157 * config/rtems/sem.h: Likewise.
7158 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7159 <sys/lock.h> header file.
7160 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7161 supported by Newlib.
7162 * configure: Regenerate.
7163
7892ec67
SH
71642015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7165
7166 * team.c (gomp_new_thread_pool): Delete and move content to ...
7167 (gomp_get_thread_pool): ... new function. Allocate and
7168 initialize thread pool on demand.
7169 (get_last_team): Use gomp_get_thread_pool().
7170 (gomp_team_start): Delete thread pool initialization.
7171
1b96e9a4
TV
71722015-09-03 Tom de Vries <tom@codesourcery.com>
7173
7174 PR tree-optimization/65637
7175 * testsuite/libgomp.c/autopar-2.c: New test.
7176
3ff2d74e
TV
71772015-08-29 Tom de Vries <tom@codesourcery.com>
7178
7179 PR tree-optimization/46193
7180 * testsuite/libgomp.c/pr46193.c: New test.
7181
2a21ff19
NS
71822015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7183
7184 libgomp/
7185 * libgomp.map: Add 4.0.2 version.
7186 * target.c (offload_image_descr): Add version field.
7187 (gomp_load_image_to_device): Add version argument. Adjust plugin
7188 call. Improve load mismatch diagnostic.
7189 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7190 call.
7191 (GOMP_offload_regster): Make stub function, move bulk to ...
7192 (GOMP_offload_register_ver): ... here. Process version argument.
7193 (GOMP_offload_unregister): Make stub function, move bulk to ...
7194 (GOMP_offload_unregister_ver): ... here. Process version argument.
7195 (gomp_init_device): Process version field.
7196 (gomp_unload_device): Process version field.
7197 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7198 macros. Check plugin version.
7199 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7200 loader and unloader types.
7201 * oacc-host.c: Include gomp-constants.h.
7202 (host_version): New.
7203 (host_load_image, host_unload_image): Adjust.
7204 (host_dispatch): Add host_version.
7205 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7206 (GOMP_OFFLOAD_version): New.
7207 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7208 (GOMP_OFFLOAD_unload_image): Likewise.
7209 * plugin/plugin-host.c: Include gomp-constants.h.
7210 (GOMP_OFFLOAD_version): New.
7211 (GOMP_OFFLOAD_load_image): Add version arg.
7212 (GOMP_OFFLOAD_unload_image): Likewise.
7213
1358a747
TV
72142015-08-24 Tom de Vries <tom@codesourcery.com>
7215
7216 PR tree-optimization/65468
7217 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7218
6be5c241
TV
72192015-08-24 Tom de Vries <tom@codesourcery.com>
7220
7221 PR tree-optimization/65468
7222 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7223
bfe7ac89
JV
72242015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7225
7226 PR libgomp/66761
7227 PR libgomp/67303
7228 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7229 (gomp_iter_guided_next): Idem.
7230 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7231 (gomp_iter_ull_guided_next): Idem.
7232 * config/linux/wait.h (do_spin): Idem.
7233
b97e78b7
TS
72342015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7235
7236 * libgomp-plugin.h (enum offload_target_type): Remove
7237 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7238 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7239 * openacc.h (enum acc_device_t): Likewise.
7240 * openacc_lib.h: Likewise.
7241 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7242 (acc_on_device): Just use __builtin_acc_on_device.
7243 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7244 of acc_on_device builtin.
7245 * plugin/plugin-host.h: Remove file.
7246 * plugin/plugin-host.c: Likewise, but salvage some content into...
7247 * oacc-host.c: ... this file.
7248 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7249 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7250 * Makefile.in: Regenerate.
7251 * configure: Likewise.
7252 * testsuite/lib/libgomp.exp
7253 (check_effective_target_openacc_host_nonshm_selected): Remove.
7254 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7255 ACC_DEVICE_TYPE=host_nonshm.
7256 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7257 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7258 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7259 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7260 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7261 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7262
44a7d18d
TS
72632015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7264 Jakub Jelinek <jakub@redhat.com>
7265
7266 * config/nvptx/affinity.c: New file.
7267 * config/nvptx/alloc.c: Likewise.
7268 * config/nvptx/bar.c: Likewise.
7269 * config/nvptx/barrier.c: Likewise.
7270 * config/nvptx/critical.c: Likewise.
7271 * config/nvptx/env.c: Likewise.
7272 * config/nvptx/error.c: Likewise.
7273 * config/nvptx/fortran.c: Likewise.
7274 * config/nvptx/iter.c: Likewise.
7275 * config/nvptx/iter_ull.c: Likewise.
7276 * config/nvptx/libgomp-plugin.c: Likewise.
7277 * config/nvptx/lock.c: Likewise.
7278 * config/nvptx/loop.c: Likewise.
7279 * config/nvptx/loop_ull.c: Likewise.
7280 * config/nvptx/mutex.c: Likewise.
7281 * config/nvptx/oacc-async.c: Likewise.
7282 * config/nvptx/oacc-cuda.c: Likewise.
7283 * config/nvptx/oacc-host.c: Likewise.
7284 * config/nvptx/oacc-init.c: Likewise.
7285 * config/nvptx/oacc-mem.c: Likewise.
7286 * config/nvptx/oacc-parallel.c: Likewise.
7287 * config/nvptx/oacc-plugin.c: Likewise.
7288 * config/nvptx/omp-lock.h: Likewise.
7289 * config/nvptx/ordered.c: Likewise.
7290 * config/nvptx/parallel.c: Likewise.
7291 * config/nvptx/proc.c: Likewise.
7292 * config/nvptx/ptrlock.c: Likewise.
7293 * config/nvptx/sections.c: Likewise.
7294 * config/nvptx/sem.c: Likewise.
7295 * config/nvptx/single.c: Likewise.
7296 * config/nvptx/splay-tree.c: Likewise.
7297 * config/nvptx/target.c: Likewise.
7298 * config/nvptx/task.c: Likewise.
7299 * config/nvptx/team.c: Likewise.
7300 * config/nvptx/time.c: Likewise.
7301 * config/nvptx/work.c: Likewise.
7302 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7303 * configure: Regenerate.
7304 * configure.tgt (config_path): Set to "nvptx" for target
7305 nvptx*-*-*.
7306
96a2d174
TS
73072015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7308
7309 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7310
9ebddeb0
NS
73112015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7312
7313 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7314 (cuda_errlist): Constify.
7315 (errmsg): Move into ...
7316 (cuda_error): ... here. Make smaller.
7317 (_XSTR, _STR): Delete.
7318 (cuda_synames): Delete.
7319 (verify_device_library): Delete.
7320 (nvptx_init): Don't call it.
7321
12efb1d7
TV
73222015-07-28 Tom de Vries <tom@codesourcery.com>
7323
7324 * testsuite/libgomp.c/uns-outer-4.c: New test.
7325
710ee218
CP
73262015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7327
7328 * testsuite/libgomp.c/pr66714.c: New test.
7329
27c4ac7d
MB
73302015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7331
7332 PR libgomp/66950
7333 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7334 (fib_ref): New function.
7335 (fib): Correct corner cases in the recursion.
7336 (main): Replace the non-simd loop with fib_ref call.
7337 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7338 subroutine.
7339 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7340 for the last array element value. Replace the non-simd loop with
7341 fib_ref call. Remove redundant b_ref array. Remove the comparison
7342 of the last array element with according Fibonacci sequence element.
7343 (fib): Correct corner cases in the recursion.
7344
22be2349
NS
73452015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7346
7347 * target.c (gomp_offload_image_to_device): Rename to ...
7348 (gomp_load_image_to_device): ... here.
7349 (GOMP_offload_register): Adjust call.
7350 (gomp_init_device): Likewise.
7351 (gomp_unload_image_from_device): New. Broken out of ...
7352 (GOMP_offload_unregister): ... here. Call it.
7353 (gomp_unload_device): New.
7354 * libgomp.h (gomp_unload_device): Declare.
7355 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7356 mem maps.
7357
f3e9a059
NS
73582015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7359
a091118d
NS
7360 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7361 wait=-specific if.
7362 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7363 !=0 condition.
7364 (goacc_waits): Move !num_waits handling to ...
7365 (GOACC_wait): ... here, the only caller that might have zero waits.
7366
f3e9a059
NS
7367 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7368 (struct ptx_image_data): Move earlier, add fns field.
7369 (struct ptx_device): Add images and image_lock fields.
7370 (ptx_images, ptx_image_lock): Delete.
7371 (nvptx_open_device): Initialize images and image_lock fields.
7372 (nvptx_close_device): Destroy image_lock.
7373 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7374 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7375 fields.
7376
afb2d80b
NS
73772015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7378
896c28a7
NS
7379 * target.c (GOMP_offload_register): Use int for device type arg.
7380 (GOMP_offload_unregister): Likewise.
7381
ebe4a560
NS
7382 * target.c (struct_offload_image_descr): Constify host_table.
7383 (gomp_offload_image_to_device): Likewise.
7384 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7385
afb2d80b
NS
7386 * libgomp.h (gomp_device_descr): Constify target data arguments.
7387 * target.c (struct offload_image_descr): Constify target_data.
7388 (gomp_offload_image_to_device): Likewise.
7389 (GOMP_offload_register): Likewise.
93d90219 7390 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
7391 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7392 GOMP_OFFLOAD_unload_image): Constify target data.
7393 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7394 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7395
a4cb876d
NS
73962015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7397
7398 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7399 Workaround driver library const error.
7400 (struct nvptx_tdata, nvptx_tdata_t): New.
7401 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7402 type.
7403
28ef6a27
MB
74042015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7405
7406 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7407 of EPS parameter from integer to real.
7408 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7409 type of EPS parameter from integer to real.
7410
6dba0113
SH
74112015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7412
7413 * team.c (get_last_team): New.
7414 (gomp_new_team): Recycle last non-nested team if possible.
7415 (gomp_team_end): Move team work share list free lock destruction
7416 to ...
7417 (free_team): ... here.
7418
4c1cb4da
MB
74192015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7420
7421 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7422 and ref from int to double. Replaced their comparison with
7423 an inequality of their difference and EPS.
7424 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7425 comparison of pri and a reference number with an inequality of their
7426 difference and EPS.
7427 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7428 the comparison of sum and sum_ref with an inequality of their
7429 difference and EPS.
7430 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7431 the comparison of pri and a reference number with an inequality of
7432 their difference and EPS.
7433
343587dc
MB
74342015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7435
7436 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7437 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7438 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7439 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7440 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7441 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7442 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7443 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7444 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7445 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7446 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7447 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7448 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7449 variables.
7450 (vec_mult): Likewise. Add #pragma omp taskwait.
7451 (main): Adjust caller.
7452 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7453 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7454 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7455 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7456 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7457 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7458 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7459 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7460 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7461 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7462 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7463 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7464 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7465 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7466 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7467 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7468 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7469 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7470 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7471 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7472 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7473 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7474 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7475 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7476 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7477 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7478 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7479 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7480 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7481 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7482 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7483 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7484 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7485 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7486 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7487 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7488 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7489 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7490 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7491 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7492 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7493 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7494 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7495 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7496 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7497 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7498 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7499 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7500 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7501 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7502 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7503 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7504 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7505 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7506 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7507 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7508 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7509 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7510 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7511 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7512 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7513 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7514 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7515 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7516 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7517 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7518 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7519 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7520 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7521 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7522 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7523 (vec_mult): Add !$omp taskwait.
7524 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7525 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7526 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7527 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7528 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7529 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7530 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7531 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7532 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7533 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7534 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7535 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7536 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7537 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7538 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7539 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7540 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7541 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7542 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7543 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7544 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7545 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7546 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7547 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7548 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7549 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7550 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7551 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7552 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7553 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7554 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7555 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7556 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7557 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7558 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7559 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7560 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7561 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7562 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7563 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7564 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7565 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7566 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7567 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7568 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7569 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7570 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7571 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7572 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7573 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7574 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7575 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7576 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7577 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7578 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7579 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7580 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7581 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7582 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7583 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7584 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7585 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7586 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7587 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7588 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7589 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7590 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7591
9f620bf1
TV
75922015-07-10 Tom de Vries <tom@codesourcery.com>
7593
7594 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7595 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7596
a92defda
TS
75972015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7598
7599 PR libgomp/65099
7600 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7601 in a 64-bit configuration.
7602 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7603 offloading testing if no such device is available.
7604 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7605 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7606
cadb53a5
TV
76072015-07-08 Tom de Vries <tom@codesourcery.com>
7608
7609 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7610 second call to f.
7611 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7612
712cb0bb
TV
76132015-07-07 Tom de Vries <tom@codesourcery.com>
7614
7615 PR tree-optimization/66642
7616 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7617 iteration count case.
7618 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7619 function, factor out of ...
7620 (main): ... here. Test low iteration count case.
7621
e5210c77
SH
76222015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7623
7624 * libgomp.h (gomp_thread_pool): Comment last_team field.
7625
f70360e7
UB
76262015-07-02 Uros Bizjak <ubizjak@gmail.com>
7627
7628 * testsuite/libgomp.c++/pr66702-1.C: Require
7629 vect_simd_clones effective target.
7630 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7631
b451c271
TV
76322015-06-30 Tom de Vries <tom@codesourcery.com>
7633
7634 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7635 already set. Use DEFAULT_CFLAGS in dg-runtest.
7636 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7637 "-O2".
7638
f8e89d9f
TV
76392015-06-30 Tom de Vries <tom@codesourcery.com>
7640
7641 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7642 already set. Use DEFAULT_CFLAGS in dg-runtest.
7643 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7644 * testsuite/libgomp.c++/pr64824.C: Same.
7645 * testsuite/libgomp.c++/pr64868.C: Same.
7646 * testsuite/libgomp.c++/pr66199-1.C: Same.
7647 * testsuite/libgomp.c++/pr66199-2.C: Same.
7648 * testsuite/libgomp.c++/target-2.C: Same.
7649 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7650 -std=<standard> option.
7651 * testsuite/libgomp.c++/udr-11.C: Same.
7652 * testsuite/libgomp.c++/udr-12.C: Same.
7653 * testsuite/libgomp.c++/udr-13.C: Same.
7654 * testsuite/libgomp.c++/udr-14.C: Same.
7655 * testsuite/libgomp.c++/udr-15.C: Same.
7656 * testsuite/libgomp.c++/udr-16.C: Same.
7657 * testsuite/libgomp.c++/udr-17.C: Same.
7658 * testsuite/libgomp.c++/udr-18.C: Same.
7659 * testsuite/libgomp.c++/udr-19.C: Same.
7660 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7661 * testsuite/libgomp.c++/simd-1.C: Same.
7662 * testsuite/libgomp.c++/simd-2.C: Same.
7663 * testsuite/libgomp.c++/simd-3.C: Same.
7664 * testsuite/libgomp.c++/simd-4.C: Same.
7665 * testsuite/libgomp.c++/simd-5.C: Same.
7666 * testsuite/libgomp.c++/simd-6.C: Same.
7667 * testsuite/libgomp.c++/simd-7.C: Same.
7668 * testsuite/libgomp.c++/simd-8.C: Same.
7669 * testsuite/libgomp.c++/simd-9.C: Same.
7670 * testsuite/libgomp.c++/simd10.C: Same.
7671 * testsuite/libgomp.c++/simd11.C: Same.
7672 * testsuite/libgomp.c++/simd12.C: Same.
7673 * testsuite/libgomp.c++/simd13.C: Same.
7674
3446fe48
JJ
76752015-06-30 Jakub Jelinek <jakub@redhat.com>
7676
7677 PR middle-end/66702
7678 * testsuite/libgomp.c++/pr66702-1.C: New test.
7679 * testsuite/libgomp.c++/pr66702-2.C: New test.
7680
8a36714a
TV
76812015-06-30 Tom de Vries <tom@codesourcery.com>
7682
7683 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7684 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7685 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7686 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7687
4f75d608
TV
76882015-06-30 Tom de Vries <tom@codesourcery.com>
7689
7690 PR tree-optimization/66652
7691 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7692 using restrict pointers.
7693 (main): Add arguments to calls to f.
7694 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7695
6d9d1eeb
AT
76962015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7697
7698 * configure.ac: Fix check for header <sys/sysctl.h>.
7699 * configure: Regenerate.
7700 * config.h.in: Likewise.
7701
1222f22b
TV
77022015-06-23 Tom de Vries <tom@codesourcery.com>
7703
7704 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7705 abort.
7706 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7707
d7efbbf6
TS
77082015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7709
bfcd036f
TS
7710 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7711 acc_device_nvidia.
7712
d7efbbf6
TS
7713 PR libgomp/66518
7714 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7715 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7716
d7bfc710
TV
77172015-06-15 Tom de Vries <tom@codesourcery.com>
7718
7719 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7720 dg-additional-options for any remaining options.
7721 * testsuite/libgomp.c/atomic-2.c: Same.
7722 * testsuite/libgomp.c/atomic-4.c: Same.
7723 * testsuite/libgomp.c/atomic-5.c: Same.
7724 * testsuite/libgomp.c/atomic-6.c: Same.
7725 * testsuite/libgomp.c/autopar-1.c: Same.
7726 * testsuite/libgomp.c/copyin-1.c: Same.
7727 * testsuite/libgomp.c/copyin-2.c: Same.
7728 * testsuite/libgomp.c/copyin-3.c: Same.
7729 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7730 * testsuite/libgomp.c/nestedfn-5.c: Same.
7731 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7732 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7733 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7734 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7735 * testsuite/libgomp.c/pr32362-1.c: Same.
7736 * testsuite/libgomp.c/pr32362-2.c: Same.
7737 * testsuite/libgomp.c/pr32362-3.c: Same.
7738 * testsuite/libgomp.c/pr39591-1.c: Same.
7739 * testsuite/libgomp.c/pr39591-2.c: Same.
7740 * testsuite/libgomp.c/pr39591-3.c: Same.
7741 * testsuite/libgomp.c/pr58392.c: Same.
7742 * testsuite/libgomp.c/pr58756.c: Same.
7743 * testsuite/libgomp.c/simd-1.c: Same.
7744 * testsuite/libgomp.c/simd-10.c: Same.
7745 * testsuite/libgomp.c/simd-11.c: Same.
7746 * testsuite/libgomp.c/simd-12.c: Same.
7747 * testsuite/libgomp.c/simd-13.c: Same.
7748 * testsuite/libgomp.c/simd-14.c: Same.
7749 * testsuite/libgomp.c/simd-15.c: Same.
7750 * testsuite/libgomp.c/simd-2.c: Same.
7751 * testsuite/libgomp.c/simd-3.c: Same.
7752 * testsuite/libgomp.c/simd-4.c: Same.
7753 * testsuite/libgomp.c/simd-5.c: Same.
7754 * testsuite/libgomp.c/simd-6.c: Same.
7755 * testsuite/libgomp.c/simd-7.c: Same.
7756 * testsuite/libgomp.c/simd-8.c: Same.
7757 * testsuite/libgomp.c/simd-9.c: Same.
7758
fb5b5352
TV
77592015-06-15 Tom de Vries <tom@codesourcery.com>
7760
7761 * testsuite/libgomp.c/pr35625.c: Fix typo.
7762
ca431bef
TV
77632015-06-15 Tom de Vries <tom@codesourcery.com>
7764
7765 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7766 in dg-options.
7767 * testsuite/libgomp.c/atomic-3.c: Same.
7768 * testsuite/libgomp.c/debug-1.c: Same.
7769 * testsuite/libgomp.c/nqueens-1.c: Same.
7770 * testsuite/libgomp.c/pr26171.c: Same.
7771 * testsuite/libgomp.c/pr48591.c: Same.
7772 * testsuite/libgomp.c/pr64824.c: Same.
7773 * testsuite/libgomp.c/pr64868.c: Same.
7774 * testsuite/libgomp.c/pr66133.c: Same.
7775 * testsuite/libgomp.c/pr66199-1.c: Same.
7776 * testsuite/libgomp.c/pr66199-2.c: Same.
7777 * testsuite/libgomp.c/target-8.c: Same.
7778
0d8a9e20
TV
77792015-06-15 Tom de Vries <tom@codesourcery.com>
7780
7781 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7782 -std={gnu99,c99}.
7783 * testsuite/libgomp.c/for-1.c: Same.
7784 * testsuite/libgomp.c/for-2.c: Same.
7785 * testsuite/libgomp.c/for-3.c: Same.
7786 * testsuite/libgomp.c/pr35625.c: Same.
7787 * testsuite/libgomp.c/pr39154.c: Same.
7788 * testsuite/libgomp.c/simd-16.c: Same.
7789 * testsuite/libgomp.c/simd-17.c: Same.
7790
a6860be9
TV
77912015-06-13 Tom de Vries <tom@codesourcery.com>
7792
7793 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7794
ab3306d2
TV
77952015-06-13 Tom de Vries <tom@codesourcery.com>
7796
7797 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7798 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7799 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7800 (N): Define.
7801 (main): Use N instead of hardcoded constants.
7802
7c82d827
TV
78032015-06-05 Tom de Vries <tom@codesourcery.com>
7804
7805 merge from gomp4 branch:
7806 2015-05-28 Tom de Vries <tom@codesourcery.com>
7807
7808 PR tree-optimization/65443
7809 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7810 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7811 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7812
c469078d
BRF
78132015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7814
7815 * testsuite/libgomp.graphite/bounds.c: Adjust for
7816 cleanup-tree-dump removal.
7817 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7818 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7819 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7820 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7821 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7822 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7823 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7824 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7825 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7826 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7827
bb3caa35
UB
78282015-05-28 Uros Bizjak <ubizjak@gmail.com>
7829
7830 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7831 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7832 (futex_wake) [!__x86_64__]: Ditto.
7833
9fb5fd44
JB
78342015-05-28 Julian Brown <julian@codesourcery.com>
7835
7836 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7837 function comment. Only call gomp_fatal if new argument is true.
7838 (acc_dev_num_out_of_range): New function.
7839 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7840 acc_dev_num_out_of_range as appropriate.
7841 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
7842 (acc_get_device_num, acc_set_device_num): Update calls to
7843 resolve_device.
9fb5fd44
JB
7844 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7845 output.
7846
32eaed93
JB
78472015-05-28 Julian Brown <julian@codesourcery.com>
7848
7849 PR libgomp/65742
32eaed93
JB
7850 * oacc-init.c (plugin/plugin-host.h): Include.
7851 (acc_on_device): Check whether we're in an offloaded region for
7852 host_nonshm
7853 plugin. Don't use __builtin_acc_on_device.
7854 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7855 nonshm_exec flag in thread-local data.
7856 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7857 data for host_nonshm plugin.
7858 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7859 for host_nonshm plugin.
7860 * plugin/plugin-host.h: New.
7861
ea023bcf
UB
78622015-05-27 Uros Bizjak <ubizjak@gmail.com>
7863
8ed501f1
UB
7864 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7865
78662015-05-27 Uros Bizjak <ubizjak@gmail.com>
7867
7868 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7869 Declare as int.
7870 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7871 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7872 Declare as int.
7873
78742015-05-27 Uros Bizjak <ubizjak@gmail.com>
7875
bb3caa35 7876 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 7877
1716efeb
CLT
78782015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7879
7880 * target.c (gomp_map_pointer): New function abstracting out
7881 GOMP_MAP_POINTER handling.
7882 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7883 gomp_map_pointer().
7884
41b37d5e
JJ
78852015-05-19 Jakub Jelinek <jakub@redhat.com>
7886
7887 PR middle-end/66199
7888 * testsuite/libgomp.c/pr66199-1.c: New test.
7889 * testsuite/libgomp.c/pr66199-2.c: New test.
7890 * testsuite/libgomp.c++/pr66199-1.C: New test.
7891 * testsuite/libgomp.c++/pr66199-2.C: New test.
7892 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7893 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7894
c8319826
JB
78952015-05-19 Julian Brown <julian@codesourcery.com>
7896
7897 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7898 on cuInit failure.
7899
b37dddbc
JJ
79002015-05-13 Jakub Jelinek <jakub@redhat.com>
7901
7902 PR middle-end/66133
7903 * testsuite/libgomp.c/pr66133.c: New test.
7904
55fba601
MH
79052015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7906
7907 * Makefile.in: Regenerated with automake-1.11.6.
7908 * aclocal.m4: Likewise.
7909 * config.h.in: Likewise.
7910 * configure: Likewise.
7911 * testsuite/Makefile.in: Likewise.
7912
1be0899d
JM
79132015-05-08 Jason Merrill <jason@redhat.com>
7914
7915 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7916 _Complex.
7917
7918 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7919
d2463960
JB
79202015-05-06 Julian Brown <julian@codesourcery.com>
7921
7922 * oacc-init.c (acc_device_lock): Add explanatory comment.
7923 (resolve_device): Add comment about locking requirement.
7924 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7925 gomp_init_device and gomp_fini_device calls.
7926 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7927 (acc_get_device_num, acc_set_device_num): Add locking around
7928 resolve_device and gomp_init_device calls.
7929
e38fdba4
JB
79302015-05-06 Julian Brown <julian@codesourcery.com>
7931
7932 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7933 goacc_thread_lock on error paths.
7934 * oacc-mem.c (lookup_host): Remove locking from function. Note
7935 locking requirement for caller in function comment.
7936 (lookup_dev): Likewise.
7937 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7938 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7939 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7940 Add locking.
7941
ae8ffbbb
TS
79422015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7943
7944 PR testsuite/65205
7945 PR libgomp/65993
7946 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7947 don't expect "0x" prefix for "%p" format specifier, don't expect
7948 "(nil)" for NULL pointer.
7949 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7950 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7951 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7952 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7953 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7954 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7955 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7956 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7957 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7958 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7959 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7960 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7961 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7962 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7963 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7964 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7965 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7966 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7967 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7968 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7969 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7970 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7971 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7972 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7973 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7974 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7975 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7976 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7977 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7978 accurately specify what we're looking for.
7979 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7980 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7981 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7982 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7983 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7984
1309f1d2
JN
79852015-04-30 James Norris <jnorris@codesourcery.com>
7986
7987 PR testsuite/65205
7988 * testsuite/lib/libgomp.exp
7989 (check_effective_target_openacc_host_selected)
7990 (check_effective_target_openacc_host_nonshm_selected): New
7991 procedures.
7992 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7993 dg-shouldfail.
7994 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7995 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7996 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7997 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7998 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7999 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8000 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8001 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8002 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8003 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8004 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8005 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8006 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8007 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8008 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8009 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8010 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8011 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8012 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8013 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8014 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8015 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8016 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8017 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8018 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8019 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8020 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8021 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8022 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8023 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8024 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8025 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8026 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8027 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8028 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8029 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8030 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8031 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8032 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8033 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8034 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8036 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8037
d93bdab5
JB
80382015-04-08 Julian Brown <julian@codesourcery.com>
8039
8040 * libgomp.h (target_mem_desc: Remove mem_map field.
8041 (acc_dispatch_t): Remove open_device_func, close_device_func,
8042 get_device_num_func, set_device_num_func, target_data members.
8043 Change create_thread_data_func argument to device number instead of
8044 generic pointer.
8045 * oacc-async.c (assert.h): Include.
8046 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8047 (acc_wait_all, acc_wait_all_async): Use current host thread's
8048 active device, not base_dev.
8049 * oacc-cuda.c (acc_get_current_cuda_device)
8050 (acc_get_current_cuda_context, acc_get_cuda_stream)
8051 (acc_set_cuda_stream): Likewise.
8052 * oacc-host.c (host_dispatch): Don't set open_device_func,
8053 close_device_func, get_device_num_func or set_device_num_func.
8054 * oacc-init.c (base_dev, init_key): Remove.
8055 (cached_base_dev): New.
8056 (name_of_acc_device_t): New.
8057 (acc_init_1): Initialise default-numbered device, not zeroth.
8058 (acc_shutdown_1): Close all devices of a given type.
8059 (goacc_destroy_thread): Don't use base_dev.
8060 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8061 (goacc_attach_host_thread_to_device): New.
8062 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8063 (acc_get_num_devices): Don't use base_dev.
8064 (acc_set_device_type): Reimplement.
8065 (acc_get_device_type): Don't use base_dev.
8066 (acc_get_device_num): Tweak logic.
8067 (acc_set_device_num): Likewise.
8068 (acc_on_device): Use acc_get_device_type.
8069 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8070 (goacc_lazy_initialize): Reimplement with acc_init and
8071 goacc_attach_host_thread_to_device.
8072 * oacc-int.h (goacc_thread): Add base_dev field.
8073 (base_dev): Remove extern declaration.
8074 (goacc_attach_host_thread_to_device): Add prototype.
8075 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8076 base_dev.
8077 (acc_free): Likewise.
8078 (acc_memcpy_to_device): Likewise.
8079 (acc_memcpy_from_device): Likewise.
8080 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8081 goacc_lazy_initialize (throughout).
8082 (GOACC_parallel): Use tgt_offset to locate target functions.
8083 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8084 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8085 (gomp_load_plugin_for_device): Remove open_device, close_device,
8086 get_device_num, set_device_num openacc hook initialisation. Don't set
8087 openacc.target_data.
8088 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8089 (GOMP_OFFLOAD_openacc_close_device)
8090 (GOMP_OFFLOAD_openacc_get_device_num)
8091 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8092 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8093 to int.
8094 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8095 (instantiated_devices, ptx_dev_lock): New.
8096 (struct ptx_image_data): New.
8097 (ptx_devices, ptx_images, ptx_image_lock): New.
8098 (fini_streams_for_device): Reorder cuStreamDestroy call.
8099 (nvptx_get_num_devices): Remove forward declaration.
8100 (nvptx_init): Change return type to bool.
8101 (nvptx_fini): Remove.
8102 (nvptx_attach_host_thread_to_device): New.
8103 (nvptx_open_device): Return struct ptx_device* instead of void*.
8104 (nvptx_close_device): Change argument type to struct ptx_device*,
8105 return type to void.
8106 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8107 (kernel_target_data, kernel_host_table): Remove static globals.
8108 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8109 (GOMP_OFFLOAD_init_device): Reimplement.
8110 (GOMP_OFFLOAD_fini_device): Likewise.
8111 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8112 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8113 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8114 (GOMP_OFFLOAD_openacc_open_device)
8115 (GOMP_OFFLOAD_openacc_close_device)
8116 (GOMP_OFFLOAD_openacc_set_device_num)
8117 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8118 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8119 (device number).
8120
8121 testsuite/
8122 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8123
a51df54e
IV
81242015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8125
8126 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8127 * libgomp.h (struct gomp_memory_mapping): Remove.
8128 (struct target_mem_desc): Change type of mem_map from
8129 gomp_memory_mapping * to splay_tree_s *.
8130 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8131 Add load_image_func, unload_image_func.
8132 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8133 Remove offload_regions_registered.
8134 (gomp_init_tables): Remove.
8135 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8136 to splay_tree_s *.
8137 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8138 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8139 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8140 offload_regions_registered.
8141 Initialize load_image_func, unload_image_func, mem_map.root.
8142 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8143 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8144 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8145 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8146 gomp_memory_mapping *. Use dev's lock and splay_tree.
8147 (lookup_dev): Use dev's lock.
8148 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8149 (acc_is_present): Likewise.
8150 (acc_map_data): Likewise.
8151 (acc_unmap_data): Likewise. Use dev's lock.
8152 (present_create_copy): Likewise.
8153 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8154 (update_dev_host): Likewise.
8155 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8156 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8157 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8158 (GOMP_OFFLOAD_get_table): Remove
8159 (GOMP_OFFLOAD_load_image): New function.
8160 (GOMP_OFFLOAD_unload_image): New function.
8161 * target.c (register_lock): New mutex for offload image registration.
8162 (num_devices): Do not guard with PLUGIN_SUPPORT.
8163 (gomp_realloc_unlock): New static function.
8164 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8165 before gomp_fatal.
8166 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8167 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8168 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8169 mem_map's.
8170 (gomp_unmap_vars): Likewise.
8171 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8172 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8173 (gomp_offload_image_to_device): New static function.
8174 (GOMP_offload_register): Add mutex lock.
8175 Call gomp_offload_image_to_device for all initialized devices.
8176 Replace gomp_realloc with gomp_realloc_unlock.
8177 (GOMP_offload_unregister): New function.
8178 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8179 get_table_func from the plugin with calls to init_device_func and
8180 gomp_offload_image_to_device.
8181 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8182 to splay_tree_s *.
8183 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8184 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8185 (GOMP_target_data): Do not call gomp_init_tables.
8186 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8187 (gomp_load_plugin_for_device): Replace register_image and get_table
8188 with load_image and unload_image in DLSYM ().
8189 (gomp_register_images_for_device): Remove function.
8190 (gomp_target_init): Do not initialize current_device.mem_map.*,
8191 current_device.offload_regions_registered.
8192 Remove call to gomp_register_images_for_device.
8193 Do not free offload_images and num_offload_images.
8194
6c384511
JJ
81952015-03-30 Jakub Jelinek <jakub@redhat.com>
8196
8197 PR fortran/65597
8198 * testsuite/libgomp.fortran/pr65597.f90: New test.
8199
3e8165a5
TV
82002015-03-27 Tom de Vries <tom@codesourcery.com>
8201
8202 PR testsuite/65594
8203 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8204 (init, check): New function.
8205 (foo): Change return type to void.
8206 (main): Call init and check.
8207
4d688c9a
TV
82082015-03-27 Tom de Vries <tom@codesourcery.com>
8209
8210 PR testsuite/65594
8211 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8212 (foo): Use M for non-inner loops to scale down test-case.
8213
01c0b3b0
KT
82142015-03-25 Kai Tietz <ktietz@redhat.com>
8215
8216 PR libgomp/64972
8217 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8218 (GOACC_data_start): Likewise.
8219 * target.c (gomp_map_vars): Likewise.
8220
844d9a76
JDA
82212015-03-21 John David Anglin <danglin@gcc.gnu.org>
8222
8223 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8224 hppa*-*-hpux*.
8225
9b65e171
JJ
82262015-03-19 Jakub Jelinek <jakub@redhat.com>
8227
8228 * testsuite/libgomp.c/target-10.c: New test.
8229 * testsuite/libgomp.c++/target-4.C: New test.
8230
db397e2e
IV
82312015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8232
8233 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8234 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8235
cd93945d
SH
82362015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8237
8238 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8239 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8240 (pthread.h): Check for this header file.
8241 * configure: Regenerate.
8242
05deba9f
TV
82432015-02-25 Tom de Vries <tom@codesourcery.com>
8244
8245 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8246 (check_reduction_op, check_reduction_macro, max, min):
8247 Declare.
8248 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8249 function.
8250 (main): Use new functions.
8251
196904d8
IT
82522015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8253
8254 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8255 char * for variables holding dlerror return values.
8256 (DLSYM_OPT): Ditto.
8257
a2818955
TS
82582015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8259
8260 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8261
26f93312
TS
82622015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8263 Cesar Philippidis <cesar@codesourcery.com>
8264
8265 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8266 GOACC_ctaid, and GOACC_nctaid routines.
8267
fa01ffcc
JJ
82682015-02-11 Jakub Jelinek <jakub@redhat.com>
8269
8270 PR c/64824
8271 * testsuite/libgomp.c/atomic-18.c: New test.
8272 * testsuite/libgomp.c++/atomic-16.C: New test.
8273
4886ec8e
JJ
82742015-02-04 Jakub Jelinek <jakub@redhat.com>
8275
8276 PR c/64824
8277 PR c/64868
8278 * testsuite/libgomp.c/pr64824.c: New test.
8279 * testsuite/libgomp.c/pr64868.c: New test.
8280 * testsuite/libgomp.c++/pr64824.C: New test.
8281 * testsuite/libgomp.c++/pr64868.C: New test.
8282
02d3e45e
DE
82832015-02-01 David Edelsohn <dje.gcc@gmail.com>
8284
8285 PR libgomp/64635
8286 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8287 Link with -lpthread.
8288 * config/aix/plugin-suffix.h: Delete.
8289
b5f7a6ca
JH
82902015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8291
8292 PR libgomp/64635
8293 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8294 (*-*-darwin*): Use config_path "bsd darwin posix".
8295 (*-*-hpux*): Use config_path "hpux posix".
8296 * target.c: Add include of plugin-suffix.h and use
8297 SONAME_SUFFIX macro.
8298 * config/aix/plugin-suffix.h: New file.
8299 * config/darwin/plugin-suffix.h: New file.
8300 * config/hpux/plugin-suffix.h: New file.
8301 * config/posix/plugin-suffix.h: New file.
8302
b8910447
JJ
83032015-01-23 Jakub Jelinek <jakub@redhat.com>
8304
8305 PR middle-end/64734
8306 * libgomp.c/pr64734.c: New test.
8307
a0c88d06
TV
83082015-01-23 Tom de Vries <tom@codesourcery.com>
8309
8310 PR libgomp/64672
8311 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8312
1506ae0e
TV
83132015-01-23 Tom de Vries <tom@codesourcery.com>
8314
8315 PR libgomp/64707
8316 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8317 dg-options.
8318
128b26dc
TS
83192015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8320
bed62c21 8321 PR libgomp/64625
128b26dc
TS
8322 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8323 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8324 formal parameter. Update all users.
8325 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8326 Document unused formal parameter.
8327
6e36114c
TS
83282015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8329
8330 * oacc-parallel.c: Don't include <alloca.h>.
8331 (GOACC_parallel): Use gomp_alloca instead of alloca.
8332
973e9808
GP
83332015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8334
8335 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8336
41dbbb37
TS
83372015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8338 James Norris <jnorris@codesourcery.com>
8339 Tom de Vries <tom@codesourcery.com>
8340 Julian Brown <julian@codesourcery.com>
8341 Cesar Philippidis <cesar@codesourcery.com>
8342 Nathan Sidwell <nathan@codesourcery.com>
8343 Tobias Burnus <burnus@net-b.de>
8344
8345 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8346 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8347 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8348 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8349 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8350 Include $(top_srcdir)/plugin/Makefrag.am.
8351 (nodist_libsubinclude_HEADERS): Add openacc.h.
8352 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8353 openacc.f90, openacc.mod, openacc_kinds.mod.
8354 (omp_lib.mod): Generalize into...
8355 (%.mod): ... this new rule.
8356 (openacc_kinds.mod, openacc.mod): New rules.
8357 * plugin/configfrag.ac: New file.
8358 * configure.ac: Move plugin/offloading support into it. Include
8359 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8360 * plugin/Makefrag.am: New file.
8361 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8362 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8363 export.
8364 (libgomp-test-support.exp): New rule.
8365 (all-local): Depend on it.
8366 * Makefile.in: Regenerate.
8367 * testsuite/Makefile.in: Regenerate.
8368 * config.h.in: Likewise.
8369 * configure: Likewise.
8370 * configure.tgt: Harden shell syntax.
8371 * env.c: Include "oacc-int.h".
8372 (parse_acc_device_type): New function.
8373 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8374 variables.
8375 (initialize_env): Initialize those. Call
8376 goacc_runtime_initialize.
8377 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8378 (gomp_fatal): Call gomp_vfatal.
8379 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8380 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8381 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8382 (splay_tree_node, splay_tree, splay_tree_key)
8383 (struct target_mem_desc, struct splay_tree_key_s)
8384 (struct gomp_memory_mapping, struct acc_dispatch_t)
8385 (struct gomp_device_descr, gomp_acc_insert_pointer)
8386 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8387 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8388 (gomp_free_memmap, gomp_fini_device): New declarations.
8389 (gomp_vdebug, gomp_debug): New macros.
8390 Include "splay-tree.h".
8391 * libgomp.map (OACC_2.0): New symbol version. Use for
8392 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8393 acc_set_device_type_h_, acc_get_device_type,
8394 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8395 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8396 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8397 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8398 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8399 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8400 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8401 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8402 acc_copyin_array_h_, acc_present_or_copyin,
8403 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8404 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8405 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8406 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8407 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8408 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8409 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8410 acc_update_device, acc_update_device_32_h_,
8411 acc_update_device_64_h_, acc_update_device_array_h_,
8412 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8413 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8414 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8415 acc_is_present_64_h_, acc_is_present_array_h_,
8416 acc_memcpy_to_device, acc_memcpy_from_device,
8417 acc_get_current_cuda_device, acc_get_current_cuda_context,
8418 acc_get_cuda_stream, acc_set_cuda_stream.
8419 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8420 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8421 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8422 GOACC_get_num_threads.
8423 (GOMP_PLUGIN_1.0): New symbol version. Use for
8424 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8425 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8426 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8427 GOMP_PLUGIN_acc_thread.
8428 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8429 environment variable.
8430 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8431 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8432 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8433 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8434 (splay_tree_remove): New declarations.
8435 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8436 (splay_tree_remove, splay_tree_lookup): Move into...
8437 * splay-tree.c: ... this new file.
8438 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8439 (splay_tree_node, splay_tree, splay_tree_key)
8440 (struct target_mem_desc, struct splay_tree_key_s)
8441 (struct gomp_device_descr): Don't declare.
8442 (num_devices_openmp): New variable.
8443 (gomp_get_num_devices ): Use it.
8444 (gomp_init_targets_once): New function.
8445 (gomp_get_num_devices ): Use it.
8446 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8447 (gomp_fini_device, gomp_register_image_for_device): New functions.
8448 (gomp_map_vars): Add devaddrs parameter.
8449 (gomp_update): Add mm parameter.
8450 (gomp_init_device): Move most of it into...
8451 (gomp_init_tables): ... this new function.
8452 (gomp_register_images_for_device): Remove function.
8453 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8454 Make them hidden instead of static.
8455 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8456 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8457 (GOMP_target_end_data, GOMP_target_update)
8458 (gomp_load_plugin_for_device, gomp_target_init): Update for
8459 OpenACC changes.
8460 * oacc-async.c: New file.
8461 * oacc-cuda.c: Likewise.
8462 * oacc-host.c: Likewise.
8463 * oacc-init.c: Likewise.
8464 * oacc-int.h: Likewise.
8465 * oacc-mem.c: Likewise.
8466 * oacc-parallel.c: Likewise.
8467 * oacc-plugin.c: Likewise.
8468 * oacc-plugin.h: Likewise.
8469 * oacc-ptx.h: Likewise.
8470 * openacc.f90: Likewise.
8471 * openacc.h: Likewise.
8472 * openacc_lib.h: Likewise.
8473 * plugin/plugin-host.c: Likewise.
8474 * plugin/plugin-nvptx.c: Likewise.
8475 * libgomp-plugin.c: Likewise.
8476 * libgomp-plugin.h: Likewise.
8477 * libgomp_target.h: Remove file after merging content into the
8478 former file. Update all users.
8479 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8480 (offload_targets_s, offload_targets_s_openacc): New variables.
8481 (check_effective_target_openacc_nvidia_accel_present)
8482 (check_effective_target_openacc_nvidia_accel_selected): New
8483 procedures.
8484 (libgomp_init): Update for OpenACC changes.
8485 * testsuite/libgomp-test-support.exp.in: New file.
8486 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8487 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8488 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8489 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8490 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8491 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8492 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8493 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8494 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8495 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8496 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8497 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8498 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8499 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8500 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8501 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8502 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8503 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8504 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8505 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8506 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8507 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8508 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8509 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8510 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8511 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8512 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8513 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8514 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8515 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8516 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8517 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8518 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8519 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8520 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8521 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8522 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8523 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8524 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8525 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8526 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8527 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8528 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8529 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8530 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8531 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8532 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8533 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8534 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8535 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8536 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8537 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8538 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8539 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8540 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8541 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8542 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8543 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8544 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8545 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8546 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8547 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8548 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8549 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8550 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8551 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8552 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8553 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8554 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8555 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8556 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8557 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8558 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8559 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8560 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8561 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8562 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8563 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8564 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8565 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8566 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8567 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8568 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8569 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8570 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8571 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8572 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8573 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8574 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8575 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8576 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8577 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8578 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8579 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8580 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8581 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8582 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8584 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8585 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8586 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8587 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8588 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8589 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8590 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8591 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8592 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8593 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8594 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8595 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8596 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8597 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8598 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8599 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8600 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8601 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8602 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8603 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8604 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8605 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8606 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8607 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8608 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8609 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8610 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8611 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8612 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8613 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8614 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8615 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8616 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8617 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8618 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8619 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8620 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8621 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8622 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8623 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8624 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8625 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8626 Likewise.
8627 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8628 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8629 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8630 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8631 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8632 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8633 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8634 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8635 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8636 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8637 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8638 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8639 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8640 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8641 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8642 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8643 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8644 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8645 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8646 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8647 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8648 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8649 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8650 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8651 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8652 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8653 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8654 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8655 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8656 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8657 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8658 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8659 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8660 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8661 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8662 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8663 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8664 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8665 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8666 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8667 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8668 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8669 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8670 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8671 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8672 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8673 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8674 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8675 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8676 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8677 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8678 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8679 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8680 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8681 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8682 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8683 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8684 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8685 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8686 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8687
f1f3453e
TS
86882015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8689 Julian Brown <julian@codesourcery.com>
8690 David Malcolm <dmalcolm@redhat.com>
8691
8692 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8693 to "GNU Offloading and Multi Processing Runtime Library". Change
8694 all users.
8695 * configure: Regenerate.
8696 * libgomp.texi: Update.
8697
f9a0eca4
TS
86982015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8699
b335ef4e
TS
8700 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8701 "$tgt_dir/lib32".
8702 * configure: Regenerate.
8703
f9a0eca4
TS
8704 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8705 "intelmic" in $offload_targets.
8706
b67cd4e3
JJ
87072015-01-05 Jakub Jelinek <jakub@redhat.com>
8708
5624e564
JJ
8709 Update copyright years.
8710
b67cd4e3
JJ
8711 * libgomp.texi: Bump @copying's copyright year.
8712
3b41b583
KT
87132014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8714
8715 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 8716 Move load of target-supports.exp earlier.
3b41b583 8717
2354caec
IV
87182014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8719
8720 * testsuite/libgomp.c/target-9.c: New test.
8721
f50eecba
VR
87222014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8723
8724 * config.h.in: Regenerate.
8725 * configure: Regenerate.
8726 * configure.ac: Add GCC_CHECK_EMUTLS.
8727 * libgomp.h: Add check for USE_EMUTLS: this case
8728 is equal to HAVE_TLS.
8729 * team.c: Likewise.
8730
68bc9270
UB
87312014-12-03 Uros Bizjak <ubizjak@gmail.com>
8732
8733 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8734
476ff787
AT
87352014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8736 Ilya Verbin <ilya.verbin@intel.com>
8737
8738 * testsuite/libgomp.c/target-critical-1.c: New test.
8739
31a30e62
JJ
87402014-11-26 Jakub Jelinek <jakub@redhat.com>
8741
8742 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 8743 to dg-options unless expensive testing is on.
31a30e62
JJ
8744 (TESTITERS): Define to N if not defined.
8745 (main): Use TESTITERS instead of N.
8746 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8747 dg-additional-options depending on whether expensive testing is on.
8748 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8749 Decrease N to 100000 and CHUNKSZ to 10000.
8750
3f9e8f13
JJ
87512014-11-24 Jakub Jelinek <jakub@redhat.com>
8752
8753 PR fortran/63938
31a30e62
JJ
8754 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8755 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 8756
c8451a46
SE
87572014-11-21 Steve Ellcey <sellcey@imgtec.com>
8758
8759 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8760
a699d672
L
87612014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8762
8763 PR bootstrap/63784
8764 * configure: Regenerated.
8765
4a19f719
UB
87662014-11-19 Uros Bizjak <ubizjak@gmail.com>
8767
8768 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8769 vect_simd_clones effective target.
8770 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8771
b1bf6c52
JJ
87722014-11-14 Jakub Jelinek <jakub@redhat.com>
8773
8774 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8775 of 32 as block_size.
8776 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8777 instead of 32 as block_size.
8778
d64ae614
AT
87792014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8780 Ilya Verbin <ilya.verbin@intel.com>
8781
8782 * Makefile.in: Regenerate.
8783 * configure: Regenerate.
8784 * configure.ac: Set up offload_additional_options,
8785 offload_additional_lib_paths and offload_targets.
8786 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8787 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8788 * testsuite/Makefile.in: Regenerate.
8789 * testsuite/lib/libgomp.exp (libgomp_init): Append
8790 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8791 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8792 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8793
122d7303
AT
87942014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8795 Ilya Verbin <ilya.verbin@intel.com>
8796 Kirill Yukhin <kirill.yukhin@intel.com>
8797 Ilya Tocar <ilya.tocar@intel.com>
8798
8799 * testsuite/lib/libgomp.exp
8800 (check_effective_target_offload_device): New.
8801 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8802 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8803 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8804 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8805 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8806 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8807 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8808 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8809 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8810 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8811 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8812 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8813 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8814 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8815 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8816 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8817 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8818 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8819 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8820 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8821 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8822 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8823 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8824 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8825 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8826 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8827 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8828 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8829 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8830 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8831 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8832 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8833 * testsuite/libgomp.c/target-7.c: Fix test.
8834 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8835 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8836 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8837 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8838 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8839 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8840 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8841 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8842 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8843 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8844 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8845 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8846 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8847 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8848 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8849 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8850 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8851 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8852 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8853 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8854 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8855 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8856 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8857 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8858 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8859 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8860 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8861 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8862 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8863 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8864 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8865
1df3f842
JJ
88662014-11-13 Jakub Jelinek <jakub@redhat.com>
8867 Ilya Verbin <ilya.verbin@intel.com>
8868 Thomas Schwinge <thomas@codesourcery.com>
8869 Andrey Turetskiy <andrey.turetskiy@intel.com>
8870
8871 * libgomp.map (GOMP_4.0.1): New symbol version.
8872 Add GOMP_offload_register.
8873 * libgomp_target.h: New file.
8874 * splay-tree.h: New file.
8875 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8876 (gomp_target_init): New forward declaration.
8877 (gomp_is_initialized): New static variable.
8878 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8879 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8880 New structures.
8881 (offload_images, num_offload_images, devices, num_devices): New static
8882 variables.
8883 (splay_compare): New static function.
8884 (struct gomp_device_descr): New structure.
8885 (gomp_get_num_devices): Call gomp_target_init.
8886 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8887 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8888 (GOMP_offload_register): New function.
8889 (GOMP_target): Arrange for host callback to be performed in a separate
8890 initial thread and contention group, inheriting ICVs from
8891 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8892 Add device initialization and lookup for target function in splay tree.
8893 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8894 (GOMP_target_end_data): Call gomp_unmap_vars.
8895 (GOMP_target_update): Add device initialization and call gomp_update.
8896 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8897 (gomp_target_init): New static functions.
8898
85c64bbe
BS
88992014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8900 Thomas Schwinge <thomas@codesourcery.com>
8901 Ilya Verbin <ilya.verbin@intel.com>
8902 Andrey Turetskiy <andrey.turetskiy@intel.com>
8903
8904 * config.h.in: Regenerate.
8905 * configure: Regenerate.
8906 * configure.ac: Check for libdl, required for plugin support.
8907 (PLUGIN_SUPPORT): Define if plugins are supported.
8908 (enable_offload_targets): Support Intel MIC targets.
8909 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8910
ebf6d33b
FXC
89112014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8912
8913 PR target/63610
8914 * configure: Regenerate.
8915
8c768629
RO
89162014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8917
8918 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8919
c1d62412
MP
89202014-10-06 Marek Polacek <polacek@redhat.com>
8921
8922 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8923 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8924 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8925 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8926
44a0c6cb
MP
89272014-10-06 Marek Polacek <polacek@redhat.com>
8928
8929 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8930 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8931 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8932 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8933 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8934 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8935 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8936 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8937 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8938 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8939 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8940 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8941 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8942 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8943 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8944 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8945 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8946 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8947 declarations.
8948
5771c391
JJ
89492014-10-03 Jakub Jelinek <jakub@redhat.com>
8950
8951 PR libgomp/61200
8952 * testsuite/libgomp.c/pr61200.c: New test.
8953
bce16b88
JJ
89542014-09-18 Jakub Jelinek <jakub@redhat.com>
8955
8956 PR c++/63248
8957 * testsuite/libgomp.c++/pr63248.C: New test.
8958
3696163c
JJ
89592014-08-04 Jakub Jelinek <jakub@redhat.com>
8960
8961 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8962 is not zero, but taskgroup->children is NULL and there are
8963 any task->children, schedule those instead of waiting.
8964 * testsuite/libgomp.c/depend-6.c: New test.
8965 * testsuite/libgomp.c/depend-7.c: New test.
8966 * testsuite/libgomp.c/depend-8.c: New test.
8967 * testsuite/libgomp.c/depend-9.c: New test.
8968 * testsuite/libgomp.c/depend-10.c: New test.
8969
0494285a
JJ
89702014-08-01 Jakub Jelinek <jakub@redhat.com>
8971
8972 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8973 (struct gomp_taskwait): New type.
8974 (struct gomp_task): Add taskwait and parent_depends_on, remove
8975 in_taskwait and taskwait_sem fields.
8976 (gomp_finish_task): Don't destroy taskwait_sem.
8977 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8978 taskwait and parent_depends_on.
8979 (GOMP_task): For if (0) tasks with depend clause that depend on
8980 earlier tasks don't defer them, instead call
8981 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8982 Initialize redundant_out field, for redundant out entries just
8983 move them at the end of linked list instead of removing them
8984 completely, and set redundant_out flag instead of redundant.
8985 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8986 that task.
8987 (gomp_task_run_post_handle_dependers): If parent is in
8988 gomp_task_maybe_wait_for_dependencies and newly runnable task
8989 is not parent_depends_on, queue it in parent->children linked
8990 list after all runnable tasks with parent_depends_on set.
8991 Adjust for addition of taskwait indirection.
8992 (gomp_task_run_post_remove_parent): If parent is in
8993 gomp_task_maybe_wait_for_dependencies and task to be removed
8994 is parent_depends_on, decrement n_depend and if needed awake
8995 parent. Adjust for addition of taskwait indirection.
8996 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8997 (gomp_task_maybe_wait_for_dependencies): New function.
8998 * testsuite/libgomp.c/depend-5.c: New test.
8999
60ab4b44
TB
90002014-07-13 Tobias Burnus <burnus@net-b.de>
9001
9002 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 9003 with TS 18508/Fortran 2015.
60ab4b44 9004
773ec47f
MP
90052014-07-06 Marek Polacek <polacek@redhat.com>
9006
9007 PR c/6940
9008 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9009
f707da16
JJ
90102014-07-03 Jakub Jelinek <jakub@redhat.com>
9011
9012 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9013 matches regex $lang_source_re, add $lang_include_flags to options.
9014 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9015 * testsuite/libgomp.c++/c++.exp: Likewise.
9016 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9017 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9018 ALWAYS_CFLAGS.
9019 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9020
07b6c044
TS
90212014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9022
9023 * testsuite/libgomp.fortran/fortran.exp: Explain
9024 gfortran-dg-runtest usage.
9025
da6f124d
JJ
90262014-06-25 Jakub Jelinek <jakub@redhat.com>
9027
9028 * testsuite/libgomp.fortran/simd5.f90: New test.
9029 * testsuite/libgomp.fortran/simd6.f90: New test.
9030 * testsuite/libgomp.fortran/simd7.f90: New test.
9031
b46ebd6c
JJ
90322014-06-24 Jakub Jelinek <jakub@redhat.com>
9033
56ad0e38
JJ
9034 * testsuite/libgomp.c/for-2.c: Define SC to static for
9035 #pragma omp for simd testing.
9036 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9037 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9038 SC macro.
9039 * testsuite/libgomp.c/simd-14.c: New test.
9040 * testsuite/libgomp.c/simd-15.c: New test.
9041 * testsuite/libgomp.c/simd-16.c: New test.
9042 * testsuite/libgomp.c/simd-17.c: New test.
9043 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9044 #pragma omp for simd testing.
9045 * testsuite/libgomp.c++/simd10.C: New test.
9046 * testsuite/libgomp.c++/simd11.C: New test.
9047 * testsuite/libgomp.c++/simd12.C: New test.
9048 * testsuite/libgomp.c++/simd13.C: New test.
9049
b46ebd6c
JJ
9050 * testsuite/libgomp.fortran/aligned1.f03: New test.
9051 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9052 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9053 tasks with !$omp parallel !$omp single.
9054 * testsuite/libgomp.fortran/target8.f90: New test.
9055 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9056 not to use trim in the combiner, instead call elemental function.
9057 (fn): New elemental function.
9058 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9059 Make elemental.
9060 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9061 omp_in): Likewise.
9062 * testsuite/libgomp.fortran/udr12.f90: New test.
9063 * testsuite/libgomp.fortran/udr13.f90: New test.
9064 * testsuite/libgomp.fortran/udr14.f90: New test.
9065 * testsuite/libgomp.fortran/udr15.f90: New test.
9066
f014c653
JJ
90672014-06-18 Jakub Jelinek <jakub@redhat.com>
9068
9069 * omp_lib.f90.in (openmp_version): Set to 201307.
9070 * omp_lib.h.in (openmp_version): Likewise.
9071 * testsuite/libgomp.c/target-8.c: New test.
9072 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9073 and inbranch clauses.
9074 * testsuite/libgomp.fortran/depend-3.f90: New test.
9075 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9076 openmp_version.
9077 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9078 * testsuite/libgomp.fortran/target1.f90: New test.
9079 * testsuite/libgomp.fortran/target2.f90: New test.
9080 * testsuite/libgomp.fortran/target3.f90: New test.
9081 * testsuite/libgomp.fortran/target4.f90: New test.
9082 * testsuite/libgomp.fortran/target5.f90: New test.
9083 * testsuite/libgomp.fortran/target6.f90: New test.
9084 * testsuite/libgomp.fortran/target7.f90: New test.
9085
92d28cbb
JJ
90862014-06-10 Jakub Jelinek <jakub@redhat.com>
9087
9088 PR fortran/60928
9089 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9090 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9091 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9092 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9093 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9094 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9095 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9096 * testsuite/libgomp.fortran/associate1.f90: New test.
9097 * testsuite/libgomp.fortran/associate2.f90: New test.
9098 * testsuite/libgomp.fortran/procptr1.f90: New test.
9099
5f23671d
JJ
91002014-06-06 Jakub Jelinek <jakub@redhat.com>
9101
9102 * testsuite/libgomp.fortran/simd1.f90: New test.
9103 * testsuite/libgomp.fortran/udr1.f90: New test.
9104 * testsuite/libgomp.fortran/udr2.f90: New test.
9105 * testsuite/libgomp.fortran/udr3.f90: New test.
9106 * testsuite/libgomp.fortran/udr4.f90: New test.
9107 * testsuite/libgomp.fortran/udr5.f90: New test.
9108 * testsuite/libgomp.fortran/udr6.f90: New test.
9109 * testsuite/libgomp.fortran/udr7.f90: New test.
9110 * testsuite/libgomp.fortran/udr8.f90: New test.
9111 * testsuite/libgomp.fortran/udr9.f90: New test.
9112 * testsuite/libgomp.fortran/udr10.f90: New test.
9113 * testsuite/libgomp.fortran/udr11.f90: New test.
9114
0389fbb5
UB
91152014-05-27 Uros Bizjak <ubizjak@gmail.com>
9116
9117 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9118 vect_simd_clones effective target.
9119 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9120
decaaec8
JJ
91212014-05-21 Jakub Jelinek <jakub@redhat.com>
9122
9123 PR middle-end/61252
9124 * testsuite/libgomp.c++/simd-9.C: New test.
9125
72832460
UB
91262014-05-18 Uros Bizjak <ubizjak@gmail.com>
9127
9128 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9129 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9130 texts according to their @menu entry positions.
9131
dd2fc525
JJ
91322014-05-11 Jakub Jelinek <jakub@redhat.com>
9133
9134 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9135 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9136 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9137 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9138 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9139 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9140 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9141 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9142 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9143 * testsuite/libgomp.fortran/depend-1.f90: New test.
9144 * testsuite/libgomp.fortran/depend-2.f90: New test.
9145 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9146 * testsuite/libgomp.fortran/simd1.f90: New test.
9147 * testsuite/libgomp.fortran/simd2.f90: New test.
9148 * testsuite/libgomp.fortran/simd3.f90: New test.
9149 * testsuite/libgomp.fortran/simd4.f90: New test.
9150 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9151
95782571
JJ
91522014-05-02 Jakub Jelinek <jakub@redhat.com>
9153
9154 * testsuite/libgomp.c/simd-10.c: New test.
9155 * testsuite/libgomp.c/simd-11.c: New test.
9156 * testsuite/libgomp.c/simd-12.c: New test.
9157 * testsuite/libgomp.c/simd-13.c: New test.
9158
f7468577
JJ
91592014-04-24 Jakub Jelinek <jakub@redhat.com>
9160
42056eac
JJ
9161 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9162 atomic type clauses in any order and optional comma in between.
9163 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9164 * testsuite/libgomp.c/atomic-17.c: Likewise.
9165
f7468577
JJ
9166 * testsuite/libgomp.c/simd-7.c: New test.
9167 * testsuite/libgomp.c/simd-8.c: New test.
9168 * testsuite/libgomp.c/simd-9.c: New test.
9169 * testsuite/libgomp.c/loop-16.c: New test.
9170
ab18f2f5
RH
91712014-04-02 Richard Henderson <rth@redhat.com>
9172
9173 * config/linux/futex.h (futex_wait): Get error value from errno.
9174 (futex_wake): Likewise.
9175
8bcc90b0
JJ
91762014-03-25 Jakub Jelinek <jakub@redhat.com>
9177
9178 PR c++/60331
9179 * testsuite/libgomp.c++/udr-11.C: New test.
9180 * testsuite/libgomp.c++/udr-12.C: New test.
9181 * testsuite/libgomp.c++/udr-13.C: New test.
9182 * testsuite/libgomp.c++/udr-14.C: New test.
9183 * testsuite/libgomp.c++/udr-15.C: New test.
9184 * testsuite/libgomp.c++/udr-16.C: New test.
9185 * testsuite/libgomp.c++/udr-17.C: New test.
9186 * testsuite/libgomp.c++/udr-18.C: New test.
9187 * testsuite/libgomp.c++/udr-19.C: New test.
9188
18d73c7f
RS
91892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9190
9191 Update copyright years
9192
f9030485
RS
91932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9194
9195 * hashtab.h: Use the standard form for the copyright notice.
9196
98db73df
TB
91972014-01-02 Tobias Burnus <burnus@net-b.de>
9198
9199 * libgomp.texi: Bump @copying's copyright year.
9200
ae246f7f
AT
92012013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9202
93d90219 9203 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
9204 alloca () with __builtin_alloca ().
9205 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9206 * testsuite/libgomp.c/lock-3.c: Likewise.
9207 * testsuite/libgomp.c/pr48591.c: Likewise.
9208
fa00a5fe
JJ
92092013-12-17 Jakub Jelinek <jakub@redhat.com>
9210
9211 PR testsuite/59534
9212 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9213 comparisons.
9214
e9792e1d
JJ
92152013-12-16 Jakub Jelinek <jakub@redhat.com>
9216
9217 PR libgomp/58756
9218 * testsuite/libgomp.c/pr58756.c: New test.
9219
cab37c89
JJ
92202013-12-12 Jakub Jelinek <jakub@redhat.com>
9221
9222 PR libgomp/59467
9223 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9224 !$omp parallel.
9225
de14871c
TS
92262013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9227
1707a5de
TS
9228 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9229 ALWAYS_CFLAGS.
9230 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9231 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9232 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9233 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9234 Likewise.
9235
70f05c43
TS
9236 * libgomp_g.h: Include <stddef.h> for size_t.
9237
de14871c
TS
9238 * libgomp.spec.in: Update comment about libgomp's dependencies.
9239 * configure.ac: Likewise.
9240 * configure: Regenerate.
9241
83fd6c5b
TB
92422013-10-16 Tobias Burnus <burnus@net-b.de>
9243
9244 * libgomp.texi: (Runtime Library Routines): Update references for
9245 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9246 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9247 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9248 (Environment Variables): Update references for OpenMP 4.0. Add
9249 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9250 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9251 order.
9252
c8673881
JJ
92532013-10-14 Jakub Jelinek <jakub@redhat.com>
9254
9255 * env.c (parse_bind_var): Initialize value to avoid
9256 (false positive) warning.
9257
f89163fd
JJ
92582013-10-12 Jakub Jelinek <jakub@redhat.com>
9259
9260 PR libgomp/58691
9261 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9262 to check variable.
9263 (gomp_init_num_threads): Move i variable declaration into
9264 #ifdef CPU_ALLOC_SIZE block.
9265 * config/linux/affinity.c (gomp_affinity_init_level): Test
9266 gomp_places_list_len == 0 rather than gomp_places_list == 0
9267 when checking for topology reading error.
9268 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9269 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9270 gomp_places_list, only parse env var and always return false.
9271 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9272 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9273 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9274 and either of these variables were parsed correctly into a places
9275 list.
9276
1d340638
TS
92772013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9278 Jakub Jelinek <jakub@redhat.com>
9279
9280 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9281 of 5 loopfn matches.
9282 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9283 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9284 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9285 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9286 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9287 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9288 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9289 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9290
71a81c21
TS
92912013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9292
bd87f731
TS
9293 * Makefile.am (omp_lib.mod): Streamline rule.
9294 * Makefile.in: Regenerate.
9295
f5745bed
TS
9296 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9297 exceptions.
9298
b5512c66
TS
9299 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9300 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9301 * testsuite/libgomp.fortran/lib2.f: Likewise.
9302 * testsuite/libgomp.fortran/lib3.f: Likewise.
9303
451c19c4
TS
9304 * configure.ac: Typo fix.
9305 * configure: Regenerate.
9306
86a6016d
TS
9307 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9308 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9309
71a81c21
TS
9310 * omp.h.in: Don't touch the user's namespace.
9311
acf0174b
JJ
93122013-10-11 Jakub Jelinek <jakub@redhat.com>
9313 Tobias Burnus <burnus@net-b.de>
9314 Richard Henderson <rth@redhat.com>
9315
9316 * target.c: New file.
9317 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9318 * Makefile.in: Regenerated.
9319 * libgomp_g.h (GOMP_task): Add depend argument.
9320 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9321 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9322 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9323 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9324 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9325 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9326 GOMP_taskgroup_start, GOMP_taskgroup_end,
9327 GOMP_parallel_sections): New prototypes.
9328 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9329 (omp_is_initial_device_): New function.
9330 (ULP, STR1, STR2, ialias_redirect): Removed.
9331 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9332 omp_set_default_device_8_, omp_get_default_device_,
9333 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9334 functions.
9335 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9336 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9337 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9338 @@GOMP_4.0.
9339 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9340 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9341 omp_set_default_device, omp_set_default_device_,
9342 omp_set_default_device_8_, omp_get_default_device,
9343 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9344 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9345 omp_get_team_num_): Export @@OMP_4.0.
9346 * team.c (struct gomp_thread_start_data): Add place field.
9347 (gomp_thread_start): Clear thr->thread_pool and
9348 thr->task before returning. Use gomp_team_barrier_wait_final
9349 instead of gomp_team_barrier_wait. Initialize thr->place.
9350 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9351 team_cancelled and task_queued_count fields.
9352 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9353 before calling pthread_exit.
9354 (gomp_free_thread): No longer static. Use
9355 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9356 (gomp_team_start): Add flags argument. Set
9357 thr->thread_pool->threads_busy to nthreads immediately after creating
9358 new pool. Use gomp_managed_threads_lock instead of
9359 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9360 (gomp_team_end): Use gomp_managed_threads_lock instead of
9361 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9362 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 9363 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
9364 rather than thr->ts.work_share.
9365 (initialize_team): Don't call gomp_sem_init here.
9366 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9367 caller.
9368 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9369 * env.c (gomp_global_icv): Add default_device_var, target_data and
9370 bind_var initializers.
9371 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9372 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9373 gomp_places_list_len): New variables.
9374 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9375 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9376 sized places.
9377 (gomp_cancel_var): New global variable.
9378 (parse_int): New function.
9379 (handle_omp_display_env): New function.
9380 (initialize_env): Use it. Initialize default_device_var.
9381 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9382 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9383 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9384 been successfully parsed (and call gomp_init_affinity in that case).
9385 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9386 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9387 omp_get_team_num, omp_is_initial_device): New functions.
9388 * libgomp.h: Include stdlib.h.
9389 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9390 Define.
9391 (struct target_mem_desc): Forward declare.
9392 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9393 and thread_limit_var fields.
9394 (gomp_get_num_devices): New prototype.
9395 (gomp_cancel_var): New extern decl.
9396 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9397 team_cancelled and task_queued_count fields. Add comments about
9398 task_{,queued_,running_}count.
9399 (gomp_cancel_kind): New enum.
9400 (gomp_work_share_end_cancel): New prototype.
9401 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9402 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9403 and depend fields.
9404 (struct gomp_taskgroup): New type.
9405 (struct gomp_task_depend_entry,
9406 struct gomp_dependers_vec): New types.
9407 (gomp_finish_task): Free depend_hash if non-NULL.
9408 (struct gomp_team_state): Add place_partition_off
9409 and place_partition_len fields.
9410 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9411 gomp_places_list_len): New extern decls.
9412 (struct gomp_thread): Add place field.
9413 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9414 (gomp_init_thread_affinity): Add place argument.
9415 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9416 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9417 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9418 gomp_affinity_init_level, gomp_affinity_print_place): New
9419 prototypes.
9420 (gomp_team_start): Add flags argument.
9421 (gomp_thread_limit_var, gomp_remaining_threads_count,
9422 gomp_remaining_threads_lock): Remove.
9423 (gomp_managed_threads_lock): New variable.
9424 (struct gomp_thread_pool): Add threads_busy field.
9425 (gomp_free_thread): New prototype.
9426 * task.c: Include hashtab.h.
9427 (hash_entry_type): New typedef.
9428 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9429 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9430 copy_ctors_done and taskgroup fields.
9431 (GOMP_task): Add depend argument, handle depend clauses. If
9432 gomp_team_barrier_cancelled or if it's taskgroup has been
9433 cancelled, don't queue or start new tasks. Set copy_ctors_done
9434 field if needed. Initialize taskgroup field. If copy_ctors_done
9435 and already cancelled, don't discard the task. If taskgroup is
9436 non-NULL, enqueue the task into taskgroup queue. Increment
9437 num_children field in taskgroup. Increment task_queued_count.
9438 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9439 gomp_task_run_post_remove_taskgroup): New inline functions.
9440 (gomp_task_run_post_handle_depend_hash,
9441 gomp_task_run_post_handle_dependers,
9442 gomp_task_run_post_handle_depend): New functions.
9443 (GOMP_taskwait): Use them. If more than one new tasks
9444 have been queued, wake other threads if needed.
9445 (gomp_barrier_handle_tasks): Likewise. If
9446 gomp_team_barrier_cancelled, don't start any new tasks, just free
9447 all tasks.
9448 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9449 * omp_lib.f90.in
9450 (omp_proc_bind_kind, omp_proc_bind_false,
9451 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9452 omp_proc_bind_spread): New params.
9453 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9454 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9455 omp_get_team_num, omp_is_initial_device): New interfaces.
9456 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9457 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9458 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9459 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9460 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9461 useless use omp_lib_kinds.
9462 * omp.h.in (omp_proc_bind_t): New typedef.
9463 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9464 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9465 omp_get_team_num, omp_is_initial_device): New prototypes.
9466 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9467 through to gomp_team_start.
9468 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9469 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9470 Adjust gomp_parallel_loop_start callers.
9471 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9472 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9473 GOMP_loop_end_cancel): New functions.
9474 (GOMP_parallel_end): Add ialias_redirect.
9475 * hashtab.h: New file.
9476 * libgomp.texi (Environment Variables): Minor cleanup,
9477 update section refs to OpenMP 4.0rc2.
9478 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9479 environment variables.
9480 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9481 team->work_shares_to_free to thr->ts.work_share before calling
9482 free_work_share.
9483 (gomp_work_share_end_cancel): New function.
9484 * config/linux/proc.c: Include errno.h.
9485 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9486 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9487 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9488 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9489 gomp_cpuset_size is sizeof (cpu_set_t).
9490 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9491 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9492 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9493 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9494 contain any logical CPUs.
9495 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9496 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9497 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9498 pthread_getaffinity_np. Check gomp_places_list instead of
9499 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9500 * config/linux/bar.c (gomp_barrier_wait_end,
9501 gomp_barrier_wait_last): Use BAR_* defines.
9502 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9503 from state where needed. Set work_share_cancelled to 0 on last
9504 thread.
9505 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9506 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9507 functions.
9508 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9509 Add cpusetsize argument.
9510 (gomp_cpuset_size, gomp_cpusetp): Declare.
9511 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9512 (affinity_counter): Remove.
9513 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9514 if CPU_ALLOC_SIZE isn't defined.
9515 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9516 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9517 bind current thread to the first place.
9518 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9519 pthread_setaffinity_np to gomp_places_list[place].
9520 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9521 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9522 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9523 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9524 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9525 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9526 (gomp_barrier_t): Add awaited_final field.
9527 (gomp_barrier_init): Initialize awaited_final field.
9528 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9529 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9530 prototypes.
9531 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9532 defines.
9533 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9534 gomp_team_barrier_cancelled): New inline functions.
9535 (gomp_barrier_last_thread,
9536 gomp_team_barrier_set_task_pending,
9537 gomp_team_barrier_clear_task_pending,
9538 gomp_team_barrier_set_waiting_for_tasks,
9539 gomp_team_barrier_waiting_for_tasks,
9540 gomp_team_barrier_done): Use BAR_* defines.
9541 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9542 (gomp_barrier_wait_end): Use BAR_* defines.
9543 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9544 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9545 Use BAR_* defines.
9546 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9547 gomp_team_barrier_cancel): New functions.
9548 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9549 argument.
9550 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9551 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9552 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9553 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9554 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9555 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9556 (gomp_barrier_t): Add cancellable field.
9557 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9558 gomp_team_barrier_cancel): New prototypes.
9559 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9560 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9561 gomp_team_barrier_cancelled): New inline functions.
9562 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9563 gomp_team_barrier_set_task_pending,
9564 gomp_team_barrier_clear_task_pending,
9565 gomp_team_barrier_set_waiting_for_tasks,
9566 gomp_team_barrier_waiting_for_tasks,
9567 gomp_team_barrier_done): Use BAR_* defines.
9568 * barrier.c (GOMP_barrier_cancel): New function.
9569 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9570 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9571 omp_proc_bind_spread): New params.
9572 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9573 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9574 omp_get_team_num, omp_is_initial_device): New externals.
9575 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9576 New functions.
9577 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9578 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9579 infinity. If not nested, just return minimum of max_num_threads
9580 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9581 to the returned value. Otherwise, don't update atomically
9582 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9583 (GOMP_parallel_end): Adjust for thread_limit now being in
9584 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9585 infinity. Adjust threads_busy in the pool rather than
9586 gomp_remaining_threads_count. Remember team->nthreads and call
9587 gomp_team_end before adjusting threads_busy, if not nested
9588 afterwards, just set it to 1 non-atomically. Add ialias.
9589 (GOMP_parallel_start): Adjust gomp_team_start caller.
9590 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9591 * testsuite/libgomp.c/affinity-1.c: New test.
9592 * testsuite/libgomp.c/atomic-15.c: New test.
9593 * testsuite/libgomp.c/atomic-16.c: New test.
9594 * testsuite/libgomp.c/atomic-17.c: New test.
9595 * testsuite/libgomp.c/cancel-for-1.c: New test.
9596 * testsuite/libgomp.c/cancel-for-2.c: New test.
9597 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9598 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9599 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9600 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9601 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9602 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9603 * testsuite/libgomp.c/depend-1.c: New test.
9604 * testsuite/libgomp.c/depend-2.c: New test.
9605 * testsuite/libgomp.c/depend-3.c: New test.
9606 * testsuite/libgomp.c/depend-4.c: New test.
9607 * testsuite/libgomp.c/for-1.c: New test.
9608 * testsuite/libgomp.c/for-1.h: New file.
9609 * testsuite/libgomp.c/for-2.c: New test.
9610 * testsuite/libgomp.c/for-2.h: New file.
9611 * testsuite/libgomp.c/for-3.c: New test.
9612 * testsuite/libgomp.c/pr58392.c: New test.
9613 * testsuite/libgomp.c/simd-1.c: New test.
9614 * testsuite/libgomp.c/simd-2.c: New test.
9615 * testsuite/libgomp.c/simd-3.c: New test.
9616 * testsuite/libgomp.c/simd-4.c: New test.
9617 * testsuite/libgomp.c/simd-5.c: New test.
9618 * testsuite/libgomp.c/simd-6.c: New test.
9619 * testsuite/libgomp.c/target-1.c: New test.
9620 * testsuite/libgomp.c/target-2.c: New test.
9621 * testsuite/libgomp.c/target-3.c: New test.
9622 * testsuite/libgomp.c/target-4.c: New test.
9623 * testsuite/libgomp.c/target-5.c: New test.
9624 * testsuite/libgomp.c/target-6.c: New test.
9625 * testsuite/libgomp.c/target-7.c: New test.
9626 * testsuite/libgomp.c/taskgroup-1.c: New test.
9627 * testsuite/libgomp.c/thread-limit-1.c: New test.
9628 * testsuite/libgomp.c/thread-limit-2.c: New test.
9629 * testsuite/libgomp.c/thread-limit-3.c: New test.
9630 * testsuite/libgomp.c/udr-1.c: New test.
9631 * testsuite/libgomp.c/udr-2.c: New test.
9632 * testsuite/libgomp.c/udr-3.c: New test.
9633 * testsuite/libgomp.c++/affinity-1.C: New test.
9634 * testsuite/libgomp.c++/atomic-10.C: New test.
9635 * testsuite/libgomp.c++/atomic-11.C: New test.
9636 * testsuite/libgomp.c++/atomic-12.C: New test.
9637 * testsuite/libgomp.c++/atomic-13.C: New test.
9638 * testsuite/libgomp.c++/atomic-14.C: New test.
9639 * testsuite/libgomp.c++/atomic-15.C: New test.
9640 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9641 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9642 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9643 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9644 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9645 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9646 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9647 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9648 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9649 * testsuite/libgomp.c++/cancel-test.h: New file.
9650 * testsuite/libgomp.c++/for-9.C: New test.
9651 * testsuite/libgomp.c++/for-10.C: New test.
9652 * testsuite/libgomp.c++/for-11.C: New test.
9653 * testsuite/libgomp.c++/simd-1.C: New test.
9654 * testsuite/libgomp.c++/simd-2.C: New test.
9655 * testsuite/libgomp.c++/simd-3.C: New test.
9656 * testsuite/libgomp.c++/simd-4.C: New test.
9657 * testsuite/libgomp.c++/simd-5.C: New test.
9658 * testsuite/libgomp.c++/simd-6.C: New test.
9659 * testsuite/libgomp.c++/simd-7.C: New test.
9660 * testsuite/libgomp.c++/simd-8.C: New test.
9661 * testsuite/libgomp.c++/target-1.C: New test.
9662 * testsuite/libgomp.c++/target-2.C: New test.
9663 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9664 * testsuite/libgomp.c++/target-3.C: New test.
9665 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9666 * testsuite/libgomp.c++/udr-1.C: New test.
9667 * testsuite/libgomp.c++/udr-2.C: New test.
9668 * testsuite/libgomp.c++/udr-3.C: New test.
9669 * testsuite/libgomp.c++/udr-4.C: New test.
9670 * testsuite/libgomp.c++/udr-5.C: New test.
9671 * testsuite/libgomp.c++/udr-6.C: New test.
9672 * testsuite/libgomp.c++/udr-7.C: New test.
9673 * testsuite/libgomp.c++/udr-8.C: New test.
9674 * testsuite/libgomp.c++/udr-9.C: New test.
9675
bd599dea
JJ
96762013-09-20 Jakub Jelinek <jakub@redhat.com>
9677
9678 PR testsuite/57605
9679 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9680 ALWAYS_CFLAGS.
9681
3cbe17f7
AM
96822013-09-20 Alan Modra <amodra@gmail.com>
9683
9684 * configure: Regenerate.
9685
4befd127
JJ
96862013-09-19 Jakub Jelinek <jakub@redhat.com>
9687
9688 * testsuite/libgomp.c/sections-2.c: New test.
9689
946c8f7b
MS
96902013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9691
9692 * testsuite/libgomp.fortran/strassen.f90:
9693 Add dg-skip-if aarch64_tiny.
9694
1ef3b58e
IS
96952013-06-20 Iain Sandoe <iain@codesourcery.com>
9696 Cesar Philippidis <cesar@codesourcery.com>
9697
9698 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9699 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9700 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9701 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9702 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9703 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9704 Use dg-runtest rather than gfortran-dg-runtest.
9705
9275f73a
TS
97062013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9707
9708 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9709 Linux-based x86 systems to cover all GNU systems.
9710 * testsuite/libgomp.c/lock-3.c: Likewise.
9711 * testsuite/libgomp.c/pr48591.c: Likewise.
9712
492992e2
TS
97132013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9714
48df3acb
TS
9715 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9716 GNU/Hurd, as done for Linux-based systems.
9717
492992e2
TS
9718 * config/posix/ptrlock.h: Fix comment.
9719
4fed6b25
TB
97202013-05-27 Tobias Burnus <burnus@net-b.de>
9721
9722 PR fortran/57423
9723 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9724 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9725 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9726 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9727 omp_destroy_nest_lock): Correct arguments to match the one in
9728 the OpenMP spec.
9729 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9730 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9731 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9732 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9733
5a0f4dd3
JJ
97342013-05-16 Jakub Jelinek <jakub@redhat.com>
9735
9736 * testsuite/libgomp.c/loop-13.c: New test.
9737 * testsuite/libgomp.c/loop-14.c: New test.
9738 * testsuite/libgomp.c/loop-15.c: New test.
9739 * testsuite/libgomp.c++/loop-13.C: New test.
9740 * testsuite/libgomp.c++/loop-14.C: New test.
9741 * testsuite/libgomp.c++/loop-15.C: New test.
9742
6d840d99
JJ
97432013-02-06 Jakub Jelinek <jakub@redhat.com>
9744
9745 PR middle-end/56217
9746 * testsuite/libgomp.c++/pr56217.C: New test.
9747
bed8d8a6
AM
97482013-02-01 Alan Modra <amodra@gmail.com>
9749
9750 * task.c (GOMP_task, GOMP_taskwait): Comment.
9751
3b35cd04
DV
97522013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9753 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9754
9755 PR libgomp/55561
9756 * config/linux/wait.h (do_spin): Use atomic load for addr.
9757 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9758 for intptr and ptrlock.
9759 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9760 for ptrlock.
9761
9a647288
AM
97622013-01-22 Alan Modra <amodra@gmail.com>
9763
9764 PR libgomp/51376
9765 PR libgomp/56073
9766 * task.c (GOMP_task): Revert 2011-12-09 change.
9767 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9768 barrier to read task->children..
9769 (gomp_barrier_handle_tasks): ..and matching atomic store with
9770 release barrier here when setting parent->children to NULL.
9771
f34dea03
JJ
97722013-01-16 Jakub Jelinek <jakub@redhat.com>
9773 Tobias Burnus <burnus@net-b.de>
9774
9775 PR driver/55884
9776 * testsuite/libgomp.fortran/fortran.exp: Use
9777 -fintrinsic-modules-path= instead of
9778 -fintrinsic-modules-path.
9779
8129609c
RS
97802013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9781
9782 Update copyright years.
9783
aa86bf1e
TB
97842012-12-19 Tobias Burnus <burnus@net-b.de>
9785
9786 * testsuite/libgomp.fortran/fortran.exp: Set
9787 -fintrinsic-modules-path.
9788
2865ea66
TB
97892012-12-19 Tobias Burnus <burnus@net-b.de>
9790
9791 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9792 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9793
4c5ba8d0
JJ
97942012-11-21 Jakub Jelinek <jakub@redhat.com>
9795
9796 PR libgomp/55411
9797 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9798 if pool had any threads_used.
9799
e9f958c2
JH
98002012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9801
9802 * testsuite/libgomp.c++/pr24455.C: Use
9803 -Wl,-undefined,dynamic_lookup on darwin.
9804
a57d75dc
DE
98052012-11-07 David Edelsohn <dje.gcc@gmail.com>
9806
9807 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9808
c6c08485
DH
98092012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9810
9811 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9812
c1f37c00
IB
98132012-10-23 Ian Bolton <ian.bolton@arm.com>
9814 Jim MacArthur <jim.macarthur@arm.com>
9815 Marcus Shawcroft <marcus.shawcroft@arm.com>
9816 Nigel Stephens <nigel.stephens@arm.com>
9817 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9818 Richard Earnshaw <rearnsha@arm.com>
9819 Sofiane Naci <sofiane.naci@arm.com>
9820 Stephen Thomas <stephen.thomas@arm.com>
9821 Tejas Belagod <tejas.belagod@arm.com>
9822 Yufeng Zhang <yufeng.zhang@arm.com>
9823
9824 * configure.tgt: Add AArch64.
9825
7c424acd
JM
98262012-10-04 Jason Merrill <jason@redhat.com>
9827
9828 * testsuite/libgomp.c++/tls-init1.C: New.
9829
6608378b
DE
98302012-09-14 David Edelsohn <dje.gcc@gmail.com>
9831
9832 * configure: Regenerated.
9833
c24dbebb
CLT
98342012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9835
9836 * config/linux/mips/futex.h (sys_futex0): Change to static
9837 function with noinline, nomips16 attributes under MIPS16. Adjust
9838 asm statement to place 'li v0,SYS_futex' immediately before
9839 syscall insn.
9840
3d3949df
SL
98412012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9842
9843 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9844 conflict with index.html on case-insensitive file systems.
9845
68a12ef3
UB
98462012-07-03 Uros Bizjak <ubizjak@gmail.com>
9847
9848 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9849 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9850
33ad93b9 98512012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
9852 Michael Matz <matz@suse.de>
9853 Tobias Grosser <tobias@grosser.es>
9854 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
9855
9856 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9857 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9858 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9859 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9860
e6fdc918
AS
98612012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9862
9863 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9864
62e0a1ed
RG
98652012-06-22 Richard Guenther <rguenther@suse.de>
9866
9867 Merge from graphite branch
9868 2012-01-13 Tobias Grosser <tobias@grosser.es>
9869
9870 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9871 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9872
26127932
JJ
98732012-06-07 Jakub Jelinek <jakub@redhat.com>
9874
9875 PR middle-end/53580
9876 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9877 use GOMP_barrier () call instead.
9878 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9879 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9880 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9881 call GOMP_barrier instead.
9882 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9883
43fa5db5
JJ
98842012-06-06 Jakub Jelinek <jakub@redhat.com>
9885
9886 PR libgomp/52993
9887 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9888 argument to memset call.
9889
e6d5f8c9
L
98902012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9891
9892 * configure: Regenerated.
9893
559d990c
MLI
98942012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9895
9896 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9897
b9c23a61
L
98982012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9899
9900 PR bootstrap/52812
9901 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9902
c140ddf3
JJ
99032012-03-22 Jakub Jelinek <jakub@redhat.com>
9904
9905 PR middle-end/52547
9906 * testsuite/libgomp.c/pr52547.c: New test.
9907
6a26a74d
BRF
99082012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9909
9910 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9911
b24513a1
RO
99122012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9913
9914 * configure.tgt (mips-sgi-irix6*): Remove.
9915
5c30094f
RO
99162012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9917
9918 * configure.tgt (alpha*-dec-osf*): Remove.
9919
9920 * config/osf/sem.h: Remove.
9921 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9922
a339c9d6
EB
99232012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9924
9925 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9926
cc2de92d
RO
99272012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9928
9929 PR libstdc++/52188
9930 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9931 Remove ENABLE_SYMVERS_SOL2.
9932 * configure: Regenerate.
9933 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9934 (PREPROCESS): New variable.
9935 (libgomp.ver): New target.
9936 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9937 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9938 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9939 Use libgomp.ver.
9940 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9941 * Makefile.in: Regenerate.
9942
dd552284
WL
99432012-02-14 Walter Lee <walt@tilera.com>
9944
9945 * configure.tgt: Handle tilegx and tilepro.
9946 * config/linux/tile/futex.h: New file.
9947
31432e21
RG
99482012-02-08 Richard Guenther <rguenther@suse.de>
9949
9950 PR tree-optimization/46886
9951 * testsuite/libgomp.c/pr46886.c: New testcase.
9952
b9264b5f
MK
99532012-01-25 Matthias Klose <doko@ubuntu.com>
9954
9955 * config/linux/arm: Remove empty directory.
9956 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9957
fbf7be80
AM
99582011-12-09 Alan Modra <amodra@gmail.com>
9959
9960 PR libgomp/51376
9961 * task.c (GOMP_taskwait): Don't access task->children outside of
9962 task_lock mutex region.
9963 (GOMP_task): Likewise.
9964
5de62d00
JJ
99652011-12-06 Jakub Jelinek <jakub@redhat.com>
9966
9967 PR libgomp/51132
9968 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9969 to file scope.
9970 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9971 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9972 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9973 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9974 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9975
45608a43
AM
99762011-12-02 Alan Modra <amodra@gmail.com>
9977
9978 * config/linux/affinity.c: Use atomic rather than sync builtin.
9979 * config/linux/lock.c: Likewise.
9980 * config/linux/ptrlock.h: Likewise.
9981 * config/linux/ptrlock.c: Likewise.
9982 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9983 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9984 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9985 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9986 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9987 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9988 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9989 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9990 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9991 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9992
ab6dd406
AM
99932011-11-30 Alan Modra <amodra@gmail.com>
9994
9995 PR libgomp/51298
9996 * config/linux/bar.h: Use atomic rather than sync builtins.
9997 * config/linux/bar.c: Likewise. Add missing acquire
9998 synchronisation on generation field.
9999 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10000 double unlock.
10001
b40c885f
AM
100022011-11-30 Alan Modra <amodra@gmail.com>
10003
10004 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10005 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10006 * config/linux/mutex.h: Use atomic rather than sync builtins.
10007 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10008 * config/linux/omp-lock.h: Comment fix.
10009 * config/linux/arm/mutex.h: Delete.
10010 * config/linux/powerpc/mutex.h: Delete.
10011 * config/linux/ia64/mutex.h: Delete.
10012 * config/linux/mips/mutex.h: Delete.
10013
3e348fcc
AM
100142011-11-30 Alan Modra <amodra@gmail.com>
10015
10016 PR libgomp/51249
10017 * config/linux/sem.h: Rewrite.
10018 * config/linux/sem.c: Rewrite.
10019
cef86eb2
RH
100202011-11-28 Richard Henderson <rth@redhat.com>
10021
10022 * libgomp.h (enum memmodel): New.
10023
c6084f68
AT
100242011-11-21 Andreas Tobler <andreast@fgznet.ch>
10025
10026 * configure: Regenerate.
10027
06fe026c
MK
100282011-10-10 Matthias Klose <doko@ubuntu.com>
10029
10030 * config/posix95: Remove empty directory.
10031
a6c975bd
JJ
100322011-08-26 Jakub Jelinek <jakub@redhat.com>
10033
10034 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10035
c26dffff
JJ
100362011-08-19 Jakub Jelinek <jakub@redhat.com>
10037
10038 PR fortran/49792
10039 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10040 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10041
ddaad3c8
RO
100422011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10043
10044 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10045
98d03683
RO
100462011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10047
10048 PR libgomp/49965
10049 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10050
e0b23d9f
UB
100512011-08-03 Uros Bizjak <ubizjak@gmail.com>
10052
10053 * config/linux/proc.h: New.
10054 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10055 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10056 (gomp_init_num_threads): Update call to cpuset_popcount.
10057 (get_num_procs): Ditto.
10058 * config/linux/affinity.c (gomp_init_affinity): Call
10059 gomp_cpuset_popcount.
10060
20906c66
JJ
100612011-08-02 Jakub Jelinek <jakub@redhat.com>
10062
10063 PR fortran/42041
10064 PR fortran/46752
10065 * omp.h.in (omp_in_final): New prototype.
10066 * omp_lib.f90.in (omp_in_final): New interface.
10067 (omp_integer_kind, omp_logical_kind): Remove
10068 and replace all its uses in the module with 4.
10069 (openmp_version): Change to 201107.
10070 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10071 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10072 kind for the parameters.
10073 (omp_in_final): New external.
10074 (openmp_version): Change to 201107.
10075 * task.c (omp_in_final): New function.
10076 (gomp_init_task): Initialize final_task.
10077 (GOMP_task): Remove unused attribute from flags. Handle final
10078 tasks.
10079 (GOMP_taskyield): New function.
10080 (omp_in_final): Return true if if (false) or final (true) task
10081 or descendant of final (true).
10082 * fortran.c (omp_in_final_): New function.
10083 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10084 (GOMP_3.0): Export GOMP_taskyield.
10085 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10086 variables.
10087 (parse_unsigned_long_list): New function.
10088 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10089 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10090 even if parse_affinity returned false.
10091 * config/linux/affinity.c (gomp_init_affinity): Handle
10092 gomp_cpu_affinity_len == 0.
10093 * libgomp_g.h (GOMP_taskyield): New prototype.
10094 * libgomp.h (struct gomp_task): Add final_task field.
10095 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10096 * team.c (gomp_team_start): Override new task's nthreads_var icv
10097 if list form OMP_NUM_THREADS has been used and it has value for
10098 the new nesting level.
10099
10100 * testsuite/libgomp.c/atomic-11.c: New test.
10101 * testsuite/libgomp.c/atomic-12.c: New test.
10102 * testsuite/libgomp.c/atomic-13.c: New test.
10103 * testsuite/libgomp.c/atomic-14.c: New test.
10104 * testsuite/libgomp.c/reduction-6.c: New test.
10105 * testsuite/libgomp.c/task-5.c: New test.
10106 * testsuite/libgomp.c++/atomic-2.C: New test.
10107 * testsuite/libgomp.c++/atomic-3.C: New test.
10108 * testsuite/libgomp.c++/atomic-4.C: New test.
10109 * testsuite/libgomp.c++/atomic-5.C: New test.
10110 * testsuite/libgomp.c++/atomic-6.C: New test.
10111 * testsuite/libgomp.c++/atomic-7.C: New test.
10112 * testsuite/libgomp.c++/atomic-8.C: New test.
10113 * testsuite/libgomp.c++/atomic-9.C: New test.
10114 * testsuite/libgomp.c++/task-8.C: New test.
10115 * testsuite/libgomp.c++/reduction-4.C: New test.
10116 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10117 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10118 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10119 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10120 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10121 * testsuite/libgomp.fortran/pointer1.f90: New test.
10122 * testsuite/libgomp.fortran/pointer2.f90: New test.
10123 * testsuite/libgomp.fortran/task4.f90: New test.
10124
101252011-08-02 Tobias Burnus <burnus@net-b.de>
10126
10127 * libgomp.texi: Update OpenMP spec references to 3.1.
10128 (omp_in_final,OMP_PROC_BIND): New sections.
10129 (OMP_NUM_THREADS): Document that the value can be now a list.
10130 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10131
c01ecafc
L
101322011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10133
10134 * config/linux/x86/futex.h: Check __x86_64__ instead of
10135 __LP64__.
10136
25142650
JJ
101372011-07-29 Jakub Jelinek <jakub@redhat.com>
10138
10139 PR middle-end/49897
10140 PR middle-end/49898
10141 * testsuite/libgomp.c/pr49897-1.c: New test.
10142 * testsuite/libgomp.c/pr49897-2.c: New test.
10143 * testsuite/libgomp.c/pr49898-1.c: New test.
10144 * testsuite/libgomp.c/pr49898-2.c: New test.
10145
f53d712f
L
101462011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10147
10148 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10149 for ia32 instead of ilp32.
10150
10151 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10152 * testsuite/libgomp.c/atomic-6.c: Likewise.
10153
3689198d
SP
101542011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10155
10156 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10157 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10158
1a79cb73
RO
101592011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10160
10161 PR libgomp/45351
10162 * config/osf/sem.h: New file.
10163 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10164
c1f51484
RO
101652011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10166
10167 PR target/49541
10168 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10169 ldflags.
10170
bfee0724
JJ
101712011-07-15 Jakub Jelinek <jakub@redhat.com>
10172
10173 * config/linux/wait.h (do_spin): New inline, largely copied
10174 from do_wait, just don't do futex_wait here, instead return true if
10175 it should be done.
10176 (do_wait): Implement using do_spin.
10177 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10178 to prototype.
10179 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10180 __sync_bool_compare_and_swap, pass the oldval to
10181 gomp_mutex_lock_slow.
10182 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10183 If all mutex contenders are just spinning and not sleeping, don't
10184 change state to 2 unnecessarily. Optimize the loop when state has
10185 already become 2 to use just one atomic operation per loop instead
10186 of two.
10187 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10188 to prototype.
10189 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10190 __sync_bool_compare_and_swap, pass the oldval to
10191 gomp_mutex_lock_slow.
10192
fb79f500
JJ
101932011-06-22 Jakub Jelinek <jakub@redhat.com>
10194
10195 PR libgomp/49490
10196 * iter.c (gomp_iter_static_next): For chunk size 0
10197 only use n ceil/ nthreads size for the first
10198 n % nthreads threads in the team instead of
10199 all threads except for the last few ones which
10200 get less work or none at all.
10201 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10202 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10203 chunk argument, set run_sched_modifier to 0 for static
10204 resp. 1 for other kinds. If chunk argument is 0
10205 and not static, set value to 1.
10206
4577f730
JJ
102072011-05-19 Jakub Jelinek <jakub@redhat.com>
10208
ea93a47b
JJ
10209 PR c++/49043
10210 * testsuite/libgomp.c++/pr49043.C: New test.
10211
4577f730
JJ
10212 PR c++/48869
10213 * testsuite/libgomp.c++/pr48869.C: New test.
10214
e7385332
JJ
102152011-05-06 Jakub Jelinek <jakub@redhat.com>
10216
10217 PR fortran/48894
10218 * fortran.c: Include limits.h.
10219 (TO_INT): Define.
10220 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10221 *set.
10222 (omp_set_num_threads_8_, omp_set_schedule_8_,
10223 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10224 omp_get_team_size_8_): Use TO_INT macro.
10225 * testsuite/libgomp.fortran/pr48894.f90: New test.
10226
20790697
JJ
102272011-04-13 Jakub Jelinek <jakub@redhat.com>
10228
10229 PR middle-end/48591
10230 * testsuite/libgomp.c/pr48591.c: New test.
10231
bf382f5f
RO
102322011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10233
10234 PR bootstrap/48135
10235 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10236 * configure: Regenerate.
10237
113a53c1
JJ
102382011-02-27 Jakub Jelinek <jakub@redhat.com>
10239
10240 PR fortran/47886
10241 * testsuite/libgomp.fortran/task3.f90: New test.
10242
0024f1af
TB
102432011-02-24 Tobias Burnus <burnus@net-b.de>
10244
10245 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10246
21e1e594
JJ
102472011-02-23 Jakub Jelinek <jakub@redhat.com>
10248
10249 PR libgomp/47854
10250 * libgomp.texi (omp_get_wtime): Don't say time in the past
10251 must be Unix Epoch.
10252
67962076
JJ
102532011-02-18 Jakub Jelinek <jakub@redhat.com>
10254
10255 PR libgomp/47804
10256 * testsuite/libgomp.fortran/fortran.exp: Check for both
10257 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10258 but $blddir != "", still append ${blddir}/${lang_library_path}
10259 to ld_library_path.
10260
3808007c
TB
102612011-02-16 Tobias Burnus <burnus@net-b.de>
10262
10263 PR libgomp/47758
10264 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10265 of libquadmath.a before adding its libpath to ldflags.
10266
53b4d41d
JJ
102672011-02-14 Jakub Jelinek <jakub@redhat.com>
10268
10269 PR libgomp/47731
10270 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10271 to FUTEX_WAIT futex syscall.
10272 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10273
029c8f3e
RW
102742011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10275
10276 * configure: Regenerate.
10277
bddd6626
BK
102782011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10279
10280 PR libstdc++/36104
10281 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10282
f1d4ab26
GP
102832011-01-16 Gerald Pfeifer
10284
10285 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10286
2b503136
JJ
102872010-12-14 Jakub Jelinek <jakub@redhat.com>
10288
10289 PR fortran/46874
10290 * libgomp.fortran/allocatable6.f90: New test.
10291
c0f9d583
RO
102922010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10293
10294 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10295 * configure: Regenerate.
10296
7de6ba7a
DK
102972010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10298
10299 PR target/40125
10300 PR lto/46695
10301 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10302 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10303 * aclocal.m4: Regenerate.
10304 * configure: Regenerate.
10305 * Makefile.in: Regenerate.
10306 * testsuite/Makefile.in: Regenerate.
10307
b7516041
JJ
103082010-12-02 Jakub Jelinek <jakub@redhat.com>
10309
edaadf74
JJ
10310 PR fortran/46753
10311 * libgomp.fortran/pr46753.f90: New test.
10312
4c698cf8
JJ
10313 PR libgomp/43706
10314 * env.c (initialize_env): Default to spin count 300000
10315 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10316 is specified.
10317
b7516041
JJ
10318 PR libgomp/45240
10319 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10320 at the end if sync builtins aren't supported.
10321
6b43a34c
RO
103222010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10323
10324 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10325
950691fa
RO
103262010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10327
10328 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10329
fb9041ea
IS
103302010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10331
10332 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10333
1ec601bf
FXC
103342010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10335 Tobias Burnus <burnus@net-b.de>
10336
10337 PR fortran/32049
3e348fcc 10338 * configure.ac:
1ec601bf
FXC
10339 * configure: Regenerate.
10340
d213e92e
MS
103412010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10342
10343 * config/linux/futex.h: New.
10344 * config/linux/arm/mutex.h: New.
10345 * configure.tgt (arm*-*-linux*): Add config path.
10346
89d5c66f
SP
103472010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10348
10349 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10350
87350d4a
TB
103512010-09-23 Tobias Burnus <burnus@net-b.de>
10352
10353 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10354 Change Fortran datatype to LOGICAL.
10355 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10356 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10357
75bc9e5e
RW
103582010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10359
10360 * configure: Regenerate.
10361
acb5c916
JJ
103622010-07-26 Jakub Jelinek <jakub@redhat.com>
10363
10364 * libgomp.texi: Add function keyword to a couple of Fortran
10365 interfaces, use integer instead of int for Fortran.
10366
6a2ba183
AH
103672010-07-26 Aldy Hernandez <aldyh@redhat.com>
10368
10369 * libgomp.texi: Fix spelling and pasto problems throughout.
10370 Adjust prototypes to match code.
10371
df161b69
TB
103722010-07-24 Tobias Burnus <burnus@net-b.de>
10373
10374 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10375 silence -fwhole-file warning.
10376
16c9d3b1
RO
103772010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10378
10379 * configure.tgt (*-*-solaris2.[56]*): Removed.
10380
6d28b933
RO
103812010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10382
10383 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10384 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10385 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10386 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10387 targetting solaris2*.
10388 * configure: Regenerate.
10389 * config.h.in: Regenerate.
10390
10391 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10392 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10393 Add libgomp_version_dep.
10394 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10395 versioning.
10396 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10397 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10398 * Makefile.in: Regenerate.
10399
10400 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10401 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10402 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10403 to common block, protected by
10404 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10405
07a67d6a
GP
104062010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10407
10408 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10409
dbd34b89
IS
104102010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10411
10412 PR bootstrap/43170
10413 * configure: Regenerate.
10414
13917ae3
RW
104152010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10416
10417 PR other/43620
10418 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10419 * configure: Regenerate.
10420 * Makefile.in: Regenerate.
10421 * testsuite/Makefile.in: Regenerate.
10422
b83a701b
JJ
104232010-04-26 Jakub Jelinek <jakub@redhat.com>
10424
10425 PR c/43893
10426 * testsuite/libgomp.c/pr43893.c: New test.
10427 * testsuite/libgomp.c++/pr43893.C: New test.
10428
78db7d92
JJ
104292010-04-21 Jakub Jelinek <jakub@redhat.com>
10430
10431 PR middle-end/43570
10432 * testsuite/libgomp.fortran/vla8.f90: New test.
10433
5221d7a9
JJ
104342010-04-20 Jakub Jelinek <jakub@redhat.com>
10435
e4ba7a60
JJ
10436 PR libgomp/43706
10437 * config/linux/affinity.c (gomp_init_affinity): Decrease
10438 gomp_available_cpus if affinity mask confines the process to fewer
10439 CPUs.
10440 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10441 non-NULL, just return gomp_available_cpus.
10442
5221d7a9
JJ
10443 PR libgomp/43569
10444 * sections.c (gomp_sections_init): Initialize ws->mode.
10445
289a9f86
UB
104462010-04-14 Uros Bizjak <ubizjak@gmail.com>
10447
10448 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10449 not unused bar variable.
10450 * configure: Regenerate.
10451
4d9e8446
RW
104522010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10453
10454 * Makefile.in: Regenerate.
10455 * aclocal.m4: Regenerate.
10456 * testsuite/Makefile.in: Regenerate.
10457
80f046cc
JJ
104582010-03-22 Jakub Jelinek <jakub@redhat.com>
10459
10460 PR libgomp/42942
10461 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10462 (initialize_env): Adjust callers.
10463 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10464 when the argument is 0.
10465
10466 * testsuite/libgomp.c/pr42942.c: New test.
10467
b58543c3
SP
104682010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10469
10470 PR middle-end/42644
10471 PR middle-end/42130
10472 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10473 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10474
41d1138f
RO
104752010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10476
10477 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10478 * testsuite/libgomp.c++/task-6.C: Likewise.
10479
6684eb28
SE
104802010-01-28 Steve Ellcey <sje@cup.hp.com>
10481
10482 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10483
2122aa97
PB
104842010-01-26 Paolo Bonzini <bonzini@gnu.org>
10485
10486 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10487 * configure: Regenerate.
10488
057dd91d
JJ
104892010-01-26 Jakub Jelinek <jakub@redhat.com>
10490
10491 PR fortran/42866
10492 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10493
d0709b6a
PB
104942010-01-20 Paolo Bonzini <bonzini@gnu.org>
10495
10496 * configure.ac: Test for executability of GFORTRAN.
10497 * configure: Regenerate.
10498
b9497ab5
RO
104992010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10500
10501 * configure: Regenerate.
10502
45de5648
L
105032010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10504
10505 PR libgomp/42602
10506 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10507
e74003a1
RG
105082010-01-03 Richard Guenther <rguenther@suse.de>
10509
10510 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10511
1b3abda8
SP
105122009-12-23 Sebastian Pop <sebpop@gmail.com>
10513
10514 * testsuite/libgomp.graphite/pr4118.c: New.
10515
e19977d3
IS
105162009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10517
10518 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10519 for darwin, protect the test with require-effective-target tls_runtime.
10520 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10521
1d32a772
IS
105222009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10523
10524 PR target/41605
10525 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10526 link spec %s substitutions for static libraries.
10527
deb109b2
JH
105282009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10529
10530 PR testsuite/42135
10531 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10532
43e02a8a
RW
105332009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10534
10535 * Makefile.in: Regenerate.
10536 * configure: Regenerate.
10537 * testsuite/Makefile.in: Regenerate.
10538
17f35e23
DK
105392009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10540
10541 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10542 settings for LC_ALL and LANG.
10543
281e33e1
JJ
105442009-11-25 Jakub Jelinek <jakub@redhat.com>
10545
10546 PR fortran/42162
10547 * testsuite/libgomp.fortran/pr42162.f90: New test.
10548
2b32c27d
JJ
105492009-11-13 Jakub Jelinek <jakub@redhat.com>
10550
10551 PR middle-end/42029
281e33e1 10552 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10553
89c74f4a
JJ
105542009-10-26 Jakub Jelinek <jakub@redhat.com>
10555
10556 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10557 *s. Accept ld version without text in ()s.
10558 * configure: Regenerated.
10559
7e06c3d6
EB
105602009-10-22 Razya Ladelsky <razya@il.ibm.com>
10561
10562 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10563
0046b1a7
RW
105642009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10565
10566 PR libgomp/41418
10567 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10568 or a hyphen (happens with fortran language disabled).
10569 * configure: Regenerate.
10570
c82852f7
RW
105712009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10572
10573 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10574 use sed script portable to Solaris /bin/sed for extracting ld
10575 version.
10576 * configure: Regenerate.
10577
98f3eb1f
AM
105782009-09-17 Alexander Monakov <amonakov@ispras.ru>
10579
10580 * testsuite/libgomp.graphite/bounds.c: New test.
10581
878f62e5
RW
105822009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10583
10584 * Makefile.am (libgomp_la_LINK): New.
10585 * Makefile.in: Regenerate.
10586
df58e648
RW
105872009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10588
10589 * configure.ac (AC_PREREQ): Bump to 2.64.
10590
5213506e
RW
105912009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10592
70fa0efa
RW
10593 * Makefile.am (install-html, install-pdf): Remove.
10594 * Makefile.in: Regenerate.
10595
5213506e
RW
10596 * Makefile.in: Regenerate.
10597 * aclocal.m4: Regenerate.
10598 * config.h.in: Regenerate.
10599 * configure: Regenerate.
10600 * testsuite/Makefile.in: Regenerate.
10601
84fec8a5
RW
106022009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10603
10604 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10605 * Makefile.in: Regenerate.
10606
197c68cc
DK
106072009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10608
10609 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10610 * Makefile.in: Regenerate.
10611
693d54f2
TB
106122009-08-19 Tobias Burnus <burnus@net-b.de>
10613
10614 PR fortran/41102
10615 omp_lib.h.in: Fix -std=f95 errors.
10616
8cac884c
DE
106172009-08-14 David Edelsohn <edelsohn@gnu.org>
10618
10619 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10620 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10621 * testsuite/libgomp.graphite/graphite.exp: New.
10622
78729ee2
AT
106232009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10624
10625 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10626 only build.
10627
b13b7f39
DD
106282009-08-04 David Daney <ddaney@caviumnetworks.com>
10629
10630 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10631 needed memory barrier semantics.
10632 * config/linux/mips/mutex.h: New file.
10633
1b3b24c2
RW
106342009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10635
10636 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10637
396b7fa4
JM
106382009-07-16 Joseph Myers <joseph@codesourcery.com>
10639
10640 * configure: Regenerate.
10641
33cde516
RS
106422009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10643
10644 PR testsuite/40699
10645 PR testsuite/40707
10646 PR testsuite/40709
10647 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10648 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10649 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10650
bc21bfa5
RS
106512009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10652
10653 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10654 options when choosing a multilib.
10655
b30bfd40
RS
106562009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10657
10658 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10659 ld_library_path. Use add_path. Add just find_libgcc_s to
10660 ld_library_path, not every libgcc multilib directory.
10661 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10662 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10663 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10664 Use add_path.
10665 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10666
479c15c2
NF
106672009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10668
10669 * Makefile.am (LTLDFLAGS): Define.
10670 (LINK): Define.
10671 * Makefile.in: Regenerate.
10672
667e6f89
JB
106732009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10674
10675 PR fortran/39718
10676 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10677 libgfortranbegin, check existence of libgfortran.a instead of
10678 libgfortranbegin.a.
10679
6dea8e99
JJ
106802009-05-20 Jakub Jelinek <jakub@redhat.com>
10681
10682 PR libgomp/40174
10683 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10684 (gomp_free_pool_helper): Likewise.
10685
34d01e1d
VL
106862009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10687 Jakub Jelinek <jakub@redhat.com>
10688
10689 PR fortran/35423
10690 * testsuite/libgomp.fortran/workshare2.f90: New test.
10691
748086b7
JJ
106922009-04-09 Nick Clifton <nickc@redhat.com>
10693
10694 * iter.c: Change copyright header to refer to version 3 of the
10695 GNU General Public License with version 3.1 of the GCC Runtime
10696 Library Exception and to point readers at the COPYING3 and
10697 COPYING3.RUNTIME files and the FSF's license web page.
10698 * alloc.c: Likewise.
10699 * barrier.c: Likewise.
10700 * config/bsd/proc.c: Likewise.
10701 * config/linux/affinity.c: Likewise.
10702 * config/linux/alpha/futex.h: Likewise.
10703 * config/linux/bar.c: Likewise.
10704 * config/linux/bar.h: Likewise.
10705 * config/linux/ia64/futex.h: Likewise.
10706 * config/linux/ia64/mutex.h: Likewise.
10707 * config/linux/lock.c: Likewise.
10708 * config/linux/mips/futex.h: Likewise.
10709 * config/linux/mutex.c: Likewise.
10710 * config/linux/mutex.h: Likewise.
10711 * config/linux/powerpc/futex.h: Likewise.
10712 * config/linux/proc.c: Likewise.
10713 * config/linux/ptrlock.c: Likewise.
10714 * config/linux/ptrlock.h: Likewise.
10715 * config/linux/s390/futex.h: Likewise.
10716 * config/linux/sem.c: Likewise.
10717 * config/linux/sem.h: Likewise.
10718 * config/linux/sparc/futex.h: Likewise.
10719 * config/linux/wait.h: Likewise.
10720 * config/linux/x86/futex.h: Likewise.
10721 * config/mingw32/proc.c: Likewise.
10722 * config/mingw32/time.c: Likewise.
10723 * config/posix/affinity.c: Likewise.
10724 * config/posix/bar.c: Likewise.
10725 * config/posix/bar.h: Likewise.
10726 * config/posix/lock.c: Likewise.
10727 * config/posix/mutex.h: Likewise.
10728 * config/posix/proc.c: Likewise.
10729 * config/posix/ptrlock.h: Likewise.
10730 * config/posix/sem.c: Likewise.
10731 * config/posix/sem.h: Likewise.
10732 * config/posix/time.c: Likewise.
10733 * config/posix95/lock.c: Likewise.
10734 * critical.c: Likewise.
10735 * env.c: Likewise.
10736 * error.c: Likewise.
10737 * fortran.c: Likewise.
10738 * iter_ull.c: Likewise.
10739 * libgomp.h: Likewise.
10740 * libgomp_f.h.in: Likewise.
10741 * libgomp_g.h: Likewise.
10742 * loop.c: Likewise.
10743 * loop_ull.c: Likewise.
10744 * omp.h.in: Likewise.
10745 * omp_lib.f90.in: Likewise.
10746 * omp_lib.h.in: Likewise.
10747 * ordered.c: Likewise.
10748 * parallel.c: Likewise.
10749 * sections.c: Likewise.
10750 * single.c: Likewise.
10751 * task.c: Likewise.
10752 * team.c: Likewise.
10753 * work.c: Likewise.
10754
107552009-04-09 Jakub Jelinek <jakub@redhat.com>
10756
10757 * testsuite/config/default.exp: Change copyright header to refer to
10758 version 3 of the GNU General Public License and to point readers
10759 at the COPYING3 file and the FSF's license web page.
10760
4f0ae266
JJ
107612009-04-08 Jakub Jelinek <jakub@redhat.com>
10762
10763 PR middle-end/39573
10764 * libgomp.c++/pr39573.C: New test.
10765
03742a9b
JJ
107662009-04-01 Jakub Jelinek <jakub@redhat.com>
10767
10768 PR other/39591
10769 * testsuite/libgomp.c/pr39591-1.c: New test.
10770 * testsuite/libgomp.c/pr39591-2.c: New test.
10771 * testsuite/libgomp.c/pr39591-3.c: New test.
10772
e50ea10b
UB
107732009-03-25 Uros Bizjak <ubizjak@gmail.com>
10774
10775 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10776 * testsuite/libgomp.c/atomic-6.c: Ditto.
10777
c5cdb03f
JJ
107782009-03-23 Jakub Jelinek <jakub@redhat.com>
10779
10780 PR c/39495
10781 * testsuite/libgomp.c/loop-12.c: New test.
10782 * testsuite/libgomp.c/loop-11.c: New test.
10783 * testsuite/libgomp.c++/loop-11.C: New test.
10784 * testsuite/libgomp.c++/loop-12.C: New test.
10785 * testsuite/libgomp.c++/for-8.C: New test.
10786
7a9d3fe8
RW
107872009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10788
10789 * configure: Regenerate.
10790
3ad6b266
JJ
107912009-02-11 Jakub Jelinek <jakub@redhat.com>
10792
10793 PR middle-end/39154
10794 * testsuite/libgomp.c/pr39154.c: New test.
10795
b39dea08
ILT
107962009-01-30 Ian Lance Taylor <iant@google.com>
10797
10798 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10799 libgomp_ld_is_gold. Get gold version number.
10800 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10801 * configure: Rebuild.
10802
72c66596
IS
108032009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10804
e50ea10b 10805 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
10806 use libgfortran.a%s in their specs.
10807
876080ff
JJ
108082009-01-07 Jakub Jelinek <jakub@redhat.com>
10809
10810 PR libgomp/38086
10811 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10812 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10813 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10814 * configure: Regenerated.
10815 * config.h.in: Likewise.
10816
e4ebaef3
JJ
108172008-12-28 Jakub Jelinek <jakub@redhat.com>
10818
10819 PR c++/38650
10820 * testsuite/libgomp.c/pr38650.c: New test.
10821 * testsuite/libgomp.c++/pr38650.C: New test.
10822
382017a6
JJ
108232008-12-27 Jakub Jelinek <jakub@redhat.com>
10824
10825 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10826
79644b27
UB
108272008-12-26 Uros Bizjak <ubizjak@gmail.com>
10828
10829 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10830
baafc534
RW
108312008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10832
10833 * configure: Regenerate.
10834
d9c194cb
JJ
108352008-12-08 Jakub Jelinek <jakub@redhat.com>
10836
10837 PR middle-end/36802
10838 * testsuite/libgomp.c/pr36802-1.c: New test.
10839 * testsuite/libgomp.c/pr36802-2.c: New test.
10840 * testsuite/libgomp.c/pr36802-3.c: New test.
10841
86a182bf
JJ
108422008-12-01 Janis Johnson <janis187@us.ibm.com>
10843
10844 PR libgomp/38270
10845 * config/linux/powerpc/mutex.h: New.
10846
956adfaf
JJ
108472008-12-01 Jakub Jelinek <jakub@redhat.com>
10848
a2d4cdc9
JJ
10849 PR c++/38257
10850 * testsuite/libgomp.c++/for-7.C: New test.
10851
956adfaf
JJ
10852 PR c++/38348
10853 * testsuite/libgomp.c++/for-6.C: New test.
10854
d4038ca2
JJ
108552008-11-26 Janis Johnson <janis187@us.ibm.com>
10856
10857 PR testsuite/28870
10858 * testsuite/lib/libgomp.exp: Include new timeout library files.
10859 (libgomp_target_compile): Set timeout value from new proc.
10860
8b159eea
SE
108612008-11-13 Steve Ellcey <sje@cup.hp.com>
10862
10863 PR libgomp/37938
10864 * config/linux/ia64/mutex.h: New.
10865
5c6ed53a
TB
108662008-11-04 Tobias Burnus <burnus@net-b.de>
10867
10868 PR libgomp/37935
10869 * libgomp.texi (Runtime library routines, environment variables):
10870 Update for OpenMP version 3.0.
10871
6b4a97ed
PG
108722008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10873 Steve Ellcey <sje@cup.hp.com>
10874
10875 * configure: Regenerate for new libtool.
10876 * Makefile.in: Ditto.
10877 * testsuite/Makefile.in: Ditto.
10878
e2b34106
JJ
108792008-09-19 Jakub Jelinek <jakub@redhat.com>
10880 Andreas Tobler <a.tobler@schweiz.org>
10881
10882 * config/bsd/proc.c: New file.
8c3b3600 10883 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
10884 * configure.ac: Check for header <sys/sysctl.h>
10885 * configure: Regenerate.
10886 * config.h.in: Likewise.
10887
3606b8bf
JJ
108882008-09-05 Janis Johnson <janis187@us.ibm.com>
10889
10890 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10891
6528b88d
AL
108922008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10893
10894 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10895 * Makefile.in: Regenerated.
10896 * testsuite/Makefile.in: Regenerated.
10897
d9b14b12 108982008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 10899
a16b68bb 10900 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
10901 depend on blddir if blddir exists.
10902 (libgomp_target_compile): Likewise.
10903 * testsuite/libgomp.c++/c++.exp: Likewise.
10904 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10905
70b1e376
RW
109062008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10907
10908 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10909 Do not list GPL as Invariant Section.
10910
318e8c3f
IG
109112008-07-28 Ilie Garbacea <ilie@mips.com>
10912 Chao-ying Fu <fu@mips.com>
10913
10914 * configure.tgt: Enable futex for MIPS.
10915 * config/linux/mips/futex.h: New file.
10916
4db72361
JJ
109172008-07-16 Jakub Jelinek <jakub@redhat.com>
10918
10919 * team.c (gomp_team_end): Free team immediately if it has
10920 just one thread.
10921
87bd23b8
DE
109222008-07-08 David Edelsohn <edelsohn@gnu.org>
10923
10924 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10925 * testsuite/libgomp.fortran/fortran.exp: Same.
10926 * testsuite/libgomp.c/c.exp: Same.
10927 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10928 directory to library path first.
10929
323ff903
KW
109302008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10931
10932 * env.c (parse_stacksize): Add cast to avoid warning.
10933 (parse_spincount): Likewise.
10934
b357f682
JJ
109352008-06-27 Jakub Jelinek <jakub@redhat.com>
10936
ca2b1311
JJ
10937 * testsuite/libgomp.c/loop-10.c: New test.
10938 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10939 * libgomp.c++/loop-6.C (main): Likewise.
10940
b357f682
JJ
10941 PR debug/36617
10942 * testsuite/libgomp.c/debug-1.c: New test.
10943
09a46078
JJ
109442008-06-19 Jakub Jelinek <jakub@redhat.com>
10945
10946 * testsuite/libgomp.c/nqueens-1.c: New test.
10947
2368a460
JJ
10948 PR c++/36523
10949 * testsuite/libgomp.c++/task-7.C: New function.
10950
18c04407
RW
109512008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10952
10953 * configure: Regenerate.
10954
9c4e59e0
JDA
109552008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10956
10957 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10958 mutex when HAVE_SYNC_BUILTINS isn't defined.
10959
6ccde948
RW
109602008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10961
10962 * libgomp.texi (omp_test_lock): Fix typo.
10963
b896f9fd
TB
109642008-06-12 Tobias Burnus <burnus@net-b.de>
10965
10966 * omp_lib.f90.in: Add "implicit none".
10967
c34938a8
JJ
109682008-06-12 Jakub Jelinek <jakub@redhat.com>
10969
10970 PR middle-end/36506
10971 * testsuite/libgomp.c/reduction-5.c: New test.
10972
976e44e3
JJ
109732008-06-11 Jakub Jelinek <jakub@redhat.com>
10974
5f836cbb
JJ
10975 * libgomp.h (struct gomp_task): Add in_tied_task field.
10976 * task.c (gomp_init_task): Initialize it.
10977 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10978 unconditionally. Don't call gomp_team_barrier_wake if
10979 current task is implicit or if(0) from implicit and number of
10980 running tasks is equal to nthreads - 1.
10981
01501fc8
JJ
10982 PR libgomp/36471
10983 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10984 omp_get_team_size_8): Fix pastos.
10985
976e44e3
JJ
10986 PR libgomp/36469
10987 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10988 * configure: Regenerated.
10989 * config.h.in: Regenerated.
10990 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10991 defined.
10992
e919209b
AT
109932008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10994
10995 PR bootstrap/36452
10996 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10997 (GOMP_loop_ull_dynamic_start): Likewise.
10998 (GOMP_loop_ull_guided_start): Likewise.
10999 (GOMP_loop_ull_ordered_static_start): Likewise.
11000 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11001 (GOMP_loop_ull_ordered_guided_start): Likewise.
11002
a68ab351
JJ
110032008-06-06 Jakub Jelinek <jakub@redhat.com>
11004 Richard Henderson <rth@redhat.com>
11005 Ulrich Drepper <drepper@redhat.com>
11006 Jakob Blomer <jakob.blomer@ira.uka.de>
11007
11008 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11009 Substitute also OMP_*LOCK_25*.
11010 * configure: Regenerated.
11011 * config.h.in: Regenerated.
11012 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11013 ptrlock.c and task.c.
11014 * Makefile.in: Regenerated.
11015 * testsuite/Makefile.in: Regenerated.
11016 * task.c: New file.
11017 * loop_ull.c: New file.
11018 * iter_ull.c: New file.
11019 * libgomp.h: Include ptrlock.h.
11020 (enum gomp_task_kind): New type.
11021 (struct gomp_team): Add task_lock, task_queue, task_count,
11022 task_running_count, single_count fields. Add
11023 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11024 Remove work_share_lock, generation_mask,
11025 oldest_live_gen, num_live_gen and init_work_shares fields, add
11026 work work_share_list_alloc, work_share_list_free and work_share_chunk
11027 fields. Change work_shares from pointer to pointers into an array.
11028 Change ordered_release field into gomp_sem_t ** from flexible array
11029 member. Add implicit_task and initial_work_shares fields.
11030 Move close to the end of the struct.
11031 (struct gomp_team_state): Add single_count, last_work_share,
11032 active_level and level fields, remove work_share_generation.
11033 (gomp_barrier_handle_tasks): New prototype.
11034 (gomp_finish_task): New inline function.
11035 (struct gomp_work_share): Move chunk_size, end, incr into
11036 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11037 next_ll fields. Reshuffle fields. Add next_alloc,
11038 next_ws, next_free and inline_ordered_team_ids fields, change
11039 ordered_team_ids into pointer from flexible array member.
11040 Add mode field. Put lock and next into a different cache line
11041 from most of the write-once fields.
11042 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11043 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11044 gomp_iter_ull_guided_next): New prototypes.
11045 (gomp_new_icv): New prototype.
11046 (struct gomp_thread): Add thread_pool and task fields.
11047 (struct gomp_thread_pool): New type.
11048 (gomp_new_team): New prototype.
11049 (gomp_team_start): Change type of last argument.
11050 (gomp_new_work_share): Removed.
11051 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11052 (gomp_work_share_init_done): New static inline.
11053 (gomp_throttled_spin_count_var, gomp_available_cpus,
11054 gomp_managed_threads): New extern decls.
11055 (gomp_init_task): New prototype.
11056 (gomp_spin_count_var): New extern var decl.
11057 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11058 or no alias support, or if not PIC.
11059 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11060 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11061 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11062 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11063 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11064 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11065 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11066 gomp_test_nest_lock_25): New prototypes.
11067 (omp_lock_symver, strong_alias): Define.
11068 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11069 decls.
11070 (gomp_end_task): New.
11071 (struct gomp_task_icv, gomp_global_icv): New.
11072 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11073 (struct gomp_task): New.
11074 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11075 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11076 (gomp_icv): New.
11077 (gomp_schedule_type): Reorder enum to match
11078 omp_sched_t.
11079 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11080 fields.
11081 (gomp_thread_start): Add gomp_team_barrier_wait call.
11082 For non-nested case remove clearing of docked thread thr fields.
11083 Use pool fields instead of global gomp_* variables. Use
11084 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11085 Create tasks for each member thread.
11086 (free_team): Only destroy team barrier, task_lock here and free it.
11087 (gomp_free_thread): Free last_team if non-NULL.
11088 (gomp_team_end): Call gomp_team_barrier_wait instead of
11089 gomp_barrier_wait. For nested case call one extra
11090 gomp_barrier_wait. Move here some destruction from free_team.
11091 Call free_team on pool->last_team if any, rather than freeing
11092 current team. Destroy work_share_list_free_lock ifndef
11093 HAVE_SYNC_BUILTINS.
11094 (gomp_new_icv): New function.
11095 (gomp_threads, gomp_threads_size, gomp_threads_used,
11096 gomp_threads_dock): Removed.
11097 (gomp_thread_destructor): New variable.
11098 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11099 functions.
11100 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 11101 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
11102 Initialize thread_pool field for new threads. Clear single_count.
11103 Change last argument from ws to team, don't create
11104 new team, set ts.work_share to &team->work_shares[0] and clear
11105 ts.last_work_share. Don't clear ts.work_share_generation.
11106 If number of threads changed, adjust atomically gomp_managed_threads.
11107 Use gomp_init_task instead of gomp_new_task,
11108 set thr->task to the corresponding implicit_task array entry.
11109 Create tasks for each member thread. Initialize ts.level.
11110 (initialize_team): Call pthread_key_create on
11111 gomp_thread_destructor.
11112 (team_destructor): New function.
11113 (new_team): Removed.
11114 (gomp_new_team): New function.
11115 (free_team): Free gomp_work_share blocks chained through next_alloc,
11116 instead of freeing work_shares and destroying work_share_lock.
11117 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11118 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11119 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11120 of gomp_barrier_wait.
11121 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11122 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11123 if gomp_work_share_start returned true. Don't unlock ws->lock.
11124 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11125 of gomp_barrier_wait.
11126 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11127 gomp_work_share_init_done if gomp_work_share_start returned true.
11128 Don't unlock ws->lock.
11129 * work.c: Include stddef.h.
11130 (free_work_share): Use work_share_list_free_lock instead
11131 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11132 Call gomp_fini_work_share and then either free ws if orphaned, or
11133 put it into work_share_list_free list of the current team.
11134 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11135 functions.
11136 (gomp_work_share_start, gomp_work_share_end,
11137 gomp_work_share_end_nowait): Rewritten.
11138 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11139 (openmp_version): Set to 200805.
11140 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11141 omp_sched_guided, omp_sched_auto): New parameters.
11142 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11143 omp_set_max_active_levels, omp_get_max_active_levels,
11144 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11145 omp_get_active_level): New interfaces.
11146 * omp_lib.h.in (openmp_version): Set to 200805.
11147 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11148 omp_sched_guided, omp_sched_auto): New parameters.
11149 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11150 omp_set_max_active_levels, omp_get_max_active_levels,
11151 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11152 omp_get_active_level): New externals.
11153 * loop.c: Include limits.h.
11154 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11155 GFS_AUTO.
11156 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11157 Likewise. Use gomp_icv.
11158 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11159 ts.static_trip here.
11160 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11161 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11162 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11163 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11164 don't unlock ws->lock, otherwise lock it.
11165 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11166 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11167 (gomp_parallel_loop_start): Call gomp_new_team instead of
11168 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11169 Adjust gomp_team_start caller. Pass 0 as second argument to
11170 gomp_resolve_num_threads.
11171 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11172 If adding ws->chunk_size nthreads + 1 times after end won't
11173 overflow, set ws->mode to 1.
11174 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11175 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11176 GOMP_loop_ull_ordered_static_start,
11177 GOMP_loop_ull_ordered_dynamic_start,
11178 GOMP_loop_ull_ordered_guided_start,
11179 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11180 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11181 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11182 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11183 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11184 prototypes.
11185 * libgomp.map: Export lock routines also @@OMP_2.0.
11186 (GOMP_loop_ordered_dynamic_first,
11187 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11188 GOMP_loop_ordered_static_first): Remove.
11189 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11190 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11191 GOMP_loop_ull_ordered_dynamic_next,
11192 GOMP_loop_ull_ordered_dynamic_start,
11193 GOMP_loop_ull_ordered_guided_next,
11194 GOMP_loop_ull_ordered_guided_start,
11195 GOMP_loop_ull_ordered_runtime_next,
11196 GOMP_loop_ull_ordered_runtime_start,
11197 GOMP_loop_ull_ordered_static_next,
11198 GOMP_loop_ull_ordered_static_start,
11199 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11200 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11201 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11202 (omp_set_schedule, omp_get_schedule,
11203 omp_get_thread_limit, omp_set_max_active_levels,
11204 omp_get_max_active_levels, omp_get_level,
11205 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11206 omp_set_schedule_, omp_set_schedule_8_,
11207 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11208 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11209 omp_get_max_active_levels_, omp_get_level_,
11210 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11211 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11212 New exports @@OMP_3.0.
11213 * omp.h.in (omp_sched_t): New type.
11214 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11215 omp_set_max_active_levels, omp_get_max_active_levels,
11216 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11217 omp_get_active_level): New prototypes.
11218 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11219 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11220 gomp_thread_limit_var, gomp_remaining_threads_count,
11221 gomp_remaining_threads_lock): New variables.
11222 (parse_spincount): New function.
11223 (initialize_env): Call gomp_init_num_threads unconditionally.
11224 Initialize gomp_available_cpus. Call parse_spincount,
11225 initialize gomp_{,throttled_}spin_count_var
11226 depending on presence and value of OMP_WAIT_POLICY and
11227 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11228 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11229 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11230 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11231 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11232 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11233 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11234 (gomp_global_icv): New.
11235 (parse_schedule): Use it. Parse "auto".
11236 (omp_set_num_threads): Use gomp_icv.
11237 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11238 Likewise.
11239 (omp_get_max_threads): Move from parallel.c.
11240 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11241 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11242 add ialias.
11243 (parse_stacksize, parse_wait_policy): New functions.
11244 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11245 both wrappers for compatibility and new locks.
11246 (omp_set_schedule, omp_get_schedule,
11247 omp_get_thread_limit, omp_set_max_active_levels,
11248 omp_get_max_active_levels, omp_get_level,
11249 omp_get_ancestor_thread_num, omp_get_team_size,
11250 omp_get_active_level): New ialias_redirect.
11251 (omp_set_schedule_, omp_set_schedule_8_,
11252 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11253 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11254 omp_get_max_active_levels_, omp_get_level_,
11255 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11256 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11257 New functions.
11258 * parallel.c: Include limits.h.
11259 (gomp_resolve_num_threads): Add count argument. Rewritten.
11260 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11261 argument to gomp_team_start. Pass 0 as second argument to
11262 gomp_resolve_num_threads.
11263 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11264 if gomp_thread_limit_var != ULONG_MAX.
11265 (omp_in_parallel): Implement using ts.active_level.
11266 (omp_get_max_threads): Move to env.c.
11267 (omp_get_level, omp_get_ancestor_thread_num,
11268 omp_get_team_size, omp_get_active_level): New functions,
11269 add ialias.
11270 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11271 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11272 gomp_iter_dynamic_next instead of the _locked variant and don't take
11273 lock around it, otherwise acquire it before calling
11274 gomp_iter_dynamic_next_locked.
11275 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11276 gomp_iter_dynamic_next instead of the _locked variant and don't take
11277 lock around it.
11278 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11279 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11280 Adjust gomp_team_start caller. Pass count as second argument to
11281 gomp_resolve_num_threads, don't adjust num_threads after the call.
11282 Use gomp_icv.
11283 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11284 ws->chunk_size by incr.
11285 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11286 code.
11287 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11288 types.
11289 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11290 (omp_check_defines): Check even the compat defines.
11291 * config/linux/ptrlock.c: New file.
11292 * config/linux/ptrlock.h: New file.
11293 * config/linux/wait.h: New file.
11294 * config/posix/ptrlock.c: New file.
11295 * config/posix/ptrlock.h: New file.
11296 * config/linux/bar.h (gomp_team_barrier_wait,
11297 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11298 (gomp_team_barrier_set_task_pending,
11299 gomp_team_barrier_clear_task_pending,
11300 gomp_team_barrier_set_waiting_for_tasks,
11301 gomp_team_barrier_waiting_for_tasks,
11302 gomp_team_barrier_done): New inlines.
11303 (gomp_barrier_t): Rewritten.
11304 (gomp_barrier_state_t): New typedef.
11305 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11306 gomp_barrier_wait_start): Rewritten.
11307 (gomp_barrier_wait_end): Change second argument to
11308 gomp_barrier_state_t.
11309 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11310 inlines.
11311 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11312 futex.h.
11313 (gomp_barrier_wait_end): Rewritten.
11314 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11315 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11316 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11317 (gomp_barrier_state_t): New typedef.
11318 (gomp_team_barrier_wait,
11319 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11320 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11321 into the return value. Return gomp_barrier_state_t.
11322 (gomp_team_barrier_set_task_pending,
11323 gomp_team_barrier_clear_task_pending,
11324 gomp_team_barrier_set_waiting_for_tasks,
11325 gomp_team_barrier_waiting_for_tasks,
11326 gomp_team_barrier_done): New inlines.
11327 (gomp_barrier_wait_end): Change second argument to
11328 gomp_barrier_state_t.
11329 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11330 inlines.
11331 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11332 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11333 gomp_barrier_state_t.
a68ab351
JJ
11334 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11335 gomp_team_barrier_wake): New functions.
11336 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11337 futex.h.
11338 (gomp_futex_wake, gomp_futex_wait): New variables.
11339 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11340 * config/linux/lock.c: Rewrite to make locks task owned,
11341 for backwards compatibility provide the old entrypoints
11342 if symbol versioning. Include wait.h instead of libgomp.h and
11343 futex.h.
11344 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11345 * config/posix95/lock.c: Rewrite to make locks task owned,
11346 for backwards compatibility provide the old entrypoints
11347 if symbol versioning.
11348 * config/posix/lock.c: Rewrite to make locks task owned,
11349 for backwards compatibility provide the old entrypoints
11350 if symbol versioning.
11351 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11352 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11353 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11354 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11355 (sys_futex0): Return error code.
11356 (futex_wake, futex_wait): If ENOSYS was returned, clear
11357 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11358 (cpu_relax, atomic_write_barrier): New static inlines.
11359 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11360 (futex_wake, futex_wait): If ENOSYS was returned, clear
11361 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11362 (cpu_relax, atomic_write_barrier): New static inlines.
11363 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11364 (sys_futex0): Return error code.
11365 (futex_wake, futex_wait): If ENOSYS was returned, clear
11366 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11367 (cpu_relax, atomic_write_barrier): New static inlines.
11368 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11369 (sys_futex0): Return error code.
11370 (futex_wake, futex_wait): If ENOSYS was returned, clear
11371 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11372 (cpu_relax, atomic_write_barrier): New static inlines.
11373 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11374 (sys_futex0): Return error code.
11375 (futex_wake, futex_wait): If ENOSYS was returned, clear
11376 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11377 (cpu_relax, atomic_write_barrier): New static inlines.
11378 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11379 (sys_futex0): Return error code.
11380 (futex_wake, futex_wait): If ENOSYS was returned, clear
11381 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11382 (cpu_relax, atomic_write_barrier): New static inlines.
11383 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11384 futex.h.
11385 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11386 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11387 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11388 types.
11389 (omp_nest_lock_t): Change owner into void *, add lock field.
11390 * config/posix95/omp-lock.h: Include semaphore.h.
11391 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11392 (omp_lock_t): Use sem_t instead of mutex if semaphores
11393 aren't broken.
11394 (omp_nest_lock_t): Likewise. Change owner to void *.
11395 * config/posix/omp-lock.h: Include semaphore.h.
11396 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11397 (omp_lock_t): Use sem_t instead of mutex if semaphores
11398 aren't broken.
11399 (omp_nest_lock_t): Likewise. Add owner field.
11400
114012008-06-06 Jakub Jelinek <jakub@redhat.com>
11402
11403 * testsuite/libgomp.c/collapse-1.c: New test.
11404 * testsuite/libgomp.c/collapse-2.c: New test.
11405 * testsuite/libgomp.c/collapse-3.c: New test.
11406 * testsuite/libgomp.c/icv-1.c: New test.
11407 * testsuite/libgomp.c/icv-2.c: New test.
11408 * testsuite/libgomp.c/lib-2.c: New test.
11409 * testsuite/libgomp.c/lock-1.c: New test.
11410 * testsuite/libgomp.c/lock-2.c: New test.
11411 * testsuite/libgomp.c/lock-3.c: New test.
11412 * testsuite/libgomp.c/loop-4.c: New test.
11413 * testsuite/libgomp.c/loop-5.c: New test.
11414 * testsuite/libgomp.c/loop-6.c: New test.
11415 * testsuite/libgomp.c/loop-7.c: New test.
11416 * testsuite/libgomp.c/loop-8.c: New test.
11417 * testsuite/libgomp.c/loop-9.c: New test.
11418 * testsuite/libgomp.c/nested-3.c: New test.
11419 * testsuite/libgomp.c/nestedfn-6.c: New test.
11420 * testsuite/libgomp.c/sort-1.c: New test.
11421 * testsuite/libgomp.c/task-1.c: New test.
11422 * testsuite/libgomp.c/task-2.c: New test.
11423 * testsuite/libgomp.c/task-3.c: New test.
11424 * testsuite/libgomp.c/task-4.c: New test.
11425 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11426 to C++ testsuite default compiler options.
11427 * testsuite/libgomp.c++/collapse-1.C: New test.
11428 * testsuite/libgomp.c++/collapse-2.C: New test.
11429 * testsuite/libgomp.c++/ctor-10.C: New test.
11430 * testsuite/libgomp.c++/for-1.C: New test.
11431 * testsuite/libgomp.c++/for-2.C: New test.
11432 * testsuite/libgomp.c++/for-3.C: New test.
11433 * testsuite/libgomp.c++/for-4.C: New test.
11434 * testsuite/libgomp.c++/for-5.C: New test.
11435 * testsuite/libgomp.c++/loop-8.C: New test.
11436 * testsuite/libgomp.c++/loop-9.C: New test.
11437 * testsuite/libgomp.c++/loop-10.C: New test.
11438 * testsuite/libgomp.c++/task-1.C: New test.
11439 * testsuite/libgomp.c++/task-2.C: New test.
11440 * testsuite/libgomp.c++/task-3.C: New test.
11441 * testsuite/libgomp.c++/task-4.C: New test.
11442 * testsuite/libgomp.c++/task-5.C: New test.
11443 * testsuite/libgomp.c++/task-6.C: New test.
11444 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11445 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11446 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11447 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11448 * testsuite/libgomp.fortran/collapse1.f90: New test.
11449 * testsuite/libgomp.fortran/collapse2.f90: New test.
11450 * testsuite/libgomp.fortran/collapse3.f90: New test.
11451 * testsuite/libgomp.fortran/collapse4.f90: New test.
11452 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11453 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11454 * testsuite/libgomp.fortran/lib4.f90: New test.
11455 * testsuite/libgomp.fortran/lock-1.f90: New test.
11456 * testsuite/libgomp.fortran/lock-2.f90: New test.
11457 * testsuite/libgomp.fortran/nested1.f90: New test.
11458 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11459 * testsuite/libgomp.fortran/strassen.f90: New test.
11460 * testsuite/libgomp.fortran/tabs1.f90: New test.
11461 * testsuite/libgomp.fortran/tabs2.f: New test.
11462 * testsuite/libgomp.fortran/task1.f90: New test.
11463 * testsuite/libgomp.fortran/task2.f90: New test.
11464 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11465 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11466 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11467 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11468 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11469
7a0112e7
JJ
114702008-05-23 Jakub Jelinek <jakub@redhat.com>
11471
11472 PR c++/36308
11473 * testsuite/libgomp.c++/ctor-11.C: New test.
11474 * testsuite/libgomp.c++/ctor-12.C: New test.
11475
91a5b394
JJ
114762008-05-15 Janis Johnson <janis187@us.ibm.com>
11477
11478 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11479
c18c98c0
JJ
114802008-05-07 Jakub Jelinek <jakub@redhat.com>
11481
11482 PR middle-end/36106
11483 * testsuite/libgomp.c/atomic-5.c: New test.
11484 * testsuite/libgomp.c/atomic-6.c: New test.
11485 * testsuite/libgomp.c/autopar-1.c: New test.
11486
6d26724a
RW
114872008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11488
11489 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11490 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11491 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11492 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11493 * configure: Regenerate.
11494 * Makefile.in, testsuite/Makefile.in: Likewise.
11495
deb984e6
PB
114962008-04-18 Paolo Bonzini <bonzini@gnu.org>
11497
11498 PR bootstrap/35457
11499 * aclocal.m4: Regenerate.
11500 * configure: Regenerate.
11501
9e775963
JJ
115022008-03-18 Jakub Jelinek <jakub@redhat.com>
11503
8119fc93
JJ
11504 PR middle-end/35611
11505 * testsuite/libgomp.c/atomic-4.c: New test.
11506
9e775963
JJ
11507 PR libgomp/35625
11508 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11509 (gomp_iter_guided_next): Likewise.
11510 * testsuite/libgomp.c/pr35625.c: New test.
11511
38d24731
RW
115122008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11513
11514 * aclocal.m4: Regenerate.
11515 * configure: Likewise.
11516 * Makefile.in: Likewise.
11517 * testsuite/Makefile.in: Likewise.
11518
d0fb20be
JJ
115192008-03-13 Jakub Jelinek <jakub@redhat.com>
11520
11521 PR middle-end/35185
11522 * testsuite/libgomp.c++/pr35185.C: New test.
11523
7c8f7639
JJ
115242008-03-12 Jakub Jelinek <jakub@redhat.com>
11525
11526 PR middle-end/35549
11527 * testsuite/libgomp.c/pr35549.c: New test.
11528
251923f5
JJ
115292008-03-06 Jakub Jelinek <jakub@redhat.com>
11530
11531 * testsuite/libgomp.c/atomic-3.c: New test.
11532
f489fba1
FXC
115332008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11534
11535 PR fortran/33197
251923f5 11536 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11537 .F08 file suffixes.
11538
a1b25e49
PG
115392008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11540
11541 PR libgomp/33131
11542 * configure.ac: Add ACX_HEADER_STRING.
11543 * env.c: Include strings.h.
11544 * aclocal.m4: Regenerate.
11545 * config.h.in: Regenerate.
11546 * configure: Regenerate.
11547 * Makefile.in: Regenerate.
11548 * testsuite/Makefile.in: Regenerate.
11549
6837b3b8
JJ
115502008-02-15 Jakub Jelinek <jakub@redhat.com>
11551
ac84c062
JJ
11552 PR middle-end/35196
11553 * testsuite/libgomp.c/pr35196.c: New test.
11554
6837b3b8
JJ
11555 PR middle-end/35130
11556 * testsuite/libgomp.fortran/pr35130.f90: New test.
11557 * testsuite/libgomp.c/pr35130.c: New test.
11558
c256730c
JJ
115592008-01-25 Jakub Jelinek <jakub@redhat.com>
11560
11561 PR middle-end/33880
11562 * testsuite/libgomp.c/pr33880.c: New test.
11563 * testsuite/libgomp.fortran/pr33880.f90: New test.
11564
c8e95542 115652008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
11566
11567 * configure: Regenerate.
11568
0f3e711e
JJ
115692008-01-08 Jakub Jelinek <jakub@redhat.com>
11570
11571 * configure.ac: Move futex checking into ../config/futex.m4.
11572 * configure: Rebuilt.
11573 * aclocal.m4: Rebuilt.
11574 * Makefile.in: Rebuilt.
11575
11576 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11577 2007-10-15 ../config/tls.m4 change.
11578
5259c813
JJ
115792007-12-19 Jakub Jelinek <jakub@redhat.com>
11580
11581 PR c++/34513
11582 * testsuite/libgomp.c/pr34513.c: New test.
11583 * testsuite/libgomp.c++/pr34513.C: New test.
11584
ae8d8879
JH
115852007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11586
11587 PR target/32765
11588 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11589
2b4cf991
JJ
115902007-12-04 Jakub Jelinek <jakub@redhat.com>
11591
11592 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11593
d2dda7fe
JJ
115942007-12-03 Jakub Jelinek <jakub@redhat.com>
11595
11596 * testsuite/libgomp.c/private-1.c: New test.
11597
d683ec81
PB
115982007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11599 Paolo Bonzini <bonzini@gnu.org>
11600
11601 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11602 instead of 'VPATH ='.
11603 * Makefile.in: Regenerate.
11604
a7415017
MK
116052007-11-23 Matthias Klose <doko@ubuntu.com>
11606
11607 * configure.ac: Adjust makeinfo version check.
11608 * configure: Regenerate.
11609
78e47463
JJ
116102007-11-10 Jakub Jelinek <jakub@redhat.com>
11611
11612 PR fortran/34020
11613 * testsuite/libgomp.fortran/pr34020.f90: New test.
11614
239371f9
JJ
116152007-11-06 Jakub Jelinek <jakub@redhat.com>
11616
11617 PR c++/33894
11618 * testsuite/libgomp.c++/atomic-1.C: New test.
11619
98a5fa94
JJ
116202007-10-25 Jakub Jelinek <jakub@redhat.com>
11621
11622 PR libgomp/33275
11623 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11624 Make x and y integers rather than (implicit) reals. Add private (j)
11625 clause to the last omp parallel.
11626
3afcaaf4
MR
116272007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11628
11629 * configure: Regenerate following changes to ../config/tls.m4.
11630
bd69daef
JJ
116312007-09-28 Jakub Jelinek <jakub@redhat.com>
11632
11633 * testsuite/libgomp.fortran/stack.f90: New test.
11634
1d0bd356
DS
116352007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11636
11637 * config/mingw32/proc.c: New file.
11638
b3172cab
UB
116392007-09-05 Uros Bizjak <ubizjak@gmail.com>
11640
11641 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11642 (main): Use __get_cpuid to get i386 target fetaures.
11643 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11644 (main): Use __get_cpuid to get x86_64 target fetaures.
11645
6da17392
JH
116462007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11647
11648 PR target/32765
11649 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11650 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11651
e1c82219
JJ
116522007-07-12 Jakub Jelinek <jakub@redhat.com>
11653
11654 PR fortran/32550
11655 * testsuite/libgomp.fortran/pr32550.f90: New test.
11656 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11657
12a27363
L
116582007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11659
11660 * aclocal.m4: Regenerated.
11661
5349080d
TB
116622007-07-05 Tobias Burnus <burnus@net-b.de>
11663
11664 PR fortran/32359
11665 * testsuite/libgomp.fortran/pr32359.f90: New.
11666
4f9c450c
JJ
116672007-07-02 Jakub Jelinek <jakub@redhat.com>
11668
11669 PR libgomp/32468
11670 * sections.c (GOMP_parallel_sections_start): Only decrease
11671 number of threads to COUNT if dyn_var is true.
11672 * testsuite/libgomp.c/pr32468.c: New test.
11673
28c67ed7
RO
116742007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11675
11676 PR libgomp/26308
11677 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11678
64964499
JJ
116792007-06-21 Jakub Jelinek <jakub@redhat.com>
11680
11681 PR middle-end/32362
11682 * testsuite/libgomp.c/pr32362-1.c: New test.
11683 * testsuite/libgomp.c/pr32362-2.c: New test.
11684 * testsuite/libgomp.c/pr32362-3.c: New test.
11685
46d8fbd1
JJ
116862007-06-07 Jakub Jelinek <jakub@redhat.com>
11687
11688 * team.c (gomp_team_start): Fix setting up thread_attr
11689 stack size.
11690
82a6cadf
PB
116912007-06-02 Paolo Bonzini <bonzini@gnu.org>
11692
11693 * configure: Regenerate.
11694
1cf3d07d
SE
116952007-05-23 Steve Ellcey <sje@cup.hp.com>
11696
11697 * Makefile.in: Regenerate.
11698 * configure: Regenerate.
11699 * aclocal.m4: Regenerate.
11700 * testsuite/Makefile.in: Regenerate.
11701
12aac30b
JJ
117022007-05-04 Jakub Jelinek <jakub@redhat.com>
11703
11704 * config/linux/proc.c: New file.
11705
f1028b02
JJ
11706 PR libgomp/28482
11707 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11708
06785a48
DF
117092007-04-19 Daniel Franke <franke.daniel@gmail.com>
11710
11711 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11712
b3b08ba0
MK
117132007-04-16 Matthias Klose <doko@debian.org>
11714
11715 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11716 flags if not building with -m64.
11717 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11718 flag for i?86-*-* targets, if current target matches -m64.
11719
6b2c5ce0
SE
117202007-04-14 Steve Ellcey <sje@cup.hp.com>
11721
11722 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11723 * Makefile.in: Regenerate.
11724
dd56fe7c
JDA
117252007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11726
11727 PR testsuite/31369
11728 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11729 ld_library_path.
11730 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11731
a0884cf0
JJ
117322007-04-04 Jakub Jelinek <jakub@redhat.com>
11733
11734 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11735 decls.
11736 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11737 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11738 (parse_affinity): New function.
11739 (initialize_env): Call it and gomp_init_affinity.
11740 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11741 create new pthread_attr_t and call gomp_init_thread_affinity
11742 on it for each thread before passing the attribute to pthread_create.
11743 * config/linux/affinity.c: New file.
11744 * config/posix/affinity.c: New file.
11745 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11746 * configure: Rebuilt.
11747 * config.h.in: Rebuilt.
11748 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11749 * Makefile.in: Rebuilt.
11750
1850744b
AT
117512007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11752
11753 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11754 *-*-darwin*.
11755 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11756 and use it if found.
11757
516f1ed8
UB
117582007-03-18 Uros Bizjak <ubizjak@gmail.com>
11759
11760 * testsuite/config/default.exp: New file.
11761 * testsuite/lib/libgomp.exp: New file.
11762 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11763 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11764 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11765 (libgomp_load): Remove.
11766 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11767 always_ld_library_path, not ld_library_path. Set additional_flags
11768 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11769 (target_compile): Do not call libgomp_init. Append lang_library_path
11770 and lang_link_flags to options.
11771 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11772 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11773 here.
11774 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11775 always_ld_library_path. Set LD_LIBRARY_PATH here.
11776 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11777 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11778 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11779 CX8 flag.
11780 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11781 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11782 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11783 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11784 * testsuite/libgomp.c/atomic-10.c: Ditto.
11785
2ada56f5
JJ
117862007-03-21 Jakub Jelinek <jakub@redhat.com>
11787
11788 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11789 dg-final cleanup-modules line.
11790 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11791 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11792 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11793 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11794 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11795 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11796 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11797
f210f1cd
AS
117982007-03-18 Andreas Schwab <schwab@suse.de>
11799
11800 * acinclude.m4: Adjust regular expression for ld version
11801 extraction.
11802 * configure: Regenerate.
11803
c4dc950d
BM
118042007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11805
11806 * Makefile.am: Add install-pdf target as copied from
11807 automake v1.10 rules.
11808 * Makefile.in: Regenerate
11809
e02a048f
JJ
118102007-02-07 Jakub Jelinek <jakub@redhat.com>
11811
78e075d4
JJ
11812 PR libgomp/28486
11813 * configure: Regenerate.
11814
e02a048f
JJ
11815 PR c++/30703
11816 * testsuite/libgomp.c++/pr30703.C: New test.
11817
60def7ed
JJ
118182007-02-02 Jakub Jelinek <jakub@redhat.com>
11819
11820 Revert:
11821 2006-07-05 Eric Christopher <echristo@apple.com>
11822 * configure.ac: Depend addition of -pthread on host OS.
11823 * configure: Regenerate.
11824
f1b0882e
RW
118252007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11826
11827 * libgomp.texi: Fix spacing after abbreviations.
11828
748b9d7c
DF
118292007-01-31 Daniel Franke <franke.daniel@gmail.com>
11830
11831 PR libgomp/30546
11832 * configure.ac: Add check for makeinfo
11833 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 11834 if an appropriate version of makeinfo is found.
748b9d7c
DF
11835 * aclocal.m4: Regenerated.
11836 * configure: Regenerated.
11837 * Makefile.in: Regenerated.
11838 * testsuite/Makefile.in: Regenerated.
11839
14734fc7
DF
118402007-01-29 Daniel Franke <franke.daniel@gmail.com>
11841
11842 PR libgomp/30540
11843 * libgomp.texi: More about implementation-dependent settings.
11844
7befd5d2
TB
118452007-01-26 Tobias Burnus <burnus@net-b.de>
11846
11847 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11848
4288fea2
JJ
118492007-01-24 Jakub Jelinek <jakub@redhat.com>
11850
11851 PR middle-end/30494
11852 * testsuite/libgomp.c/pr30494.c: New test.
11853
627ab4b8
TT
118542007-01-15 Tom Tromey <tromey@redhat.com>
11855
11856 * configure: Rebuilt.
11857 * configure.ac: Fixed comment.
11858
7c2b7f45
DF
118592007-01-14 Daniel Franke <franke.daniel@gmail.com>
11860
11861 * libgomp.texi: Document implementation specific default values of
11862 environment variables.
11863
3721b9e1
DF
118642006-12-21 Daniel Franke <franke.daniel@gmail.com>
11865
11866 PR libgomp/28209
11867 * libgomp.texi: New file.
11868 * configure.ac: Add --enable-generated-files-in-srcdir option.
11869 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11870 files to srcdir.
11871 * Makefile.in: Regenerated.
11872 * config.h.in: Regenerated.
11873 * testsuite/Makefile.in: Regenerated.
11874 * NOTES: Removed.
11875
62bd6216
DF
118762006-12-04 Daniel Franke <franke.daniel@gmail.com>
11877
11878 PR libgomp/29949
11879 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11880
aad741f4
EB
118812006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11882
11883 * configure: Regenerate.
11884
22568cc6
JJ
118852006-12-04 Jakub Jelinek <jakub@redhat.com>
11886
11887 PR libgomp/29947
11888 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11889 start if there shouldn't be any loop iterations.
11890 (gomp_loop_ordered_static_start): Remove start == end test.
11891 * testsuite/libgomp.c/pr29947-1.c: New test.
11892 * testsuite/libgomp.c/pr29947-2.c: New test.
11893
a9690009
EB
118942006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11895
11896 * configure.tgt: Force initial-exec TLS model on Linux only.
11897
597c25e6
DJ
118982006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11899
11900 * configure: Regenerated.
11901
6acf0b38
UB
119022006-11-09 Uros Bizjak <ubizjak@gmail.com>
11903
11904 * env.c (parse_schedule): Reject out of range values.
11905 (parse_unsigned_long): Reject out of range, negative or zero values.
11906
a7a53ca5
JJ
119072006-10-29 Jakub Jelinek <jakub@redhat.com>
11908
11909 PR fortran/29629
11910 * testsuite/libgomp.fortran/pr29629.f90: New test.
11911
6d4d216a
EB
119122006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11913
11914 PR libgomp/29494
11915 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11916 * config/posix95: New directory.
11917 * config/posix95/omp-lock.h: New file.
11918 * config/posix95/lock.c: Likewise.
11919
5b043f08
GK
119202006-10-14 Geoffrey Keating <geoffk@apple.com>
11921
11922 * aclocal.m4: Regenerate.
11923 * configure: Regenerate.
11924
b50019f0
DS
119252006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11926
11927 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11928 '<' to '<='.
11929
8887708e
DS
119302006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11931
11932 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11933 test.
11934 * configure: Regenerate.
11935 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11936
9b9e4cd6
JJ
119372006-09-26 Jakub Jelinek <jakub@redhat.com>
11938
a70ad3bb
JJ
11939 PR middle-end/25261
11940 PR middle-end/28790
11941 * testsuite/libgomp.c/nestedfn-4.c: New test.
11942 * testsuite/libgomp.c/nestedfn-5.c: New test.
11943 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11944
9b9e4cd6
JJ
11945 PR fortran/29097
11946 * testsuite/libgomp.fortran/condinc1.f: New test.
11947 * testsuite/libgomp.fortran/condinc2.f: New test.
11948 * testsuite/libgomp.fortran/condinc3.f90: New test.
11949 * testsuite/libgomp.fortran/condinc4.f90: New test.
11950 * testsuite/libgomp.fortran/condinc1.inc: New file.
11951
2fb31455
TT
119522006-09-18 Tom Tromey <tromey@redhat.com>
11953
11954 * configure: Rebuilt.
11955
c663e301
JM
119562006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11957
11958 PR c/28768
11959 PR preprocessor/14634
11960 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11961 to AC_DEFINE.
11962 * configure: Regenerate.
11963
38371be9
SK
119642006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11965
11966 * testsuite/libgomp.fortran/reduction3.f90: Change
11967 -2147483648 to -huge(i)-1 to avoid overflow.
11968 * testsuite/libgomp.fortran/reduction4.f90: Change
11969 Z'ffffffff' to not(0) to avoid overflow.
11970
571d5ac5
JM
119712006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11972
11973 PR libgomp/25938
11974 * Makefile.am (libsubincludedir): New.
11975 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11976 * Makefile.in: Regenerate.
11977
89b3e3cd
JJ
119782006-08-17 Jakub Jelinek <jakub@redhat.com>
11979
11980 PR libgomp/28725
11981 * env.c: Include ctype.h.
11982 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11983 leading and/or trailing whitespace and compare strings case
11984 insensitively.
11985
742fae05
JJ
119862006-07-16 Jakub Jelinek <jakub@redhat.com>
11987
11988 PR fortran/28390
11989 * testsuite/libgomp.fortran/pr28390.f: New test.
11990
a1daed2d
EC
119912006-07-05 Eric Christopher <echristo@apple.com>
11992
11993 * configure.ac: Depend addition of -pthread on host OS.
11994 * configure: Regenerate.
11995
5d7b5199
JJ
119962006-06-21 Jakub Jelinek <jakub@redhat.com>
11997
11998 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11999 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12000 defined.
12001
fe5568e9
JJ
120022006-06-20 Jakub Jelinek <jakub@redhat.com>
12003
12004 PR libgomp/26175
12005 PR libgomp/26477
12006 * configure.ac: If neither --enable-linux-futex nor
12007 --disable-linux-futex is passed, determine the default by checking
12008 for compiling and/or running against NPTL. With --enable-linux-futex,
12009 check if SYS_gettid and SYS_futex are defined.
12010 * configure: Rebuilt.
12011
c3b11a40
RH
120122006-06-14 Richard Henderson <rth@redhat.com>
12013
12014 PR libgomp/28008
12015 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12016 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12017
d0d1b24d
RH
120182006-06-09 Richard Henderson <rth@redhat.com>
12019
12020 * env.c (gomp_nthreads_var): Change to unsigned long.
12021 (gomp_run_sched_chunk): Likewise.
12022 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12023 (initialize_env): Initialize gomp_thread_attr.
12024 * libgomp.h (gomp_nthreads_var): Update decl.
12025 (gomp_run_sched_chunk): Likewise.
12026 (gomp_thread_attr): Declare.
12027 * team.c (gomp_thread_attr): Export.
12028 (initialize_team): Don't initialize it.
12029
cd75853e
JJ
120302006-06-09 Jakub Jelinek <jakub@redhat.com>
12031
12032 PR fortran/27916
12033 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12034 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12035
33815e0c
FXC
120362006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12037
12038 * config/mingw32/time.c: New file.
12039 * configure.tgt: Use it.
12040
6667de0d
CD
120412006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12042
12043 * Makefile.am: Add install-html target. Add install-html to .PHONY
12044 * Makefile.in: Regenerate.
12045
e962c46b
JDA
120462006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12047
12048 PR libgomp/27612
12049 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12050 * testsuite/libgomp.c/critical-1.c: Likewise.
12051 * testsuite/libgomp.c/loop-1.c: Likewise.
12052 * testsuite/libgomp.c/loop-2.c: Likewise.
12053 * testsuite/libgomp.c/single-1.c: Likewise.
12054 * testsuite/libgomp.c/ordered-1.c: Likewise.
12055 * testsuite/libgomp.c/ordered-2.c: Likewise.
12056
eeb1d9e0
JJ
120572006-05-15 Jakub Jelinek <jakub@redhat.com>
12058
12059 PR middle-end/27416
12060 * libgomp.fortran/pr27416-1.f90: New test.
12061
693d710f
JJ
120622006-05-03 Jakub Jelinek <jakub@redhat.com>
12063
12064 PR fortran/27395
12065 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12066 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12067
8ca5b2a2
JJ
120682006-05-02 Jakub Jelinek <jakub@redhat.com>
12069
12070 PR c++/26943
12071 * testsuite/libgomp.c/pr26943-1.c: New test.
12072 * testsuite/libgomp.c/pr26943-2.c: New test.
12073 * testsuite/libgomp.c/pr26943-3.c: New test.
12074 * testsuite/libgomp.c/pr26943-4.c: New test.
12075 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12076 * testsuite/libgomp.c++/pr26943.C: New test.
12077
077b0dfb
JJ
120782006-05-02 Jakub Jelinek <jakub@redhat.com>
12079
12080 PR middle-end/27337
12081 * testsuite/libgomp.c++/pr27337.C: New test.
12082
91b6c26d
JJ
120832006-04-26 Jakub Jelinek <jakub@redhat.com>
12084
12085 PR c/26171
12086 * testsuite/libgomp.c/pr26171.c: New test.
12087
60e1758f
RH
120882006-04-25 Richard Henderson <rth@redhat.com>
12089
12090 PR libgomp/25865
12091 * configure.ac: Use GCC_CHECK_TLS.
12092 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12093 * Makefile.in, aclocal.m4, configure: Regenerate.
12094
615baed7
MK
120952006-04-10 Matthias Klose <doko@debian.org>
12096
12097 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12098 directory names containing underscores.
12099
fae2b46b
JJ
121002006-03-21 Jakub Jelinek <jakub@redhat.com>
12101
12102 PR c++/26691
12103 * testsuite/libgomp.c++/pr26691.C: New test.
12104
11a5f608
JJ
121052006-03-13 Jakub Jelinek <jakub@redhat.com>
12106
12107 * testsuite/libgomp.fortran/retval2.f90: New test.
12108
1799e5d5
RH
121092006-03-09 Diego Novillo <dnovillo@redhat.com>
12110
12111 * testsuite/libgomp.c++: New directory.
12112
d349482e
AT
121132006-02-25 Shantonu Sen <ssen@opendarwin.org>
12114
12115 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12116 * config/posix/sem.c: Implement the above.
12117
121182006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12119
12120 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12121 define HAVE_BROKEN_POSIX_SEMAPHORES.
12122 * configure: Rebuilt.
12123 * config.h.in: Rebuilt.
12124
124452c9
FXC
121252006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12126
12127 PR bootstrap/26161
12128 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12129 for the other pthread check.
12130 * configure: Regenerate.
12131 * config.h.in: Regenerate.
12132
dd8d6dfe
JJ
121332006-02-15 Jakub Jelinek <jakub@redhat.com>
12134
12135 PR libgomp/25938
12136 PR libgomp/25984
12137 * Makefile.am (fincludedir): New variable.
12138 (nodist_include_HEADERS): Remove Fortran files.
12139 (nodist_finclude_HEADERS): New variable.
12140 * Makefile.in: Regenerated.
12141
6c7a4dfd
JJ
121422006-02-13 Jakub Jelinek <jakub@redhat.com>
12143
12144 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12145 Remove tests for returning assumed character length arrays.
12146
5142e08b
RS
121472006-02-12 Roger Sayle <roger@eyesopen.com>
12148 John David Anglin <dave@hiauly1.hia.nrc.ca>
12149
12150 PR libgomp/25936
12151 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 12152
5821fba8
UW
121532006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12154
12155 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12156
cb2bbc67
EB
121572006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12158
12159 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12160 part of LD_LIBRARY_PATH manually.
12161
f05ee80c
L
121622006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12163
12164 PR libgomp/25852
12165 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12166 libgomp_init.
12167
03b8fe49
PB
121682005-01-25 Paolo Bonzini <bonzini@gnu.org>
12169
12170 PR libgomp/25884
f05ee80c
L
12171 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12172 * configure.ac (PERL): Don't set.
12173 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12174 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12175 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12176 * omp.h.in: Wrap the new configure substitutions with @ characters.
12177 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12178 * aclocal.m4, configure, Makefile.in: Regenerate.
12179 * mkomp_h.pl: Delete.
03b8fe49 12180
18cbfd85
PB
121812005-01-24 Paolo Bonzini <bonzini@gnu.org>
12182
12183 PR libgomp/25259
12184 * configure.ac: Use GCC_HEADER_STDINT.
12185 * libgomp.h: Include gstdint.h.
12186 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12187 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12188
c41303c6
RH
121892006-01-24 Richard Henderson <rth@redhat.com>
12190
12191 PR libgomp/25942
12192 * configure.ac: Add AM_MAINTAINER_MODE.
12193 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12194
149b9553
DN
121952006-01-24 Diego Novillo <dnovillo@redhat.com>
12196
12197 * Makefile.in: Regenerate.
12198 * testsuite/Makefile.in: Regenerate.
12199 * aclocal.m4: Regenerate.
12200
192a50ad
AT
122012006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12202
12203 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12204 Solaris.
12205 * configure.ac: Add check for loadavg.h.
12206 (link_gomp): Adjust comment.
12207 * configure: Regenerate.
12208 * config.h.in: Regenerate.
12209
a55b8e18
SE
122102006-01-21 Steve Ellcey <sje@cup.hp.com>
12211
12212 PR libgomp/25877
12213 * configure.ac: Remove check for alloca.h.
12214 * configure: Regenerate.
12215 * config.h.in: Regenerate.
12216 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12217 * team.c: Remove use of alloca.h.
12218 Call gomp_alloca instead of alloca.
12219
692eeb34
SE
122202006-01-20 Steve Ellcey <sje@cup.hp.com>
12221
12222 PR libgomp/25877
12223 * team.c: Add include of alloca.h.
12224 * configure.ac: Add check for alloca.h.
12225 * configure: Regenerate.
12226 * config.h.in: Regenerate.
12227
953ff289
DN
122282006-01-17 Jakub Jelinek <jakub@redhat.com>
12229
12230 PR fortran/25219
12231 * testsuite/libgomp.fortran/pr25219.f90: New test.
12232
122332005-12-05 Uros Bizjak <uros@kss-loka.si>
12234
12235 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12236 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12237 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12238 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12239 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12240 testsuite/libgomp.fortran/threadprivate1.f90,
12241 testsuite/libgomp.fortran/threadprivate2.f90,
12242 testsuite/libgomp.fortran/threadprivate3.f90,
12243 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12244 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12245 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12246 effective-target to TLS runtime.
12247
12248 * testsuite/libgomp.fortran/pr25162.f: Require
12249 effective-target TLS runtime.
12250
122512005-12-01 Jakub Jelinek <jakub@redhat.com>
12252
12253 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12254 * testsuite/libgomp.c/nestedfn-3.c: New test.
12255
122562005-11-30 Jakub Jelinek <jakub@redhat.com>
12257
12258 PR fortran/25162
12259 * testsuite/libgomp.fortran/pr25162.f: New test.
12260
122612005-11-28 Jakub Jelinek <jakub@redhat.com>
12262
12263 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12264 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12265
122662005-11-25 Jakub Jelinek <jakub@redhat.com>
12267
12268 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12269 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12270 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12271 single.c, team.c, work.c, config/linux/alpha/futex.h,
12272 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12273 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12274 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12275 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12276 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12277 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12278 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12279 FSF address.
12280
122812005-11-18 Jakub Jelinek <jakub@redhat.com>
12282
12283 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12284 to nodist_noinst_HEADERS.
12285 * Makefile.in: Rebuilt.
12286
12287 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12288 add integer count field.
12289 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12290 omp_nest_lock_t type change.
12291 (omp_init_nest_lock): Likewise. Initialize count to 0.
12292 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12293 Increment count.
12294 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12295 Decrement count.
12296 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12297 Increment count if successful and return the new nesting level.
12298 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12299 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12300 * testsuite/libgomp.c/lib-1.c: New test.
12301 * testsuite/libgomp.fortran/lib1.f90: New test.
12302 * testsuite/libgomp.fortran/lib2.f: New test.
12303 * testsuite/libgomp.fortran/lib3.f: New test.
12304
123052005-11-17 Richard Henderson <rth@redhat.com>
12306
12307 PR 24845
12308 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12309 * configure.ac (link_gomp): New. Substitute it.
12310 (AC_CONFIG_FILES): Add libgomp.spec.
12311 * libgomp.spec.in: New file.
12312 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12313 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12314
123152005-11-18 Jakub Jelinek <jakub@redhat.com>
12316
12317 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12318 reduction(-:var) behaving the same as reduction(+:var).
12319 * testsuite/libgomp.c/reduction-4.c: New test.
12320
123212005-11-15 Uros Bizjak <uros@kss-loka.si>
12322
12323 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12324 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12325 testsuite/libgomp.c/copyin-3.c,
12326 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12327 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12328 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12329 testsuite/libgomp.c++/pr24455.C,
12330 testsuite/libgomp.fortran/threadprivate1.f90,
12331 testsuite/libgomp.fortran/threadprivate2.f90,
12332 testsuite/libgomp.fortran/threadprivate3.f90,
12333 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12334 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12335 testsuite/libgomp.fortran/omp_parse3.f90: Require
12336 effective-target TLS.
12337
123382005-11-14 Diego Novillo <dnovillo@redhat.com>
12339
12340 * HEADER: Remove.
12341
123422005-11-13 Jakub Jelinek <jakub@redhat.com>
12343
12344 PR libgomp/24797
12345 * team.c (initialize_team): Pass NULL rather than free as
12346 pthread_key_create destructor. Initialize thread specific data
12347 pointer in initial thread to a static local variable rather than
12348 malloced memory.
12349
123502005-11-11 Uros Bizjak <uros@kss-loka.si>
12351
12352 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12353 its location to ld_library_path.
12354
123552005-11-10 Diego Novillo <dnovillo@redhat.com>
12356
12357 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12358
123592005-11-10 Diego Novillo <dnovillo@redhat.com>
12360
12361 * testsuite/libgomp.c: Rename from libgomp.dg.
12362
123632005-11-09 Diego Novillo <dnovillo@redhat.com>
12364
12365 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12366 threadprivate variable 'i'.
12367
123682005-11-09 Jakub Jelinek <jakub@redhat.com>
12369
12370 * config/linux/s390/futex.h: New file.
12371 * configure.tgt: Use it.
12372
12373 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12374 before the parallel.
12375
123762005-11-08 Jakub Jelinek <jakub@redhat.com>
12377
12378 PR c++/24734
12379 * testsuite/libgomp.c++/master-1.C: New test.
12380
123812005-11-07 Jakub Jelinek <jakub@redhat.com>
12382
12383 * testsuite/libgomp.dg/copyin-3.c: New test.
12384
123852005-11-07 Jakub Jelinek <jakub@redhat.com>
12386
12387 * testsuite/libgomp.fortran/retval1.f90: New test.
12388 * testsuite/libgomp.fortran/vla7.f90: New test.
12389
123902005-11-06 Jakub Jelinek <jakub@redhat.com>
12391
12392 * testsuite/libgomp.fortran/vla2.f90: New test.
12393 * testsuite/libgomp.fortran/vla3.f90: New test.
12394 * testsuite/libgomp.fortran/vla4.f90: New test.
12395 * testsuite/libgomp.fortran/vla5.f90: New test.
12396 * testsuite/libgomp.fortran/vla6.f90: New test.
12397
123982005-11-01 Jakub Jelinek <jakub@redhat.com>
12399
12400 * config/linux/sparc/futex.h: New file.
12401 * configure.tgt: Use it.
12402 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12403
12404 * critical.c: Include stdlib.h.
12405 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12406 ignoring return value.
12407 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12408 LIBGOMP_CHECK_SYNC_BUILTINS check.
12409 * configure: Rebuilt.
12410
124112005-10-31 Jakub Jelinek <jakub@redhat.com>
12412
12413 * testsuite/libgomp.fortran/vla1.f90: New test.
12414
124152005-10-31 Richard Henderson <rth@redhat.com>
12416
12417 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12418 setting 's' in different threads.
12419
124202005-10-31 Jakub Jelinek <jakub@redhat.com>
12421
12422 * libgomp.h (attribute_hidden, ialias): Define.
12423 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12424 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12425 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12426 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12427 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12428 omp_test_lock, omp_test_nest_lock): Likewise.
12429 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12430 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12431 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12432 omp_test_lock, omp_test_nest_lock): Likewise.
12433 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12434 omp_get_dynamic, omp_get_nested): Likewise.
12435 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12436 omp_get_thread_num, omp_in_parallel): Likewise.
12437 * fortran.c (ialias_redirect): Define.
12438 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12439 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12440 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12441 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12442 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12443 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12444 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12445 omp_get_wtime): Add ialias_redirect.
12446
124472005-10-30 Jakub Jelinek <jakub@redhat.com>
12448
12449 * fortran.c: Include stdlib.h.
12450
124512005-10-29 Jakub Jelinek <jakub@redhat.com>
12452
12453 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12454 * Makefile.in: Regenerated.
12455
124562005-10-28 Jakub Jelinek <jakub@redhat.com>
12457
12458 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12459 * libgomp_f.h.in (omp_check_defines): New function.
12460 * env.c: Include libgomp_f.h.
12461 (initialize_env): Call omp_check_defines.
12462
12463 * testsuite/libgomp.dg/copyin-2.c: New test.
12464 * testsuite/libgomp.c++/copyin-2.C: New test.
12465 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12466
12467 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12468 * testsuite/libgomp.fortran/sharing2.f90: New test.
12469
12470 * testsuite/libgomp.dg/copyin-1.c: New test.
12471 * testsuite/libgomp.c++/copyin-1.C: New test.
12472
124732005-10-26 Jakub Jelinek <jakub@redhat.com>
12474
12475 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12476
12477 * testsuite/libgomp.fortran/workshare1.f90: New test.
12478
12479 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12480 only test.
12481 * libgomp.fortran/sharing1.f90: New test.
12482
124832005-10-24 Jakub Jelinek <jakub@redhat.com>
12484
12485 PR c++/24502
12486 * testsuite/libgomp.c++/loop-7.C: New test.
12487
12488 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12489
12490 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12491 * testsuite/libgomp.fortran/reduction6.f90: New test.
12492 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12493
124942005-10-23 Richard Henderson <rth@redhat.com>
12495
12496 * testsuite/libgomp.c++/ctor-1.C: New.
12497 * testsuite/libgomp.c++/ctor-2.C: New.
12498 * testsuite/libgomp.c++/ctor-3.C: New.
12499 * testsuite/libgomp.c++/ctor-4.C: New.
12500 * testsuite/libgomp.c++/ctor-5.C: New.
12501 * testsuite/libgomp.c++/ctor-6.C: New.
12502 * testsuite/libgomp.c++/ctor-7.C: New.
12503 * testsuite/libgomp.c++/ctor-8.C: New.
12504 * testsuite/libgomp.c++/ctor-9.C: New.
12505
125062005-10-21 Diego Novillo <dnovillo@redhat.com>
12507
12508 PR 24455
12509 * testsuite/libgomp.c++/pr24455-1.C: New test.
12510 * testsuite/libgomp.c++/pr24455.C: New test.
12511 * testsuite/libgomp.dg/pr24455-1.c: New test.
12512 * testsuite/libgomp.dg/pr24455.c: New test.
12513
125142005-10-20 Richard Henderson <rth@redhat.com>
12515
12516 * testsuite/libgomp.c++/loop-6.C: New.
12517 * testsuite/libgomp.dg/loop-3.c: New.
12518
125192005-10-20 Jakub Jelinek <jakub@redhat.com>
12520
12521 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12522 explicitly private.
12523 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12524 explicitly shared.
12525
125262005-10-19 Diego Novillo <dnovillo@redhat.com>
12527
12528 * testsuite/libgomp.fortran/jacobi.f: New test.
12529
125302005-10-19 Richard Henderson <rth@redhat.com>
12531
12532 * configure.tgt (i?86-linux): Default to with_arch instead of
12533 CFLAGS. Add -mtune to match target_cpu.
12534 (x86_64-linux): Tune to i686.
12535
12536 * fortran.c (omp_test_nest_lock_): Fix typo.
12537
125382005-10-19 Jakub Jelinek <jakub@redhat.com>
12539
12540 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12541 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12542 * testsuite/libgomp.dg/ordered-3.c: New test.
12543
12544 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12545 Remove volatile keyword.
12546
12547 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12548 in COMMON block to avoid warnings on 64-bit targets.
12549
125502005-10-18 Diego Novillo <dnovillo@redhat.com>
12551
12552 * testsuite/libgomp.dg/shared-3.c: New test.
12553
125542005-10-18 Jakub Jelinek <jakub@redhat.com>
12555
12556 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12557 * testsuite/libgomp.fortran/reduction5.f90: New test.
12558
125592005-10-18 Jakub Jelinek <jakub@redhat.com>
12560
12561 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12562 dg-options.
12563 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12564 flush loop now that __sync_synchronize has proper memory barrier.
12565 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12566 Add -ffixed-form to dg-options.
12567
125682005-10-17 Diego Novillo <dnovillo@redhat.com>
12569
12570 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12571 from subdirectories.
12572 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12573 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12574 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12575 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12576 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12577 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12578 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12579 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12580 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12581 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12582 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12583 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12584 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12585 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12586 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12587 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12588 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12589 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12590 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12591 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12592 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12593 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12594 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12595 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12596 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12597
125982005-10-17 Jakub Jelinek <jakub@redhat.com>
12599
12600 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12601 lang_library_path exists. Use find instead of glob to gather tests.
12602 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12603
126042005-10-17 Diego Novillo <dnovillo@redhat.com>
12605
12606 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12607 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12608 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12609 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12610 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12611 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12612 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12613 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12614 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12615 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12616 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12617 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12618 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12619
126202005-10-15 Jakub Jelinek <jakub@redhat.com>
12621
12622 * testsuite/libgomp.dg/vla-1.c: New test.
12623
12624 * testsuite/libgomp.fortran/reference2.f90: New test.
12625
12626 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12627 declaration of omp_get_thread_num.
12628 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12629 use omp_lib.
12630
12631 * testsuite/libgomp.fortran/reduction1.f90: New test.
12632 * testsuite/libgomp.fortran/reduction2.f90: New test.
12633 * testsuite/libgomp.fortran/reduction3.f90: New test.
12634 * testsuite/libgomp.fortran/reduction4.f90: New test.
12635
126362005-10-13 Richard Henderson <rth@redhat.com>
12637
12638 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12639 * Makefile.in: Regenerate.
12640 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12641 * libgomp.h: Include bar.h.
12642 (struct gomp_barrier): Remove.
12643 (struct gomp_team): Add barrier. Replace master_barrier with
12644 master_release. Replace threads with ordered_release.
12645 (struct gomp_thread): Replace barrier with release.
12646 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12647 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12648 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12649 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12650 (GOMP_single_copy_end): Likewise.
12651 * team.c (gomp_threads_dock): New.
12652 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12653 (gomp_thread_start): Use gomp_barrier_wait.
12654 (new_team, free_team): Update for gomp_team changes.
12655 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12656 (gomp_team_end): Use gomp_barrier_wait.
12657 (initialize_team): Update for gomp_thread changes.
12658 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12659 (gomp_work_share_end_nowait): Use atomic ops when available.
12660 * config/linux/bar.c, config/linux/bar.h: New files.
12661 * config/posix/bar.c, config/posix/bar.h: New files.
12662
126632005-10-13 Jakub Jelinek <jakub@redhat.com>
12664
12665 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12666 * testsuite/libgomp.dg/single-2.c: New test.
12667
12668 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12669 lang_link_flags): Unset, so that they aren't inherited from previously
12670 sourced *.exp.
12671
12672 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12673
126742005-10-12 Richard Henderson <rth@redhat.com>
12675
12676 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12677 (libgomp_init): Use lang_test_file, lang_library_path, and
12678 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12679
12680 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12681 (lang_test_file, lang_link_flags): New.
12682 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12683
12684 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12685 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12686 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12687 testsuite/libgomp.c++/parallel-1.C,
12688 testsuite/libgomp.c++/reduction-1.C,
12689 testsuite/libgomp.c++/reduction-2.C,
12690 testsuite/libgomp.c++/reduction-3.C,
12691 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12692 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12693 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12694 New files, largely cribbed from the C testsuite.
12695
126962005-10-12 Jakub Jelinek <jakub@redhat.com>
12697
12698 * testsuite/libgomp.fortran/character1.f90: New test.
12699 * testsuite/libgomp.fortran/character2.f90: New test.
12700
12701 * testsuite/libgomp.dg/nested-1.c: New test.
12702 * testsuite/libgomp.dg/nested-2.c: New test.
12703 * testsuite/libgomp.fortran/do1.f90: New test.
12704 * testsuite/libgomp.fortran/do2.f90: New test.
12705
12706 * testsuite/libgomp.fortran/reference1.f90: New test.
12707
127082005-10-11 Jakub Jelinek <jakub@redhat.com>
12709
12710 * testsuite/libgomp.dg/reduction-1.c: New test.
12711 * testsuite/libgomp.dg/reduction-2.c: New test.
12712 * testsuite/libgomp.dg/reduction-3.c: New test.
12713
127142005-10-10 Jakub Jelinek <jakub@redhat.com>
12715
12716 * testsuite/libgomp.dg/atomic-1.c: New test.
12717 * testsuite/libgomp.dg/atomic-2.c: New test.
12718
127192005-10-09 Richard Henderson <rth@redhat.com>
12720
12721 * critical.c (atomic_lock): New.
12722 (initialize_critical): Initialize it.
12723 (GOMP_atomic_start, GOMP_atomic_end): New.
12724 * libgomp.map: Export them.
12725 * libgomp_g.h: Declare them.
12726
12727 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12728
127292005-10-02 Richard Henderson <rth@redhat.com>
12730
12731 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12732 to XCFLAGS instead of CFLAGS.
12733
127342005-09-30 Richard Henderson <rth@redhat.com>
12735
12736 * configure.ac: Determine whether -pthread or -lpthread is needed.
12737 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 12738 * Makefile.in, configure: Rebuild.
953ff289
DN
12739
127402005-09-28 Richard Henderson <rth@redhat.com>
12741
12742 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12743 * testsuite/libgomp.dg/omp-single-3.c: New test.
12744
127452005-09-28 Diego Novillo <dnovillo@redhat.com>
12746
12747 * testsuite/libgomp.dg/omp-single-2.c: New test.
12748 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12749
127502005-09-27 Richard Henderson <rth@redhat.com>
12751
12752 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12753 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12754
127552005-09-27 Jakub Jelinek <jakub@redhat.com>
12756
12757 * testsuite/libgomp.dg/omp-loop03.c: New test.
12758
127592005-09-27 Diego Novillo <dnovillo@redhat.com>
12760
12761 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12762
127632005-09-27 Diego Novillo <dnovillo@redhat.com>
12764
12765 * testsuite/libgomp.dg/omp-single-1.c: New test.
12766 * testsuite/libgomp.dg/shared-1.c: Return 0.
12767 Add prototype for abort.
12768 * testsuite/libgomp.dg/shared-2.c: Likewise.
12769
127702005-09-26 Jakub Jelinek <jakub@redhat.com>
12771
12772 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12773 constructs.
12774
127752005-09-26 Diego Novillo <dnovillo@redhat.com>
12776
12777 * testsuite/libgomp.dg/shared-1.c: New test.
12778 * testsuite/libgomp.dg/shared-2.c: New test.
12779
127802005-09-24 Richard Henderson <rth@redhat.com>
12781
12782 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12783
127842005-09-24 Richard Henderson <rth@redhat.com>
12785
12786 * iter.c (gomp_iter_static_next): Round up when computing number
12787 of iterations. Don't bother distributing a remainder equally.
12788
12789 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12790 Don't call srand. Zero b before testing.
12791 (main): New.
12792
127932005-09-24 Jakub Jelinek <jakub@redhat.com>
12794
12795 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12796 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12797
127982005-09-23 Jakub Jelinek <jakub@redhat.com>
12799
12800 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12801 without !$omp end do, followed immediately by subroutine end.
12802
128032005-09-23 Diego Novillo <dnovillo@redhat.com>
12804
12805 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12806
128072005-09-22 Richard Henderson <rth@redhat.com>
12808
12809 * critical.c (GOMP_critical_name_start): Change argument to void**.
12810 Reuse the pointer space if the mutex fits.
12811 (GOMP_critical_name_end): Likewise.
12812 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12813 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12814 (GOMP_critical_name_end): Likewise.
12815 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12816 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12817
128182005-09-20 Richard Henderson <rth@redhat.com>
12819
12820 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12821 (create_lock_lock): New.
12822 (initialize_critical): Initialize it.
12823 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12824 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12825
128262005-09-20 Diego Novillo <dnovillo@redhat.com>
12827
12828 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12829
128302005-09-20 Diego Novillo <dnovillo@redhat.com>
12831
12832 * testsuite/libgomp.dg/omp-loop01.c: New test.
12833 * testsuite/libgomp.dg/omp-loop02.c: New test.
12834
128352005-09-20 Jakub Jelinek <jakub@redhat.com>
12836
12837 * configure.ac (AC_PROG_FC): Add.
12838 (USE_FORTRAN): New automake conditional.
12839 * configure: Rebuilt.
12840 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12841 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12842 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12843 Add rules to build them.
12844 * Makefile.in: Rebuilt.
12845 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12846 OMP_NEST_LOCK_KIND.
12847 * libgomp.map: Add Fortran wrappers.
12848 * libgomp_f.h.in: New file.
12849 * omp_lib.h.in: New file.
12850 * omp_lib.f90.in: New file.
12851 * fortran.c: New file.
12852 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12853 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12854 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12855 libgfortran has been built.
12856 * testsuite/libgomp.fortran/fortran.exp: New file.
12857 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12858 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12859 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12860 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12861 * testsuite/libgomp.fortran/omp_hello.f: New test.
12862 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12863 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12864 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12865 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12866 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12867 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12868 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12869 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12870
128712005-08-30 Richard Henderson <rth@redhat.com>
12872
12873 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12874 function for when aliases are not usable.
12875 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12876 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12877 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12878 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12879 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12880 GOMP_loop_ordered_guided_next): Likewise.
12881 * ordered.c (GOMP_ordered_start): Likewise.
12882
128832005-08-01 Diego Novillo <dnovillo@redhat.com>
12884
12885 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12886 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12887 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12888 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12889 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12890 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12891 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12892 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12893 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12894
128952005-07-07 Eric Christopher <echristo@redhat.com>
12896 Diego Novillo <dnovillo@redhat.com>
12897
12898 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12899 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12900 up code.
12901 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12902 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12903 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12904 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12905 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12906 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12907 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12908
129092005-06-13 Diego Novillo <dnovillo@redhat.com>
12910
12911 * TOPLEVEL.patch: Remove.
12912
129132005-05-16 Richard Henderson <rth@redhat.com>
12914
12915 * configure.ac: Test for clock_gettime.
12916 * config.h.in, configure: Rebuild.
12917 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12918 (omp_get_wtime): Use clock_gettime if available.
12919 (omp_get_wtick): Use clock_getres if available.
12920
129212005-05-11 Richard Henderson <rth@redhat.com>
12922
12923 * config/linux/ia64/futex.h: New file.
12924 * configure.tgt: Use it.
12925
12926 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12927
129282005-05-07 Richard Henderson <rth@redhat.com>
12929
12930 * config/linux/powerpc/futex.h: New file.
12931 * configure.tgt: Use it.
12932
12933 * config/linux/i486/futex.h: Merge ...
12934 * config/linux/x86_64/futex.h: ... into ...
12935 * config/linux/x86/futex.h: ... here.
12936 * configure.tgt: Update to match.
12937
129382005-05-06 Richard Henderson <rth@redhat.com>
12939
12940 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12941 * config/linux/i486/futex.h: Likewise.
12942 * config/linux/x86_64/futex.h: Likewise.
12943
12944 * config/linux/lock.c: New file.
12945 * config/linux/omp-lock.h: New file.
12946
12947 * critical.c, env.h: Don't include omp.h
12948 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12949 * config/posix/time.c: Likewise.
12950 * config/posix/omp-lock.h: New file.
12951 * libgomp.h: Include omp-lock.h and omp.h.
12952 * Makefile.am (nodist_include_HEADERS): New.
12953 (omp.h): New rule.
12954 * configure.ac (PERL): New.
12955 * mkomp_h.pl: New file.
12956 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12957 with templates.
12958 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12959
12960 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12961 build directory. Re-add -march=i486 hack.
12962
12963 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12964 (libgomp_link_flags): Remove.
12965 (libgomp_initialized): Remove.
12966 (libgomp_init): Don't protect from reinitialization. Copy code
12967 from libstdc++ for getting the multilib set correctly.
12968
129692005-05-05 Richard Henderson <rth@redhat.com>
12970
12971 * config/linux/alpha/futex.h: New file.
12972 * configure.tgt (alpha*-*-linux*): Use it.
12973
12974 * config/posix/mutex.c: New file.
12975 * config/posix/sem.c: Use libgomp.h.
12976
12977 * configure.tgt (x86_64-linux): Also test CC for -m32.
12978 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12979
a1daed2d 12980 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
12981 after $gccpath.
12982
12983 * Makefile.am (SUBDIRS): New.
12984 (libgomp_la_LDFLAGS): Add -lpthread.
12985 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12986 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12987
12988 * libgomp_g.h: New file.
12989 * libgomp.h: Split out all public declarations to libgomp_g.h.
12990 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12991 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12992 * config/linux/sem.h: Likewise.
12993 * config/posix/sem.h: Likewise.
12994
12995 * Makefile.am (AM_LDFLAGS): New.
12996 (libgomp_version_script): Split out from ...
12997 (libgomp_la_LDFLAGS): ... here.
12998 (libgomp_version_info): New.
12999 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13000 (LIBGOMP_ENABLE): New.
13001 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13002 (LIBGOMP_ENABLE_SYMVERS): New.
13003 * configure.ac (AC_INIT): Version 1.0.
13004 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13005 (enable-linux-futex): Likewise. Rename from enable-futex.
13006 (libtool_VERSION): New.
13007 (LIBGOMP_ENABLE_SYMVERS): Use it.
13008 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13009 * Makefile.in, aclocal.m4, configure: Rebuild.
13010
13011 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13012 (gomp_mutex_unlock_slow): Fix typo.
13013 * config/linux/sem.c: Similarly.
13014 (gomp_sem_post_slow): Fix typo.
13015 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13016 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13017 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13018
13019 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13020 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13021 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13022 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13023 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13024 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13025 LDFLAGS. Pull enable_futex check to top-level.
13026 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13027 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13028
13029 First attempt at real configury.
13030 * Makefile, config.h: Remove file.
13031 * Makefile.am, Makefile.in: New file.
13032 * acinclude.m4 aclocal.m4: New file.
13033 * configure.ac, configure.tgt, configure: New file.
13034
13035 * config/posix/lock.c: Rename from sys-lock.c.
13036 * config/posix/mutex.h: Rename from sys-mutex.h.
13037 * config/posix/sem.c: Rename from sys-sem.c.
13038 * config/posix/sem.h: Rename from sys-sem.h.
13039 * config/posix/proc.c: Rename from sys-proc.c.
13040 * config/posix/time.c: Rename from sys-proc.c.
13041
13042 * config/linux/mutex.c: New file.
13043 * config/linux/mutex.h: New file.
13044 * config/linux/sem.c: New file.
13045 * config/linux/sem.h: New file.
13046 * config/linux/i486/futex.h: New file.
13047 * config/linux/x86_64/futex.h: New file.
13048
130492005-05-04 Richard Henderson <rth@redhat.com>
13050
13051 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13052 * libgomp.h: Declare them.
13053 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13054 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13055
130562005-05-04 Richard Henderson <rth@redhat.com>
13057
13058 * libgomp-1 code drop
13059
130602005-05-04 Richard Henderson <rth@redhat.com>
13061
13062 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13063 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13064 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13065 (gomp_iter_static_next): Update.
13066 (gomp_ordered_static_next): Update.
13067 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13068 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13069 totally empty range.
13070 (gomp_loop_ordered_static_next): Refine test for calling
13071 gomp_ordered_static_next.
13072 * testsuite/ordered-1.c: Add case for more threads than iterations.
13073
13074 * iter.c (gomp_iter_runtime_next_locked): Remove.
13075 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 13076 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
13077 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13078 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13079 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13080 gomp_loop_ordered_guided_next): Downcase name, make static, add
13081 an external alias with the old name.
13082 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13083 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13084 switch and call one of the above static functions.
13085 * libgomp.h: Update.
13086
13087 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13088 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13089 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13090 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13091 GOMP_loop_ordered_guided_start): Update to match.
13092 * sections.c (GOMP_sections_start): Likewise.
13093 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13094
13095 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13096 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13097 Use bounds check instead of modulus.
13098 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13099 (gomp_ordered_last): Don't sync with ordered_owner here.
13100 (gomp_ordered_next): Likewise.
13101 (gomp_ordered_static_loop_next): Likewise.
13102 * loop.c, libgomp.h: Update to match.
13103
13104 * libgomp.h (GOMP_barrier): Declare.
13105
13106 * testsuite/barrier-1.c: New file.
13107 * testsuite/critical-1.c: New file.
13108 * testsuite/ordered-2.c: New file.
13109 * testsuite/ordered-1.c: New file.
13110 * testsuite/sections-1.c: New file.
13111 * testsuite/single-1.c: New file.
13112 * testsuite/Makefile (TESTS): Add them.
13113
131142005-05-04 Richard Henderson <rth@redhat.com>
13115
13116 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13117 * loop.c (GOMP_loop_static_start): If not the startup thread,
13118 acquire the mutex to wait for initialization complete.
13119 (GOMP_loop_ordered_static_start): Likewise.
13120 (GOMP_loop_ordered_runtime_start): Likewise.
13121 (GOMP_loop_ordered_static_first): Remove.
13122 (GOMP_loop_ordered_dynamic_first): Remove.
13123 (GOMP_loop_ordered_guided_first): Remove.
13124 (GOMP_loop_ordered_runtime_first): Remove.
13125 * ordered.c (gomp_ordered_loop_first): Post to own release when
13126 we're the first thread.
13127 (gomp_ordered_loop_last): Wait on release if not owner.
13128 (gomp_ordered_loop_next): Likewise.
13129 (gomp_ordered_static_loop_init): New.
13130 (gomp_ordered_static_loop_next): Use ordered_owner.
13131 (GOMP_ordered_start): Likewise.
13132 * work.c (gomp_new_work_share): Initialize ordered_owner.
13133
131342005-05-03 Richard Henderson <rth@redhat.com>
13135
13136 * Makefile (OPT): New.
13137 (CFLAGS): Use it.
13138
13139 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13140 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13141 * libgomp.h, libgomp.map, NOTES: Update to match.
13142
13143 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13144 Add initialized and thr members.
13145 (gomp_thread_start): Pause when initially spawned to wait for
13146 the whole team to be created.
13147 (gomp_team_start): Release team members at the end.
13148
13149 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13150 (f_foo_1): Use GOMP_loop_end.
13151 (f_foo_2): Use GOMP_loop_end_nowait.
13152
13153 * testsuite/loop-2.c: New file.
13154 * testsuite/Makefile (TESTS): Add it.
13155
131562005-05-03 Richard Henderson <rth@redhat.com>
13157
13158 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13159 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13160 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13161 initial work_share.
13162
13163 * testsuite/Makefile: New file.
13164 * testsuite/loop-1.c: New file.
13165
131662005-05-03 Richard Henderson <rth@redhat.com>
13167
13168 Initial implementation and checkin.
21fa2a29 13169\f
8d9254fc 13170Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
13171
13172Copying and distribution of this file, with or without modification,
13173are permitted in any medium without royalty provided the copyright
13174notice and this notice are preserved.