]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[gcn] Fix build with RTL checking [PR94248]
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
b9dc11b6
TS
12020-04-29 Thomas Schwinge <thomas@codesourcery.com>
2
4912a04f
TS
3 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4 * testsuite/lib/libgomp.exp
5 (offload_target_to_openacc_device_type) [amdgcn*]: Return
6 'radeon'. Adjust all users.
7 (check_effective_target_openacc_amdgcn_accel_present): Rename
8 to...
9 (check_effective_target_openacc_radeon_accel_present): ... this.
10 Adjust all users.
11 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
12 (check_effective_target_openacc_radeon_accel_selected): ... this.
13 Adjust all users.
14
b9dc11b6
TS
15 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
16 'dg-do run'.
17
966de09b
AS
182020-04-23 Andrew Stubbs <ams@codesourcery.com>
19
20 PR other/94629
21
22 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
23 hsa_iterate_agents.
24 (GOMP_OFFLOAD_init_device): Check return values from both calls to
25 hsa_agent_iterate_regions.
26
3f5d94c1
TS
272020-04-20 Thomas Schwinge <thomas@codesourcery.com>
28
29 PR middle-end/94635
30 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
31 run'.
32
85d8c05a
TB
332020-04-20 Tobias Burnus <tobias@codesourcery.com>
34
35 PR middle-end/94120
36 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
37 test case.
38
af557050
TB
392020-04-17 Tobias Burnus <tobias@codesourcery.com>
40
41 PR middle-end/94635
42 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
43
af4c9257
TS
442020-04-13 Thomas Schwinge <thomas@codesourcery.com>
45
46 PR libgomp/92843
47 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
48 Rename to...
49 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
50 ... this.
51 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
52 Rename to...
53 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
54 ... this.
55 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
56 Rename to...
57 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
58 ... this.
59 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
60 Rename to...
61 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
62 ... this.
63 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
64 Rename to...
65 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
66 ... this.
67 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
68 Rename to...
69 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
70 ... this.
71 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
72 Rename to...
73 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
74 ... this.
75 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
76 Rename to...
77 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
78 ... this.
79 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
80 Rename to...
81 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
82 ... this.
83 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
84 Rename to...
85 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
86 ... this.
87 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
88 Rename to...
89 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
90 ... this.
91 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
92 Rename to...
93 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
94 ... this.
95 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
96 Rename to...
97 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
98 ... this.
99 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
100 Rename to...
101 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
102 ... this.
103 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
104 Rename to...
105 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
106 ... this.
107 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
108 Rename to...
109 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
110 ... this.
111
be9862dd
JB
1122020-04-10 Julian Brown <julian@codesourcery.com>
113 Thomas Schwinge <thomas@codesourcery.com>
114
115 PR libgomp/92843
116 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
117 New file.
118 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
119 Likewise.
120 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
121 Likewise.
122 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
123 Likewise.
124 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
125 Likewise.
126 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
127 Likewise.
128 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
129 Likewise.
130 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
131 Likewise.
132 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
133 Likewise.
134 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
135 Likewise.
136 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
137 Likewise.
138 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
139 Likewise.
140 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
141 Likewise.
142 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
143 Likewise.
144 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
145 Likewise.
146 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
147 Likewise.
148
6b816a5f
TS
1492020-04-10 Thomas Schwinge <thomas@codesourcery.com>
150
151 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
152 run'.
153
13e41d8b
TB
1542020-04-08 Tobias Burnus <tobias@codesourcery.com>
155
156 PR middle-end/94120
157 * libgomp.oacc-c++/declare-pr94120.C: New.
158
749bd22d
MR
1592020-04-06 Maciej W. Rozycki <macro@wdc.com>
160
161 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
162 files.
163 * configure: Regenerate.
164 * testsuite/libgomp-site-extra.exp.in: New file.
165 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
166 variable.
167 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
168 variable.
169 * testsuite/Makefile.in: Regenerate.
170
2b1e849b
TS
1712020-04-03 Thomas Schwinge <thomas@codesourcery.com>
172
173 PR tree-optimization/89713
174 PR c/94392
175 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
176 'bar.sync'.
177 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
178
689418b9
TB
1792020-03-31 Tobias Burnus <tobias@codesourcery.com>
180
181 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
182 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
183
c2211a60
TB
1842020-03-24 Tobias Burnus <tobias@codesourcery.com>
185
186 PR libgomp/81689
187 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
188
4897bb00
TB
1892020-03-20 Tobias Burnus <tobias@codesourcery.com>
190
191 PR libgomp/94251
192 * target.c (gomp_load_image_to_device): Fix link
193 variable handling.
194
02f7334a
JJ
1952020-03-19 Jakub Jelinek <jakub@redhat.com>
196
197 PR c++/93931
198 * testsuite/libgomp.c++/pr93931.C: New test.
199
bb83e069
TB
2002020-03-19 Tobias Burnus <tobias@codesourcery.com>
201
202 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
203 dg-allow-blank-lines-in-output.
204
26cbcfe5
TB
2052020-03-18 Julian Brown <julian@codesourcery.com>
206 Tobias Burnus <tobias@codesourcery.com>
207
208 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
209 it work concurrently.
210
4da92887
TB
2112020-03-18 Tobias Burnus <tobias@codesourcery.com>
212
213 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
214 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
215 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
216
9c3cdb43
JJ
2172020-03-14 Jakub Jelinek <jakub@redhat.com>
218
219 PR middle-end/93566
220 * testsuite/libgomp.c/pr93566.c: New test.
221
83d45e1d
FH
2222020-02-21 Frederik Harwath <frederik@codesourcery.com>
223
224 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
225 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
226 integer(acc_device_property) for the type of the return value of
227 acc_get_property.
228
8d1a1cb1
TB
2292020-02-19 Tobias Burnus <tobias@codesourcery.com>
230
231 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
232 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
233 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
234 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
235 (acc_set_device_num): Fix Fortran argument name, use same name for C.
236 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
237 corrections; add note about the previous interface and named constant.
238 (OpenACC library and environment variables): Fix two typos.
239 * openacc.f90: Use for all procedures the argument names from the spec
240 as for …_h they are user visible.
241 (openacc_kinds): Rename acc_device_property to
242 acc_device_property_kinds and change value to int32 ; and update users.
243 Re-add acc_device_property for for backward compatibility.
244 (acc_get_property_string_h): Clean up as acc_device_property_kind
245 changed.
246 (acc_get_property_h): Likewise and return c_size_t instead of
247 acc_device_property.
248 (openacc): Also export acc_device_property_kinds.
249 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
250 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
251 handling; check against /= 0 instead of == 1 to match C.
252 * openacc_lib.h: Use for all procedures the argument names from the spec
253 as for …_h they are user visible. Place !GCC$ into the first column to
254 be active also for fixed-form souce form.
255 (acc_device_current, acc_device_property_kind, acc_device_property,
256 acc_property_memory, acc_property_free_memory, acc_property_name,
257 acc_property_vendor, acc_property_driver): New named constants.
258 (acc_get_property, acc_get_property_string): New generic interface.
259
2d9eb4e4
FH
2602020-02-13 Frederik Harwath <frederik@codesourcery.com>
261
262 PR libgomp/93481
263 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
264 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
265 optional.
266 (gomp_target_task_fn): Assert "devicep->async_run_func".
267 (clear_unsupported_flags): New function to remove unsupported flags
268 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
269 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
270 * testsuite/libgomp.c/target-33.c:
271 Remove xfail for offload_target_nvptx.
272 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
273
2742020-02-10 Frederik Harwath <frederik@codesourcery.com>
275
276 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
277 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
278 * testsuite/libgomp.c/target-34.c: Likewise.
279 * testsuite/libgomp.c/target-link-1.c: Add xfail for
280 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
281
9bc3b95d
JJ
2822020-02-09 Jakub Jelinek <jakub@redhat.com>
283
284 * testsuite/libgomp.c/target-38.c: New test.
285
cb3f0648
JJ
2862020-02-06 Jakub Jelinek <jakub@redhat.com>
287
288 PR libgomp/93515
289 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
290
91bc3c98
TB
2912020-02-05 Tobias Burnus <tobias@codesourcery.com>
292
293 * testsuite/lib/libgomp.exp
294 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
295 and not as 'source' argument to libgomp_target_compile.
296
591f869a
AS
2972020-02-03 Andrew Stubbs <ams@codesourcery.com>
298
299 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
300 (gcn_gfx801_s): Remove.
301 (isa_hsa_name): Remove gfx801.
302 (isa_gcc_name): Remove gfx801/carizzo.
303 (isa_code): Remove gfx801.
304
e464fc90
TB
3052020-02-03 Julian Brown <julian@codesourcery.com>
306 Tobias Burnus <tobias@codesourcery.com>
307
308 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
309 and *_finalize variants; document acc_attach and acc_detach; update
310 references from OpenACC 2.0 to 2.6.
311 * openacc.f90 (openacc_version): Update to 201711.
312 * openacc_lib.h (openacc_version): Update to 201711.
313 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
314 openacc_version to 201711.
315 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
316
5a28e272
KCY
3172020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
318
319 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
320 and vgpr_count fields.
321 (struct kernel_info): Add a field for a hsa_kernel_description.
322 (run_kernel): Reduce the number of threads/workers if the requested
323 number would require too many VGPRs.
324 (init_basic_kernel_info): Initialize description field with
325 the hsa_kernel_description entry for the kernel.
326
5ab5d81b
TB
3272020-01-29 Tobias Burnus <tobias@codesourcery.com>
328
329 PR bootstrap/93409
330 * plugin/configfrag.ac (enable_offload_targets): Skip
331 HSA and GCN plugin besides -m32 also for -mx32.
332 * configure: Regenerate.
333
989a5fb3
FH
3342020-01-29 Frederik Harwath <frederik@codesourcery.com>
335
336 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
337
3382020-01-29 Frederik Harwath <frederik@codesourcery.com>
339
340 * plugin-gcn.c (struct agent_info): Add fields "name" and
341 "vendor_name" ...
342 (GOMP_OFFLOAD_init_device): ... and init from here.
343 (struct hsa_context_info): Add field "driver_version_s" ...
344 (init_hsa_contest): ... and init from here.
345 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
346 implementation.
347 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
348 Enable test execution for amdgcn and host offloading targets.
349 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
350 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
351 (expect_device_properties): Split function into ...
352 (expect_device_string_properties): ... this new function ...
353 (expect_device_memory): ... and this new function.
354 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
355 Add test.
356
278c3214
JB
3572020-01-28 Julian Brown <julian@codesourcery.com>
358
359 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
360 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
361 component/non-component variable refs in a single directive.
362 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
363
e8e66971
MR
3642020-01-24 Maciej W. Rozycki <macro@wdc.com>
365
366 * configure.ac: Handle `--with-toolexeclibdir='.
367 * Makefile.in: Regenerate.
368 * aclocal.m4: Regenerate.
369 * configure: Regenerate.
370 * testsuite/Makefile.in: Regenerate.
371
9e424d97
FH
3722020-01-24 Frederik Harwath <frederik@codesourcery.com>
373
374 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
375 (expect_device_properties): Remove "expected_free_mem" argument,
376 change "expected_total_mem" argument type to size_t;
377 change types of acc_get_property results to size_t,
378 adapt format strings.
379 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
380 Use %zu instead of %zd to print size_t values.
381 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
382 rename to ...
383 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
384 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
385 rename to ...
386 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
387
14e5e746
AS
3882020-01-23 Andrew Stubbs <ams@codesourcery.com>
389
390 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
391 the device id.
392
09e0ad62
AS
3932020-01-20 Andrew Stubbs <ams@codesourcery.com>
394
395 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
396 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
397 Adjust test dimensions for amdgcn.
398 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
399 gang/worker/vector expectations dynamically.
400 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
401 (main): Likewise.
402 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
403 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
404 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
405 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
406 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
408 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
410 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
411 (acc_gang): Recognise acc_device_radeon.
412 (acc_worker): Likewise.
413 (acc_vector): Likewise.
414 (main): Set expectations for amdgcn.
415 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
416 (main): Adjust gang/worker/vector expectations dynamically.
417 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
418 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
419 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
420 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
421 for amdgcn.
422
6687d13a
AS
4232020-01-17 Andrew Stubbs <ams@codesourcery.com>
424
425 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
426 acc_device_radeon.
427 (openacc): Likewise.
428 * openacc.f90 (openacc_kinds): Likewise.
429 (openacc): Likewise.
430 * openacc.h (acc_device_t): Likewise.
431 * openacc_lib.h: Likewise.
432 * testsuite/lib/libgomp.exp
433 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
434 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
435 (cb_compute_construct_end): Likewise.
436 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
437 (cb_enqueue_launch_start): Likewise.
438 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
439 (cb_enter_data_end): Likewise.
440 (cb_exit_data_start): Likewise.
441 (cb_exit_data_end): Likewise.
442 (cb_compute_construct_end): Likewise.
443 (cb_enqueue_launch_start): Likewise.
444 (cb_enqueue_launch_end): Likewise.
445 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
446 (main): Likewise.
447
b3b75e66
TS
4482020-01-10 Thomas Schwinge <thomas@codesourcery.com>
449
6fc0385c
TS
450 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
451 to use this instead of 'enum gomp_device_property'.
452 (GOMP_OFFLOAD_get_property): Rename to...
453 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
454 * libgomp.h (struct gomp_device_descr): Move
455 'GOMP_OFFLOAD_openacc_get_property'...
456 (struct acc_dispatch_t): ... here. Adjust all users.
457 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
458
b3b75e66
TS
459 * target.c (gomp_map_vars_internal)
460 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
461 paths.
462
91df4397
JJ
4632020-01-10 Jakub Jelinek <jakub@redhat.com>
464
465 PR libgomp/93219
466 * libgomp.h (gomp_print_string): Change return type from void to int.
467 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
468 not all characters have been written.
469
df2c0d36
TB
4702020-01-08 Tobias Burnus <tobias@codesourcery.com>
471
472 * libgomp.texi: Fix typos, use https.
473
f760c0c7
TB
4742020-01-03 Tobias Burnus <tobias@codesourcery.com>
475
476 * testsuite/libgomp.fortran/optional-map.f90: Add test for
477 unallocated/disassociated actual arguments to nonallocatable/nonpointer
478 dummy arguments; those are/shall be regarded as absent arguments.
479 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
480 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
481
7e7065b9
JJ
4822020-01-01 Jakub Jelinek <jakub@redhat.com>
483
8d9254fc
JJ
484 Update copyright years.
485
7e7065b9
JJ
486 * libgomp.texi: Bump @copying's copyright year.
487
2c829799
AM
4882019-12-31 Ayush Mittal <ayush.m@samsung.com>
489
490 PR libgomp/93065
491 * oacc-init.c (goacc_runtime_deinitialize): New function.
492
e9dcb75e
JJ
4932019-12-28 Jakub Jelinek <jakub@redhat.com>
494
495 PR bootstrap/93074
496 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
497 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
498
6c84c8bf
MR
4992019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
500 Frederik Harwath <frederik@codesourcery.com>
501 Thomas Schwinge <tschwinge@codesourcery.com>
502
503 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
504 * libgomp-plugin.h (gomp_device_property_value): New union.
505 (gomp_device_property_value): New prototype.
506 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
507 constant.
508 (acc_device_property_t): New enum.
509 (acc_get_property, acc_get_property_string): New prototypes.
510 * oacc-init.c (acc_get_device_type): Also assert that result
511 is not `acc_device_current'.
512 (get_property_any, acc_get_property, acc_get_property_string):
513 New functions.
514 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
515 `acc_property_memory', `acc_property_free_memory',
516 `acc_property_name', `acc_property_vendor' and
517 `acc_property_driver' constants. Add `acc_device_property' data
518 type.
519 (openacc_internal): Add `acc_get_property' and
520 `acc_get_property_string' interfaces. Add `acc_get_property_h',
521 `acc_get_property_string_h', `acc_get_property_l' and
522 `acc_get_property_string_l'.
523 * oacc-host.c (host_get_property): New function.
524 (host_dispatch): Wire it.
525 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
526 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
527 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
528 * libgomp.texi (OpenACC Runtime Library Routines): Add
529 `acc_get_property'.
530 (acc_get_property): New node.
531 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
532 function (stub).
533 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
534 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
535 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
536 calls.
537 (GOMP_OFFLOAD_get_property): New function.
538 (struct ptx_device): Add new field "name".
539 (cuda_driver_version_s): Add new static variable ...
540 (nvptx_init): ... and init from here.
541
542 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
543 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
544 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
545 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
546 with test helper functions.
547
548 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
549
c8e759b4
MR
5502019-12-22 Maciej W. Rozycki <macro@wdc.com>
551
552 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
553 variable.
554
b092fb3b
TS
5552019-12-21 Thomas Schwinge <thomas@codesourcery.com>
556
557 * target.c (gomp_map_vars_internal): Restore 'omp declare target
558 link' handling.
559
9be3ac5d
JB
5602019-12-19 Julian Brown <julian@codesourcery.com>
561
562 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
563 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
564 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
565
02817027
JB
5662019-12-19 Julian Brown <julian@codesourcery.com>
567 Cesar Philippidis <cesar@codesourcery.com>
568
569 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
570 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
571 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
572 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
573 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
574 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
575 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
576 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
577 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
578 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
579 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
580 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
581 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
582
c2eb021f
JB
5832019-12-19 Julian Brown <julian@codesourcery.com>
584
585 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
586 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
587 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
588 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
589 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
590 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
591 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
592 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
593 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
594 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
595 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
596 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
597
8e7e71ff
JB
5982019-12-19 Julian Brown <julian@codesourcery.com>
599
600 * libgomp.h (struct target_var_desc): Add do_detach flag.
601 * oacc-init.c (acc_shutdown_1): Free aux block if present.
602 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
603 struct components. Tidy up and add some new checks.
604 (goacc_enter_data_internal): Update call to find_group_last.
605 (goacc_exit_data_internal): Support detach operations and
606 GOMP_MAP_STRUCT.
607 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
608 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
609 attach/detach in enter/exit data detection code.
610 * target.c (gomp_map_vars_existing): Initialise do_detach field of
611 tgt_var_desc.
612 (gomp_map_vars_internal): Support attach.
613 (gomp_unmap_vars_internal): Support detach.
614
5d5be7bf
JB
6152019-12-19 Julian Brown <julian@codesourcery.com>
616 Thomas Schwinge <thomas@codesourcery.com>
617
618 * libgomp.h (struct splay_tree_aux): Add attach_count field.
619 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
620 * libgomp.map (OACC_2.6): New section. Add acc_attach,
621 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
622 acc_detach_finalize_async.
623 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
624 acc_detach, acc_detach_async, acc_detach_finalize,
625 acc_detach_finalize_async): New functions.
626 * openacc.h (acc_attach, acc_attach_async, acc_detach,
627 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
628 prototypes.
629 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
630 (gomp_remove_var_internal): Free attachment counts if present.
631 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
632 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
633
5bcd470b
JB
6342019-12-19 Julian Brown <julian@codesourcery.com>
635 Cesar Philippidis <cesar@codesourcery.com>
636
637 * libgomp.h (gomp_map_val): Add prototype.
638 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
639 open-coding device-address calculation.
640 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
641 non-present case.
642
378da98f
JB
6432019-12-19 Julian Brown <julian@codesourcery.com>
644
645 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
646 field for virtual_refcount.
647 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
648 (gomp_free_memmap): Remove prototype.
649 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
650 instead of calling gomp_free_memmap.
651 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
652 dynamic_refcount.
653 (acc_unmap_data): Open code instead of forcing target_mem_desc's
654 to_free field to NULL then calling gomp_unmap_vars. Handle
655 REFCOUNT_INFINITY on target blocks.
656 (goacc_enter_data): Rename to...
657 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
658 handling for mapping groups. Use virtual_refcount instead of
659 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
660 map_map_vars_async call. Re-do lookup for target pointer return value.
661 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
662 renamed goacc_enter_datum function.
663 (goacc_exit_data): Rename to...
664 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
665 (acc_delete, acc_delete_async, acc_delete_finalize,
666 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
667 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
668 goacc_exit_datum function.
669 (gomp_acc_remove_pointer, find_pointer): Remove functions.
670 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
671 New functions.
672 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
673 goacc_exit_data_internal helper functions.
674 * target.c (gomp_map_vars_internal): Handle
675 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
676 semantics.
677 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
678 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
679 virtual_refcount field instead of dynamic_refcount.
680 (gomp_free_memmap): Remove function.
681 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
682 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
683 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
684
2a656a93
JB
6852019-12-19 Julian Brown <julian@codesourcery.com>
686 Thomas Schwinge <thomas@codesourcery.com>
687
688 * libgomp.h (struct splay_tree_aux): New.
689 (struct splay_tree_key_s): Replace link_key field with aux pointer.
690 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
691 to aux struct.
692 (gomp_remove_var_internal): Free aux block if present.
693 (gomp_load_image_to_device): Zero-initialise aux field instead of
694 link_key field.
695 (omp_target_associate_pointer): Zero-initialise aux field.
696
601399c0
JJ
6972019-12-18 Jakub Jelinek <jakub@redhat.com>
698
699 PR middle-end/86416
700 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
701 q or none.
702 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
703 L or none.
704
a6163563
JB
7052019-12-19 Julian Brown <julian@codesourcery.com>
706 Maciej W. Rozycki <macro@codesourcery.com>
707 Tobias Burnus <tobias@codesourcery.com>
708 Thomas Schwinge <thomas@codesourcery.com>
709
710 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
711 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
712 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
713 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
714 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
715 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
716 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
717 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
718 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
719
6278b549
TS
7202019-12-18 Thomas Schwinge <thomas@codesourcery.com>
721
77ce5555
TS
722 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
723 called...
724 (goacc_insert_pointer): ... from here, "present" case.
725 (goacc_insert_pointer): Inline function into...
726 (GOACC_enter_exit_data): ... here, and simplify.
727
9444a299
TS
728 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
729 called...
730 (goacc_insert_pointer): ... from here, "not present" case.
731
5031b619
TS
732 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
733 all users.
734
1a79b578
TS
735 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
736 'goacc_enter_data', 'goacc_exit_data'.
737
34cfe31e
TS
738 * oacc-mem.c (delete_copyout): Refactor into...
739 (goacc_exit_data): ... this. Adjust all users.
740
aaf0e9d7
TS
741 * oacc-mem.c (present_create_copy): Refactor into...
742 (goacc_enter_data): ... this. Adjust all users.
743
83d1d065
TS
744 * target.c (gomp_unmap_vars_internal): Add a safeguard to
745 'gomp_remove_var'.
746
cc3f11f5
TS
747 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
748 like 'GOMP_MAP_FROM'.
749
ddb25eb9
TS
750 PR libgomp/92726
751 PR libgomp/92970
752 PR libgomp/92984
753 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
754 fails.
755 (GOACC_enter_exit_data): Simplify accordingly.
756 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
757 subsuming...
758 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
759 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
760 file.
761 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
762 subsuming...
763 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
764 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
765 file.
766 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
767 subsuming...
768 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
769
32128577
TS
770 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
771 'finalize' handling.
772
ba40277f
TS
773 PR libgomp/92848
774 * oacc-mem.c (acc_map_data, present_create_copy)
775 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
776 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
777 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
778 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
779 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
780 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
781 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
782 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
783 Remove "XFAIL"s.
784
6278b549
TS
785 * target.c (gomp_unmap_tgt): Make it 'static'.
786 * libgomp.h (gomp_unmap_tgt): Remove.
787
c80c9e26
TB
7882019-12-18 Tobias Burnus <tobias@codesourcery.com>
789
790 PR middle-end/86416
791 * testsuite/libgomp.c/pr86416-1.c: New.
792 * testsuite/libgomp.c/pr86416-2.c: New.
793
0b8499a4
TB
7942019-12-17 Tobias Burnus <tobias@codesourcery.com>
795
796 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
797 all symbols as public except for the 'use …, only' imported symbol,
798 which is private.
799 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
800 all symbols from module openacc_kinds as PUBLIC
801 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
802 fix comment typo.
803 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
804
1cbd94e8
JB
8052019-12-13 Julian Brown <julian@codesourcery.com>
806
807 PR libgomp/92881
808
809 * libgomp.h (gomp_remove_var_async): Add prototype.
810 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
811 gomp_remove_var.
812 * target.c (gomp_unref_tgt): Change return type to bool, indicating
813 whether target_mem_desc was unmapped.
814 (gomp_unref_tgt_void): New.
815 (gomp_remove_var): Reimplement in terms of...
816 (gomp_remove_var_internal): ...this new helper function.
817 (gomp_remove_var_async): New, implemented using above helper function.
818 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
819 gomp_unref_tgt.
820
26b74ed0
AS
8212019-12-13 Andrew Stubbs <ams@codesourcery.com>
822
823 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
824 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
825 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
826 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
827 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
828 Likewise.
829 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
830 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
831
7858bb96
TB
8322019-12-13 Tobias Burnus <tobias@codesourcery.com>
833
834 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
835 as public except for the 'use …, only' imported symbol, which is
836 private.
837 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
838 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
839 attributes for acc_copyout_finalize and acc_delete_finalize.
840
f8ac7d8f
JJ
8412019-12-11 Jakub Jelinek <jakub@redhat.com>
842
843 PR fortran/92899
844 * testsuite/libgomp.fortran/atomic1.f90: New test.
845
3d1b5e71
TS
8462019-12-11 Thomas Schwinge <thomas@codesourcery.com>
847
d6e8c01c
TS
848 PR libgomp/92843
849 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
850 reference counting for structured 'REFCOUNT_INFINITY'. Add some
851 assertions.
852 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
853 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
854 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
855 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
856 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
857
57963e39
TS
858 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
859 * oacc-mem.c: ... here.
860 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
861 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
862 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
863 Remove.
864 * libgomp_g.h: Update.
865
c5578b56
TS
866 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
867 * oacc-async.c: ... here.
868 * oacc-int.h (goacc_wait): Declare.
869 * libgomp_g.h: Update
870
3d1b5e71
TS
871 PR libgomp/92854
872 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
873 New file.
874 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
875 Likewise.
876 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
877 Likewise.
878 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
879 Likewise.
880 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
881 Likewise.
882 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
883 Likewise.
884
5e939438
TS
8852019-12-11 Thomas Schwinge <thomas@codesourcery.com>
886 Julian Brown <julian@codesourcery.com>
887
888 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
889 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
890
93d90219
TB
8912019-12-11 Tobias Burnus <tobias@codesourcery.com>
892
893 * omp_lib.h.in: Fix spelling of function declaration
894 omp_get_cancell(l)ation.
895 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
896 Fix typos.
897 * env.c: Fix comment typos.
898 * oacc-host.c: Likewise.
899 * ordered.c: Likewise.
900 * task.c: Likewise.
901 * team.c: Likewise.
902 * config/gcn/task.c: Likewise.
903 * config/gcn/team.c: Likewise.
904 * config/nvptx/task.c: Likewise.
905 * config/nvptx/team.c: Likewise.
906 * plugin/plugin-gcn.c: Likewise.
907 * testsuite/libgomp.fortran/jacobi.f: Likewise.
908 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
909 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
910
a0221aee
TB
9112019-12-11 Tobias Burnus <tobias@codesourcery.com>
912
913 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
914 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
915 unnecessary 'dg-additional-options "-w"'.
916
47afc7b4
TS
9172019-12-09 Thomas Schwinge <thomas@codesourcery.com>
918 Julian Brown <julian@codesourcery.com>
919
920 PR libgomp/92116
921 PR libgomp/92877
922
923 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
924 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
925 Adjust all users.
926 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
927 Remove XFAIL.
928 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
929 Likewise.
930 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
931
b5859e40
TS
9322019-12-09 Thomas Schwinge <thomas@codesourcery.com>
933
cec41816
TS
934 PR libgomp/92503
935 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
936 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
937 file.
938 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
939 Likewise.
940 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
941 Likewise.
942 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
943 Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
945 Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
947 Likewise.
948 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
949 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
950 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
951 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
952 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
953 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
956 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
958
e103542b
TS
959 PR libgomp/92840
960 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
961 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
962 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
963 New file.
964 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
965 Likewise.
966 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
967 Likewise.
968 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
969 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
970
41f36f22
TS
971 PR libgomp/92511
972 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
973 this file...
974 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
975 this file...
976 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
977 file...
978 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
979 file...
980 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
981 ... with their content moved into, and extended in this new file.
982 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
983 New file.
984 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
985 Likewise.
986 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
987 Likewise.
988 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
989 Likewise.
990
6effebe1
TS
991 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
992
7d020473
TS
993 PR libgomp/92854
994 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
995
1e1fb715
TS
996 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
997
b5859e40
TS
998 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
999
11586ed9
TB
10002019-12-09 Tobias Burnus <tobias@codesourcery.com>
1001
1002 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1003 unique.
1004 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1005 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1006 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1007 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1008 Ditto.
1009 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1010 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1011
3ad4a03a
KCY
10122019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1013
1014 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1015
6e4d01d6
TB
10162019-12-06 Tobias Burnus <tobias@codesourcery.com>
1017 Kwok Cheung Yeung <kcy@codesourcery.com>
1018
1019 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1020 if input it a NULL pointer.
1021 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1022 diagnostic of NULL pointer.
1023 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1024 * testsuite/libgomp.fortran/optional-map.f90: New.
1025 * testsuite/libgomp.fortran/use_device_addr-1.f90
1026 (test_dummy_opt_callee_1_absent): New.
1027 (test_dummy_opt_call_1): Call it.
1028 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1029 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1030 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1031 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1032 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1033 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1034 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1035 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1036 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1037 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1038 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1039 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1040 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1041 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1042 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1043 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1044
ad80ec46
TB
10452019-12-05 Tobias Burnus <tobias@codesourcery.com>
1046
1047 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1048 expect dg-output of 'Error termination.' for GCN.
1049 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1050 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1051
a8a5f4cc
JJ
10522019-12-04 Jakub Jelinek <jakub@redhat.com>
1053
1054 PR fortran/92756
1055 * testsuite/libgomp.fortran/teams1.f90: New test.
1056 * testsuite/libgomp.fortran/teams2.f90: New test.
1057
d8f0024b
FH
10582019-12-03 Frederik Harwath <frederik@codesourcery.com>
1059
1060 * oacc-init.c (acc_known_device_type): Add function.
1061 (unknown_device_type_error): Add function.
1062 (name_of_acc_device_t): Change to call unknown_device_type_error
1063 on unknown type.
1064 (resolve_device): Use acc_known_device_type.
1065 (acc_init): Fail if acc_device_t argument is not valid.
1066 (acc_shutdown): Likewise.
1067 (acc_get_num_devices): Likewise.
1068 (acc_set_device_type): Likewise.
1069 (acc_get_device_num): Likewise.
1070 (acc_set_device_num): Likewise.
1071 (acc_on_device): Add comment that argument validity is not checked.
1072
83caa34e
AS
10732019-12-03 Andrew Stubbs <ams@codesourcery.com>
1074
1075 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1076 Recognize amdgcn.
1077 (check_effective_target_openacc_amdgcn_accel_present): New proc.
1078 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1079 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1080 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1081 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1082
00484365
SN
10832019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
1084
1085 PR libgomp/91938
1086 * configure.tgt: Avoid IE tls on *-*-musl*.
1087
9909a059
TB
10882019-11-29 Tobias Burnus <tobias@codesourcery.com>
1089
1090 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1091 adding a common-block test case.
1092
b3f44388
JJ
10932019-11-29 Jakub Jelinek <jakub@redhat.com>
1094
1095 PR c++/60228
1096 * testsuite/libgomp.c++/udr-20.C: New test.
1097 * testsuite/libgomp.c++/udr-21.C: New test.
1098
b1a73b48
TS
10992019-11-27 Thomas Schwinge <thomas@codesourcery.com>
1100
1101 * testsuite/lib/libgomp.exp
1102 (check_effective_target_offload_target_nvptx): New proc.
1103 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1104 'dg-skip-if'.
1105 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1106 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1107 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1108
b8e72446
RO
11092019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1110
1111 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1112 * testsuite/libgomp.c/pr39591-2.c: Likewise.
1113 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1114 * testsuite/libgomp.c/private-1.c: Likewise.
1115 * testsuite/libgomp.c/task-1.c: Likewise.
1116 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1117
d88b27da
JB
11182019-11-20 Julian Brown <julian@codesourcery.com>
1119
1120 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1121 aq->mutex here.
1122 (queue_push_launch): Lock aq->mutex before calling
1123 wait_for_queue_nonfull.
1124 (queue_push_callback): Likewise.
1125 (queue_push_asyncwait): Likewise.
1126 (queue_push_placeholder): Likewise.
1127
8d2f4ddf
JB
11282019-11-20 Julian Brown <julian@codesourcery.com>
1129
1130 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1131 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1132 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1133 return code.
1134
e307b05f
JB
11352019-11-20 Julian Brown <julian@codesourcery.com>
1136
1137 PR libgomp/92511
1138
1139 * oacc-mem.c (present_create_copy): Fix device pointer return value in
1140 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
1141 in non-present/create case.
1142 (delete_copyout): Change error condition to fail only on copies outside
1143 of mapped block. Adjust error message accordingly.
1144 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1145 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1146 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1147 message.
1148 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1149 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1150 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1151
83115e9e
MR
11522019-11-20 Maciej W. Rozycki <macro@wdc.com>
1153
1154 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1155 libatomic in build-tree testing.
1156
a1289887
MR
11572019-11-18 Maciej W. Rozycki <macro@wdc.com>
1158
1159 * testsuite/Makefile.in: Regenerate.
1160
8916ba87
AS
11612019-11-15 Andrew Stubbs <ams@codesourcery.com>
1162
1163 * testsuite/libgomp.c/target-print-1.c: New file.
1164 * testsuite/libgomp.fortran/target-print-1.f90: New file.
1165 * testsuite/libgomp.oacc-c/print-1.c: New file.
1166 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1167
237957cc
AS
11682019-11-13 Andrew Stubbs <ams@codesourcery.com>
1169 Kwok Cheung Yeung <kcy@codesourcery.com>
1170 Julian Brown <julian@codesourcery.com>
1171 Tom de Vries <tom@codesourcery.com>
1172
1173 * plugin/Makefrag.am: Add amdgcn plugin support.
1174 * plugin/configfrag.ac: Likewise.
1175 * plugin/plugin-gcn.c: New file.
1176 * configure: Regenerate.
1177 * Makefile.in: Regenerate.
1178 * testsuite/Makefile.in: Regenerate.
1179
cee16451
AS
11802019-11-13 Andrew Stubbs <ams@codesourcery.com>
1181
1182 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1183 and use team_malloc variants.
1184 (gomp_gcn_exit_kernel): Use team_free.
1185 * libgomp.h (TEAM_ARENA_SIZE): Define.
1186 (TEAM_ARENA_START): Define.
1187 (TEAM_ARENA_FREE): Define.
1188 (TEAM_ARENA_END): Define.
1189 (team_malloc): New function.
1190 (team_malloc_cleared): New function.
1191 (team_free): New function.
1192 * team.c (gomp_new_team): Initialize and use team_malloc.
1193 (free_team): Use team_free.
1194 (gomp_free_thread): Use team_free.
1195 (gomp_pause_host): Use team_free.
1196 * work.c (gomp_init_work_share): Use team_malloc.
1197 (gomp_fini_work_share): Use team_free.
1198
fa499995
AS
11992019-11-13 Andrew Stubbs <ams@codesourcery.com>
1200 Kwok Cheung Yeung <kcy@codesourcery.com>
1201 Julian Brown <julian@codesourcery.com>
1202 Tom de Vries <tom@codesourcery.com>
1203
1204 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1205 * Makefile.in: Regenerate.
1206 * config.h.in (PLUGIN_GCN): Add new undef.
1207 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1208 * config/gcn/affinity-fmt.c: New file.
1209 * config/gcn/bar.c: New file.
1210 * config/gcn/bar.h: New file.
1211 * config/gcn/doacross.h: New file.
1212 * config/gcn/icv-device.c: New file.
1213 * config/gcn/oacc-target.c: New file.
1214 * config/gcn/simple-bar.h: New file.
1215 * config/gcn/target.c: New file.
1216 * config/gcn/task.c: New file.
1217 * config/gcn/team.c: New file.
1218 * config/gcn/time.c: New file.
1219 * configure.ac: Add amdgcn*-*-*.
1220 * configure: Regenerate.
1221 * configure.tgt: Add amdgcn*-*-*.
1222 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1223 * libgomp.h (gcn_thrs): Add amdgcn variant.
1224 (set_gcn_thrs): Likewise.
1225 (gomp_thread): Likewise.
1226 * oacc-int.h (goacc_thread): Likewise.
1227 * oacc-target.c: New file.
1228 * openacc.f90 (acc_device_gcn): New parameter.
1229 * openacc.h (acc_device_t): Add acc_device_gcn.
1230 * team.c (gomp_free_pool_helper): Add amdgcn support.
1231
d2903ce0
AS
12322019-11-13 Andrew Stubbs <ams@codesourcery.com>
1233 Julian Brown <julian@codesourcery.com>
1234
1235 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1236 parameter.
1237 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1238 queue constructor.
1239 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1240 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1241 device parameter.
1242
b3d14b3a
AS
12432019-11-13 Andrew Stubbs <ams@codesourcery.com>
1244
1245 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1246 * config/nvptx/libgomp-plugin.c: Move ...
1247 * config/accel/libgomp-plugin.c: ... to here.
1248 * config/nvptx/lock.c: Move ...
1249 * config/accel/lock.c: ... to here.
1250 * config/nvptx/mutex.c: Move ...
1251 * config/accel/mutex.c: ... to here.
1252 * config/nvptx/mutex.h: Move ...
1253 * config/accel/mutex.h: ... to here.
1254 * config/nvptx/oacc-async.c: Move ...
1255 * config/accel/oacc-async.c: ... to here.
1256 * config/nvptx/oacc-cuda.c: Move ...
1257 * config/accel/oacc-cuda.c: ... to here.
1258 * config/nvptx/oacc-host.c: Move ...
1259 * config/accel/oacc-host.c: ... to here.
1260 * config/nvptx/oacc-init.c: Move ...
1261 * config/accel/oacc-init.c: ... to here.
1262 * config/nvptx/oacc-mem.c: Move ...
1263 * config/accel/oacc-mem.c: ... to here.
1264 * config/nvptx/oacc-plugin.c: Move ...
1265 * config/accel/oacc-plugin.c: ... to here.
1266 * config/nvptx/omp-lock.h: Move ...
1267 * config/accel/omp-lock.h: ... to here.
1268 * config/nvptx/openacc.f90: Move ...
1269 * config/accel/openacc.f90: ... to here.
1270 * config/nvptx/pool.h: Move ...
1271 * config/accel/pool.h: ... to here.
1272 * config/nvptx/proc.c: Move ...
1273 * config/accel/proc.c: ... to here.
1274 * config/nvptx/ptrlock.c: Move ...
1275 * config/accel/ptrlock.c: ... to here.
1276 * config/nvptx/ptrlock.h: Move ...
1277 * config/accel/ptrlock.h: ... to here.
1278 * config/nvptx/sem.c: Move ...
1279 * config/accel/sem.c: ... to here.
1280 * config/nvptx/sem.h: Move ...
1281 * config/accel/sem.h: ... to here.
1282 * config/nvptx/thread-stacksize.h: Move ...
1283 * config/accel/thread-stacksize.h: ... to here.
1284
62aee289
MR
12852019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1286 Tobias Burnus <tobias@codesourcery.com>
1287 Frederik Harwath <frederik@codesourcery.com>
1288 Thomas Schwinge <thomas@codesourcery.com>
1289
1290 libgomp/
1291 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1292 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1293 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1294
a2c26c50
TB
12952019-11-11 Tobias Burnus <tobias@codesourcery.com>
1296 Kwok Cheung Yeung <kcy@codesourcery.com>
1297
1298 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1299 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1300
6d4868f3
TS
13012019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1302
bfa1837b
TS
1303 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1304
6d4868f3
TS
1305 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1306 run'.
1307 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1308 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1309
5d183d17
FH
13102019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1311
1312 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1313 Add expected warnings about missing reduction clauses.
1314 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1315 Likewise.
1316 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1317 Likewise.
1318 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1319 Likewise.
1320
d8f03b03
TB
13212019-11-04 Tobias Burnus <tobias@codesourcery.com>
1322
1323 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1324 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1325 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1326 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1327 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1328 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1329
12fd2ec5
TB
13302019-11-04 Tobias Burnus <tobias@codesourcery.com>
1331
1332 PR fortran/92305
1333 * testsuite/libgomp.fortran/allocatable2.f90: Use
1334 unique numbers with 'stop'.
1335 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1336 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1337 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1338 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1339 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1340
92e63bd2
TB
13412019-11-01 Tobias Burnus <tobias@codesourcery.com>
1342
1343 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1344 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1345 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1346 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1347 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1348 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1349
91ae0a46
TB
13502019-10-30 Tobias Burnus <tobias@codesourcery.com>
1351
1352 * testsuite/libgomp.fortran/target9.f90: New.
1353
c425e66b
TB
13542019-10-30 Tobias Burnus <tobias@codesourcery.com>
1355
1356 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1357 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1358 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1359 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1360 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1361 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1362 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1363 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1364 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1365 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1366 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1367 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1368 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1369 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1370 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1371 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1372 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1373 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1374 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1375 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1376 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1377 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1378 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1379 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1380 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1381 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1382 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1383 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1384 * testsuite/libgomp.fortran/character1.f90: Ditto.
1385 * testsuite/libgomp.fortran/character2.f90: Ditto.
1386 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1387 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1388 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1389 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1390 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1391 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1392 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1393 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1394 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1395 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1396 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1397 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1398 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1399 * testsuite/libgomp.fortran/do1.f90: Ditto.
1400 * testsuite/libgomp.fortran/do2.f90: Ditto.
1401 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1402 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1403 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1404 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1405 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1406 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1407 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1408 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1409 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1410 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1411 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1412 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1413 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1414 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1415 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1416 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1417 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1418 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1419 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1420 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1421 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1422 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1423 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1424 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1425 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1426 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1427 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1428 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1429 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1430 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1431 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1432 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1433 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1434 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1435 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1436 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1437 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1438 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1439 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1440 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1441 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1442 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1443 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1444 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1445 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1446 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1447 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1448 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1449 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1450 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1451 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1452 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1453 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1454 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1455 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1456 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1457 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1458 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1459 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1460 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1461 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1462 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1463 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1464 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1465 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1466 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1467 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1468 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1469 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1470 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1471 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1472 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1473 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1474 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1475 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1476 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1477 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1478 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1479 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1480 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1481 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1482 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1483 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1484 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1485 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1486 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1487 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1488 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1489 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1490 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1491 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1492 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1493 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1494 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1495 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1496 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1497 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1498 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1499 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1500 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1501 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1502 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1503 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1504 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1505 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1506 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1507 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1508 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1509 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1510 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1511 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1512 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1513 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1514 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1515 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1516 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1517 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1518 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1519 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1520 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1521 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1522 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1523 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1524 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1525 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1526 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1527 * testsuite/libgomp.fortran/stack.f90: Ditto.
1528 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1529 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1530 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1531 * testsuite/libgomp.fortran/target1.f90: Ditto.
1532 * testsuite/libgomp.fortran/target2.f90: Ditto.
1533 * testsuite/libgomp.fortran/target3.f90: Ditto.
1534 * testsuite/libgomp.fortran/target4.f90: Ditto.
1535 * testsuite/libgomp.fortran/target5.f90: Ditto.
1536 * testsuite/libgomp.fortran/target6.f90: Ditto.
1537 * testsuite/libgomp.fortran/target7.f90: Ditto.
1538 * testsuite/libgomp.fortran/target8.f90: Ditto.
1539 * testsuite/libgomp.fortran/task1.f90: Ditto.
1540 * testsuite/libgomp.fortran/task2.f90: Ditto.
1541 * testsuite/libgomp.fortran/task3.f90: Ditto.
1542 * testsuite/libgomp.fortran/task4.f90: Ditto.
1543 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1544 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1545 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1546 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1547 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1548 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1549 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1550 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1551 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1552 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1553 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1554 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1555 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1556 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1557 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1558 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1559 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1560 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1561 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1562 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1563 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1564 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1565 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1566 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1567 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1568 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1569 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1570 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1571 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1572 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1573 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1574 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1575 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1576 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1577
01509e2f
TB
15782019-10-30 Tobias Burnus <tobias@codesourcery.com>
1579
1580 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1581 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1582 Ditto; add 'dg-do run' for torture testing.
1583 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1584 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1585 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1586 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1587 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1588 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1589 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1590 * testsuite/libgomp.fortran/task2.f90: Ditto.
1591 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1592 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1593 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1594 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1595 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1596 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1597
ffbdd78a
TB
15982019-10-28 Tobias Burnus <tobias@codesourcery.com>
1599
1600 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1601 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1602 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1603 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1604 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1605 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1606 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1607 Use 'stop' not abort().
1608 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1609 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1610 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1611 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1612 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1613 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1614 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1615 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1616 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1617 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1618 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1619 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1620 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1621 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1622 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1623 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1624 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1625 Ditto.
1626 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1627 Ditto.
1628 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1629 Ditto.
1630 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1631 Ditto.
1632 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1633 Ditto.
1634 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1635 Ditto.
1636 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1637 Ditto.
1638 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1639 Ditto.
1640 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1641 Ditto.
1642 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1643 Ditto.
1644 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1645 Ditto.
1646 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1647 Ditto.
1648 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1649 Ditto.
1650 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1651 Ditto.
1652 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1653 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1654 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1655 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1656 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1657 Likewise and also add 'dg-do run'.
1658 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1659 Ditto.
1660
ec084613
CP
16612019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1662 Tobias Burnus <tobias@codesourcery.com>
1663
1664 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1665 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1666 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1667
77ef3394
JJ
16682019-10-14 Jakub Jelinek <jakub@redhat.com>
1669
1670 PR libgomp/92081
1671 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1672 than 0.
1673
08c14aaa
TB
16742019-10-11 Tobias Burnus <tobias@codesourcery.com>
1675
1676 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1677 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1678
6bbead0c
TS
16792019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1680
1681 PR middle-end/92036
1682 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1683 file.
1684
eba3dee8
TB
16852019-10-09 Tobias Burnus <tobias@codesourcery.com>
1686
1687 PR testsuite/91884
1688 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1689 add -lquadmath.
1690 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1691
7d48e14f
JJ
16922019-10-09 Jakub Jelinek <jakub@redhat.com>
1693
1694 PR libgomp/92028
1695 * target.c (gomp_map_vars_internal): Readd the previous
1696 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1697 though do that just in the !not_found_cnt case.
1698
65b67cf3
TB
16992019-10-08 Tobias Burnus <tobias@codesourcery.com>
1700
1701 * gfortran.dg/gomp/target-simd.f90: New.
1702
6c7e076b
JB
17032019-10-02 Julian Brown <julian@codesourcery.com>
1704 Cesar Philippidis <cesar@codesourcery.com>
1705
1706 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1707 * target.c (FIELD_TGT_EMPTY): Define.
1708 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1709 as switch instead of list of ifs.
1710 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1711
d61bff85
AT
17122019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1713
1714 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1715 include. Replace alloca () with __builtin_alloca ().
1716 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1717
810f316d
JJ
17182019-10-01 Jakub Jelinek <jakub@redhat.com>
1719
1720 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1721 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1722 * oacc-parallel.c: Don't include "libgomp_g.h".
1723 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1724 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1725 * aclocal.m4: Regenerated.
1726 * config.h.in: Regenerated.
1727 * configure: Regenerated.
1728 * Makefile.in: Regenerated.
1729
d7f9ee98
KCY
17302019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1731
1732 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1733
e9085da5
MR
17342019-09-27 Maciej W. Rozycki <macro@wdc.com>
1735
1736 * configure: Regenerate.
1737
c28712be
TB
17382019-09-13 Tobias Burnus <tobias@codesourcery.com>
1739
1740 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1741 string is initialized.
1742
3c086f8d
FW
17432019-09-06 Florian Weimer <fweimer@redhat.com>
1744
1745 * configure: Regenerate.
1746
c6c2d1bc
CLT
17472019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1748
1749 PR other/79543
1750 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1751 scanning to conform to the GNU Coding Standards.
1752 * configure: Regenerate.
1753
5cb72d83
JJ
17542019-08-28 Jakub Jelinek <jakub@redhat.com>
1755
1756 PR libgomp/91530
1757 * testsuite/libgomp.c/scan-21.c: New test.
1758 * testsuite/libgomp.c/scan-22.c: New test.
1759
0ad7981c
JJ
17602019-08-27 Jakub Jelinek <jakub@redhat.com>
1761
1762 PR libgomp/91530
1763 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1764 targets.
1765 * testsuite/libgomp.c/scan-12.c: Likewise.
1766 * testsuite/libgomp.c/scan-13.c: Likewise.
1767 * testsuite/libgomp.c/scan-14.c: Likewise.
1768 * testsuite/libgomp.c/scan-15.c: Likewise.
1769 * testsuite/libgomp.c/scan-16.c: Likewise.
1770 * testsuite/libgomp.c/scan-17.c: Likewise.
1771 * testsuite/libgomp.c/scan-18.c: Likewise.
1772 * testsuite/libgomp.c/scan-19.c: Likewise.
1773 * testsuite/libgomp.c/scan-20.c: Likewise.
1774 * testsuite/libgomp.c++/scan-9.C: Likewise.
1775 * testsuite/libgomp.c++/scan-10.C: Likewise.
1776 * testsuite/libgomp.c++/scan-11.C: Likewise.
1777 * testsuite/libgomp.c++/scan-12.C: Likewise.
1778 * testsuite/libgomp.c++/scan-14.C: Likewise.
1779 * testsuite/libgomp.c++/scan-15.C: Likewise.
1780 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1781 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1782 * testsuite/libgomp.c++/scan-16.C: Likewise.
1783
1e67491a
TK
17842019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1785
1786 PR fortran/91473
1787 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1788 -std=legacy so invalid code in the test case is accepted.
1789
393fdeb1
TK
17902019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1791
1792 PR fortran/91422
1793 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1794 dimension.
1795
8860d270
JJ
17962019-08-08 Jakub Jelinek <jakub@redhat.com>
1797
1798 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1799 perform the lookup in the first loop only if !not_found_cnt, otherwise
1800 perform lookups for it in the second loop guarded with
1801 if (not_found_cnt || has_firstprivate).
1802 * testsuite/libgomp.c/target-37.c: New test.
1803 * testsuite/libgomp.c++/target-22.C: New test.
1804
398e3feb
JJ
18052019-08-07 Jakub Jelinek <jakub@redhat.com>
1806
1807 * testsuite/libgomp.c/target-18.c (struct S): New type.
1808 (foo): Use use_device_addr clause instead of use_device_ptr clause
1809 where required by OpenMP 5.0, add further tests for both use_device_ptr
1810 and use_device_addr clauses.
1811 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1812 (foo): Use use_device_addr clause instead of use_device_ptr clause
1813 where required by OpenMP 5.0, add further tests for both use_device_ptr
1814 and use_device_addr clauses. Add t and u arguments.
1815 (main): Adjust caller.
1816
d81ab49d
JJ
18172019-08-06 Jakub Jelinek <jakub@redhat.com>
1818
1819 * testsuite/libgomp.c++/loop-13.C: New test.
1820 * testsuite/libgomp.c++/loop-14.C: New test.
1821 * testsuite/libgomp.c++/loop-15.C: New test.
1822
c3ac76aa
JJ
18232019-07-31 Jakub Jelinek <jakub@redhat.com>
1824
1825 PR middle-end/91301
1826 * testsuite/libgomp.c++/for-27.C: New test.
1827
8dc63166
SK
18282019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1829
393fdeb1 1830 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 1831 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 1832
554a530f
JJ
18332019-07-20 Jakub Jelinek <jakub@redhat.com>
1834
1835 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1836
6cda84b5
JJ
18372019-07-08 Jakub Jelinek <jakub@redhat.com>
1838
1839 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1840 * testsuite/libgomp.c++/scan-16.C: Likewise.
1841
1f52d1a8
JJ
18422019-07-06 Jakub Jelinek <jakub@redhat.com>
1843
6f67abcd
JJ
1844 * testsuite/libgomp.c/scan-19.c: New test.
1845 * testsuite/libgomp.c/scan-20.c: New test.
1846
1f52d1a8
JJ
1847 * testsuite/libgomp.c/scan-11.c: New test.
1848 * testsuite/libgomp.c/scan-12.c: New test.
1849 * testsuite/libgomp.c/scan-13.c: New test.
1850 * testsuite/libgomp.c/scan-14.c: New test.
1851 * testsuite/libgomp.c/scan-15.c: New test.
1852 * testsuite/libgomp.c/scan-16.c: New test.
1853 * testsuite/libgomp.c/scan-17.c: New test.
1854 * testsuite/libgomp.c/scan-18.c: New test.
1855 * testsuite/libgomp.c++/scan-9.C: New test.
1856 * testsuite/libgomp.c++/scan-10.C: New test.
1857 * testsuite/libgomp.c++/scan-11.C: New test.
1858 * testsuite/libgomp.c++/scan-12.C: New test.
1859 * testsuite/libgomp.c++/scan-13.C: New test.
1860 * testsuite/libgomp.c++/scan-14.C: New test.
1861 * testsuite/libgomp.c++/scan-15.C: New test.
1862 * testsuite/libgomp.c++/scan-16.C: New test.
1863
2f03073f
JJ
18642019-07-04 Jakub Jelinek <jakub@redhat.com>
1865
1866 * testsuite/libgomp.c/scan-9.c: New test.
1867 * testsuite/libgomp.c/scan-10.c: New test.
1868
2f6bb511
JJ
18692019-07-03 Jakub Jelinek <jakub@redhat.com>
1870
1871 * testsuite/libgomp.c++/scan-1.C: New test.
1872 * testsuite/libgomp.c++/scan-2.C: New test.
1873 * testsuite/libgomp.c++/scan-3.C: New test.
1874 * testsuite/libgomp.c++/scan-4.C: New test.
1875 * testsuite/libgomp.c++/scan-5.C: New test.
1876 * testsuite/libgomp.c++/scan-6.C: New test.
1877 * testsuite/libgomp.c++/scan-7.C: New test.
1878 * testsuite/libgomp.c++/scan-8.C: New test.
1879 * testsuite/libgomp.c/scan-1.c: New test.
1880 * testsuite/libgomp.c/scan-2.c: New test.
1881 * testsuite/libgomp.c/scan-3.c: New test.
1882 * testsuite/libgomp.c/scan-4.c: New test.
1883 * testsuite/libgomp.c/scan-5.c: New test.
1884 * testsuite/libgomp.c/scan-6.c: New test.
1885 * testsuite/libgomp.c/scan-7.c: New test.
1886 * testsuite/libgomp.c/scan-8.c: New test.
1887
bd194a51
TS
18882019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1889
85fca03a
TS
1890 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1891 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1892 Likewise.
1893
bd194a51
TS
1894 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1895 check.
1896
6652161e
CP
18972019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1898
1899 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1900 file.
1901
3a37d6f6
TS
19022019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1903
4017da8d
TS
1904 PR fortran/90743
1905 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1906 case.
1907 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1908 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1909 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1910 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1911
6f7c1f65
TS
1912 PR testsuite/90861
1913 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1914
3a37d6f6
TS
1915 PR middle-end/90862
1916 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1917
f45ce17d
TV
19182019-06-16 Tom de Vries <tdevries@suse.de>
1919
1920 PR tree-optimization/89376
1921 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1922
00908992
TV
19232019-06-15 Tom de Vries <tdevries@suse.de>
1924
1925 PR tree-optimization/89713
1926 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1927 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1928
211b7533
JJ
19292019-06-15 Jakub Jelinek <jakub@redhat.com>
1930
1931 PR middle-end/90779
1932 * testsuite/libgomp.c/pr90779.c: New test.
1933 * testsuite/libgomp.fortran/pr90779.f90: New test.
1934
120a01d1
TV
19352019-06-15 Tom de Vries <tdevries@suse.de>
1936
1937 PR tree-optimization/90009
1938 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1939
c29c92c7
FX
19402019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1941
1942 PR tree-optimization/89713
1943 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1944
ce9c4ec3
JJ
19452019-06-11 Jakub Jelinek <jakub@redhat.com>
1946
1947 PR target/90811
1948 * testsuite/libgomp.c/pr90811.c: New test.
1949
28b3a77c
JJ
19502019-06-05 Jakub Jelinek <jakub@redhat.com>
1951
1952 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1953 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1954
7855700e
JJ
19552019-06-04 Jakub Jelinek <jakub@redhat.com>
1956
1957 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1958 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1959 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1960 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1961
a7155c2e
RO
19622019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1963
1964 * configure.ac: Call AX_COUNT_CPUS.
1965 Substitute CPU_COUNT.
1966 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1967 count fallback.
1968 * aclocal.m4: Regenerate.
1969 * configure: Regenerate.
1970 * Makefile.in, testsuite/Makefile.in: Regenerate.
1971
7e47198b
JJ
19722019-05-29 Jakub Jelinek <jakub@redhat.com>
1973
1974 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1975 to ...
1976 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1977 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1978 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1979
fcfb8032
JJ
19802019-05-27 Jakub Jelinek <jakub@redhat.com>
1981
8e7757ba
JJ
1982 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1983
36c7a3ff
JJ
1984 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1985
fcfb8032
JJ
1986 PR libgomp/90641
1987 * work.c (gomp_init_work_share): Instead of aligning final ordered
1988 value to multiples of long long alignment, align to that the
1989 first part (ordered team ids) and if inline_ordered_team_ids
1990 is not on a long long alignment boundary within the structure,
1991 use __alignof__ (long long) - 1 pad size always.
1992 * loop.c (GOMP_loop_start): Fix *mem computation if
1993 inline_ordered_team_ids is not aligned on long long alignment boundary
1994 within the structure.
1995 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1996 * sections.c (GOMP_sections2_start): Likewise.
1997
b5c26449
JJ
19982019-05-24 Jakub Jelinek <jakub@redhat.com>
1999
6c7ae8c5
JJ
2000 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2001 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2002
b5c26449
JJ
2003 PR libgomp/90585
2004 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
2005 HAVE_INTTYPES_H is defined.
2006 (print_uint64_t): New typedef.
2007 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2008 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2009 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2010 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
2011 before casting to void *.
2012 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2013 * oacc-mem.c: Don't include config.h nor stdint.h.
2014 * target.c: Don't include config.h.
2015 * oacc-cuda.c: Likewise.
2016 * oacc-host.c: Don't include stdint.h.
2017
3e03ed66
JJ
20182019-05-20 Jakub Jelinek <jakub@redhat.com>
2019
2020 PR libgomp/90527
2021 * alloc.c (_GNU_SOURCE): Define.
2022
5fae049d
TS
20232019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2024
2025 * acc_prof.h: New file.
2026 * oacc-profiling.c: Likewise.
2027 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2028 Add these, respectively.
2029 * Makefile.in: Regenerate.
2030 * env.c (initialize_env): Call goacc_profiling_initialize.
2031 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2032 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2033 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2034 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2035 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2036 acc_prof_register, acc_prof_unregister, and acc_register_library.
2037 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2038 GOMP_PLUGIN_goacc_thread.
2039 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2040 prof_callbacks_enabled members.
2041 (goacc_prof_enabled, goacc_profiling_initialize)
2042 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2043 (goacc_profiling_dispatch): Declare.
2044 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2045 (GOACC_PROFILING_SETUP_P): Define.
2046 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2047 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2048 OpenACC Profiling Interface.
2049 * oacc-cuda.c (acc_get_current_cuda_device)
2050 (acc_get_current_cuda_context, acc_get_cuda_stream)
2051 (acc_set_cuda_stream): Likewise.
2052 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2053 (acc_init, acc_set_device_type, acc_get_device_type)
2054 (acc_get_device_num, goacc_lazy_initialize): Likewise.
2055 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2056 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2057 (acc_unmap_data, present_create_copy, delete_copyout)
2058 (update_dev_host): Likewise.
2059 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2060 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2061 Likewise.
2062 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2063 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2064 Likewise.
2065 * libgomp.texi: Update.
2066 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2067 file.
2068 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2069 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2070 Likewise.
2071 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2072 Likewise.
2073 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2074 Likewise.
2075 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2076 Likewise.
2077
1f4c5b9b
CLT
20782019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
2079
2080 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2081 (struct goacc_asyncqueue_list): Likewise.
2082 (goacc_aq): Likewise.
2083 (goacc_aq_list): Likewise.
2084 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2085 (GOMP_OFFLOAD_openacc_async_test): Remove.
2086 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2087 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2088 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2089 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2090 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2091 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2092 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2093 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2094 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2095 (GOMP_OFFLOAD_openacc_async_exec): Declare.
2096 (GOMP_OFFLOAD_openacc_async_construct): Declare.
2097 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2098 (GOMP_OFFLOAD_openacc_async_test): Declare.
2099 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2100 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2101 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2102 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2103 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2104
2105 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2106 (gomp_acc_insert_pointer): Adjust declaration.
2107 (gomp_copy_host2dev): New declaration.
2108 (gomp_copy_dev2host): Likewise.
2109 (gomp_map_vars_async): Likewise.
2110 (gomp_unmap_tgt): Likewise.
2111 (gomp_unmap_vars_async): Likewise.
2112 (gomp_fini_device): Likewise.
2113
2114 * oacc-async.c (get_goacc_thread): New function.
2115 (get_goacc_thread_device): New function.
2116 (lookup_goacc_asyncqueue): New function.
2117 (get_goacc_asyncqueue): New function.
2118 (acc_async_test): Adjust code to use new async design.
2119 (acc_async_test_all): Likewise.
2120 (acc_wait): Likewise.
2121 (acc_wait_async): Likewise.
2122 (acc_wait_all): Likewise.
2123 (acc_wait_all_async): Likewise.
2124 (goacc_async_free): New function.
2125 (goacc_init_asyncqueues): Likewise.
2126 (goacc_fini_asyncqueues): Likewise.
2127 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2128 design.
2129 (acc_set_cuda_stream): Likewise.
2130 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2131 (host_openacc_register_async_cleanup): Remove.
2132 (host_openacc_async_exec): New function.
2133 (host_openacc_async_test): Adjust parameters.
2134 (host_openacc_async_test_all): Remove.
2135 (host_openacc_async_wait): Remove.
2136 (host_openacc_async_wait_async): Remove.
2137 (host_openacc_async_wait_all): Remove.
2138 (host_openacc_async_wait_all_async): Remove.
2139 (host_openacc_async_set_async): Remove.
2140 (host_openacc_async_synchronize): New function.
2141 (host_openacc_async_serialize): New function.
2142 (host_openacc_async_host2dev): New function.
2143 (host_openacc_async_dev2host): New function.
2144 (host_openacc_async_queue_callback): New function.
2145 (host_openacc_async_construct): New function.
2146 (host_openacc_async_destruct): New function.
2147 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 2148 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
2149 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2150 (goacc_attach_host_thread_to_device): Remove old async code usage.
2151 * oacc-int.h (goacc_init_asyncqueues): New declaration.
2152 (goacc_fini_asyncqueues): Likewise.
2153 (goacc_async_copyout_unmap_vars): Likewise.
2154 (goacc_async_free): Likewise.
2155 (get_goacc_asyncqueue): Likewise.
2156 (lookup_goacc_asyncqueue): Likewise.
2157 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2158 design.
2159 (present_create_copy): Adjust code to use new async design.
2160 (delete_copyout): Likewise.
2161 (update_dev_host): Likewise.
2162 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2163 async design.
2164 (gomp_acc_remove_pointer): Adjust code to use new async design.
2165 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2166 design.
2167 (GOACC_enter_exit_data): Likewise.
2168 (goacc_wait): Likewise.
2169 (GOACC_update): Likewise.
2170 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2171 when called, warn as obsolete in comment.
2172 * target.c (goacc_device_copy_async): New function.
2173 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2174 add goacc_device_copy_async case.
2175 (gomp_copy_dev2host): Likewise.
2176 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2177 (gomp_map_pointer): Likewise.
2178 (gomp_map_fields_existing): Likewise.
2179 (gomp_map_vars_internal): New always_inline function, renamed from
2180 gomp_map_vars.
2181 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2182 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2183 passing goacc_asyncqueue argument.
2184 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2185 (gomp_unref_tgt): New function.
2186 (gomp_unmap_vars_internal): New always_inline function, renamed from
2187 gomp_unmap_vars.
2188 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2189 (gomp_unmap_vars_async): Implement by calling
2190 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2191 (gomp_fini_device): New function.
2192 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2193 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2194 new async interface.
2195 (gomp_target_fini): Adjust code to call gomp_fini_device.
2196
2197 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2198 (struct ptx_stream): Remove.
2199 (struct nvptx_thread): Remove current_stream field.
2200 (cuda_map_create): Remove.
2201 (cuda_map_destroy): Remove.
2202 (map_init): Remove.
2203 (map_fini): Remove.
2204 (map_pop): Remove.
2205 (map_push): Remove.
2206 (struct goacc_asyncqueue): Define.
2207 (struct nvptx_callback): Define.
2208 (struct ptx_free_block): Define.
2209 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2210 stream_lock, and next fields.
2211 (enum ptx_event_type): Remove.
2212 (struct ptx_event): Remove.
2213 (ptx_event_lock): Remove.
2214 (ptx_events): Remove.
2215 (init_streams_for_device): Remove.
2216 (fini_streams_for_device): Remove.
2217 (select_stream_for_async): Remove.
2218 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2219 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2220 case.
2221 (nvptx_open_device): Add free_blocks initialization, remove
2222 init_streams_for_device call.
2223 (nvptx_close_device): Remove fini_streams_for_device call, add
2224 free_blocks destruct code.
2225 (event_gc): Remove.
2226 (event_add): Remove.
2227 (nvptx_exec): Adjust parameters and code.
2228 (nvptx_free): Likewise.
2229 (nvptx_host2dev): Remove.
2230 (nvptx_dev2host): Remove.
2231 (nvptx_set_async): Remove.
2232 (nvptx_async_test): Remove.
2233 (nvptx_async_test_all): Remove.
2234 (nvptx_wait): Remove.
2235 (nvptx_wait_async): Remove.
2236 (nvptx_wait_all): Remove.
2237 (nvptx_wait_all_async): Remove.
2238 (nvptx_get_cuda_stream): Remove.
2239 (nvptx_set_cuda_stream): Remove.
2240 (GOMP_OFFLOAD_alloc): Adjust code.
2241 (GOMP_OFFLOAD_free): Likewise.
2242 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2243 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2244 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2245 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2246 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2247 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2248 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2249 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2250 (cuda_free_argmem): New function.
2251 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2252 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2253 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2254 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2255 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2256 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2257 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2258 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2259 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2260 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2261 (cuda_callback_wrapper): New function.
2262 (cuda_memcpy_sanity_check): New function.
2263 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2264 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2265 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2266 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2267
da2d30c1
TS
22682019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2269
2270 PR target/87835
2271 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2272
2bbbfa4e
TS
22732019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2274
2275 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2276
bbf1efe1
KB
22772019-03-27 Kevin Buettner <kevinb@redhat.com>
2278
2279 * team.c (gomp_team_start): Initialize pool->threads[0].
2280
1241136c
TS
22812019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2282
b03d721a
TS
2283 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2284 "-foffload=$offload_target".
2285 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2286 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2287 * testsuite/lib/libgomp.exp
2288 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2289 as (conceptually) merged into
2290 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2291 users.
2292
0a0384b4
TS
2293 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2294 * testsuite/libgomp-test-support.exp.in: Adjust.
2295 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2296 openacc_device_types_s.
2297 (offload_target_to_openacc_device_type): New proc.
2298 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2299 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2300 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2301 * Makefile.in: Regenerate.
2302 * configure: Likewise.
2303 * testsuite/Makefile.in: Likewise.
2304
ee332b4a
TS
2305 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2306 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2307 instead of OFFLOAD_TARGETS.
2308 * target.c (gomp_target_init): Adjust.
2309 * testsuite/libgomp-test-support.exp.in: Likewise.
2310 * testsuite/lib/libgomp.exp: Likewise. Populate
2311 openacc_device_types_s instead of offload_targets_s_openacc.
2312 (check_effective_target_openacc_nvidia_accel_selected)
2313 (check_effective_target_openacc_host_selected): Adjust.
2314 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2315 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2316 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2317 * Makefile.in: Regenerate.
2318 * config.h.in: Likewise.
2319 * configure: Likewise.
2320 * testsuite/Makefile.in: Likewise.
2321
1241136c
TS
2322 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2323 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2324 "offloading: supported, but hardware not accessible".
2325 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2326 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2327
19695f4d
CLT
23282019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2329
2330 PR c/87924
2331 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2332 goacc_wait().
2333 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2334 and related adjustment.
2335
8b44f8ec
JJ
23362019-01-30 Jakub Jelinek <jakub@redhat.com>
2337
2338 PR c++/88988
2339 * testsuite/libgomp.c++/pr88988.C: New test.
2340
be3a87e7
JJ
23412019-01-28 Jakub Jelinek <jakub@redhat.com>
2342
2343 PR middle-end/89002
2344 * testsuite/libgomp.c/pr89002.c: New test.
2345
497ef4d7
RB
23462019-01-28 Richard Biener <rguenther@suse.de>
2347
2348 PR testsuite/89064
2349 PR tree-optimization/86865
2350 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2351
738c56d4
TV
23522019-01-24 Tom de Vries <tdevries@suse.de>
2353
2354 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2355 once instantiated_devices drops to 0.
2356
4a75460b
TV
23572019-01-23 Tom de Vries <tdevries@suse.de>
2358
2359 PR target/PR88946
2360 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2361 cuMemFree.
2362 (nvptx_exec): Don't call map_push if mapnum == 0.
2363 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2364
4fef8e4d
TV
23652019-01-23 Tom de Vries <tdevries@suse.de>
2366
2367 PR target/88941
2368 PR target/88939
2369 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2370 (map_fini): Remove "assert (!s->map->active)".
2371 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2372
2ee6cb22
TV
23732019-01-23 Tom de Vries <tdevries@suse.de>
2374
2375 PR target/87835
2376 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2377 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2378
d41d952c
TV
23792019-01-15 Tom de Vries <tdevries@suse.de>
2380
2381 PR target/80547
2382 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2383 New test.
2384
efb56ae8
TV
23852019-01-12 Tom de Vries <tdevries@suse.de>
2386
2387 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2388 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2389 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2390 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2391
2c2ff168
TV
23922019-01-12 Tom de Vries <tdevries@suse.de>
2393
2394 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2395
a1057758
TV
23962019-01-12 Tom de Vries <tdevries@suse.de>
2397
2398 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2399 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2400 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2401
56314b77
TV
24022019-01-12 Tom de Vries <tdevries@suse.de>
2403
2404 PR target/85486
2405 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2406 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2407
b39e4366
TV
24082019-01-12 Tom de Vries <tdevries@suse.de>
2409
2410 PR target/85381
2411 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2412 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2413
2cb7a501
TV
24142019-01-12 Tom de Vries <tdevries@suse.de>
2415
2416 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2417 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2418 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2419
8e77f71e
TV
24202019-01-12 Tom de Vries <tdevries@suse.de>
2421
2422 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2423 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2424 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2425
52d22ece
TV
24262019-01-12 Tom de Vries <tdevries@suse.de>
2427
2428 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2429 resources diagnostic.
2430
2b9d9e39
TV
24312019-01-12 Tom de Vries <tdevries@suse.de>
2432
2433 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2434 vector length to be 128.
2435 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2436 length 2097152 to be reduced to 1024 instead of 32.
2437
4102bda6
TS
24382019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2439 James Norris <jnorris@codesourcery.com>
2440
2441 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2442 Library Routines", and "Environment Variables".
2443
052aaace
TV
24442019-01-11 Tom de Vries <tdevries@suse.de>
2445
2446 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2447 num_workers 16.
2448
9390f916
TV
24492019-01-11 Tom de Vries <tdevries@suse.de>
2450
2451 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2452 -foffload=-w.
2453 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2454 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2455 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2456 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2457
2c3e7ad2
TV
24582019-01-11 Tom de Vries <tdevries@suse.de>
2459
2460 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2461 test.
2462
e222497d
NS
24632019-01-10 Nathan Sidwell <nathan@acm.org>
2464 Julian Brown <julian@codesourcery.com>
2465
2466 PR lto/71959
2467 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2468 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2469
cb87fec3
SH
24702019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2471
2472 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2473 and paste code.
2474
30b4d0d0
SH
24752019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2476
2477 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2478 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2479 write.
2480
5d0bc70a
TV
24812019-01-09 Tom de Vries <tdevries@suse.de>
2482
2483 PR target/88756
2484 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2485 #define instead of "const int".
2486 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2487 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2488 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2489 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2490
2c372e81
TV
24912019-01-09 Tom de Vries <tdevries@suse.de>
2492
2493 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2494 one worker.
2495
43493c97
TV
24962019-01-07 Tom de Vries <tdevries@suse.de>
2497
2498 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2499 GOMP_OPENACC_DIM argument.
2500
5c571497
TV
25012019-01-03 Tom de Vries <tdevries@suse.de>
2502
2503 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2504 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2505
a5544970
JJ
25062019-01-01 Jakub Jelinek <jakub@redhat.com>
2507
2508 Update copyright years.
2509
3f27508c
JJ
25102019-01-01 Jakub Jelinek <jakub@redhat.com>
2511
2512 * libgomp.texi: Bump @copying's copyright year.
2513
59d5960c
TS
25142018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2515
2516 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2517 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2518 (GOACC_declare): Redefine the "device" argument to "flags".
2519
a44c1790
TS
25202018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2521 Cesar Philippidis <cesar@codesourcery.com>
2522
2523 * target.c (struct gomp_coalesce_chunk): New structure.
2524 (struct gomp_coalesce_buf): Update the chunks member to use that
2525 type. Adjust all users.
2526
a152954e
TV
25272018-12-19 Tom de Vries <tdevries@suse.de>
2528
2529 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2530 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2531 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2532
49188cd1
TV
25332018-12-19 Tom de Vries <tdevries@suse.de>
2534
2535 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2536 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2537 gcc/testsuite/gcc.dg/goacc.
2538 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2539
c759830b
TS
25402018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2541 Chung-Lin Tang <cltang@codesourcery.com>
2542
2543 * oacc-mem.c (acc_present_or_create): Remove definition and change
2544 to alias of acc_create.
2545 (acc_present_or_copyin): Remove definition and change to alias of
2546 acc_copyin.
2547 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2548 of acc_present_or_create.
2549 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2550 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2551 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2552 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2553 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2554 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2555 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2556 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2557 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2558 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2559 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2560 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2561 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2562 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2563 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2564 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2565
7de562ee
TS
25662018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2567
f847198e
TS
2568 PR libgomp/88495
2569 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2570 "identical parameters".
2571 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2572 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2573
c8ab8aab
TS
2574 PR libgomp/88484
2575 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2576 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2577
1404af62
TS
2578 PR libgomp/88407
2579 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2580 (nvptx_wait_async): Unseen async-argument is a no-op.
2581 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2582 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2583 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2584 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2585 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2586 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2587 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2588 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2589 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2590
7de562ee
TS
2591 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2592 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2593
17469af7
CLT
25942018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2595
2596 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2597 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2598 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2599
18c247cc
TS
26002018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2601
2602 PR libgomp/88370
2603 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2604 (acc_set_cuda_stream): Clarify.
2605 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2606 "async_valid_p".
2607 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2608 acc_async_sync".
2609 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2610 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2611 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2612 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2613
b0aba46c
TV
26142018-12-14 Tom de Vries <tdevries@suse.de>
2615
2616 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2617 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2618 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2619 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2620 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2621
fe0827ee
TV
26222018-12-13 Tom de Vries <tdevries@suse.de>
2623
2624 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2625 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2626 * fortran.c (omp_display_affinity_): ... here.
2627 * libgomp.h (gomp_print_string): Declare.
2628 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2629 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2630 write.
2631
a51f8c92
JJ
26322018-12-13 Jakub Jelinek <jakub@redhat.com>
2633
2634 PR libgomp/88460
2635 * testsuite/libgomp.c++/for-24.C (results): Include it in
2636 omp declare target region.
2637 (main): Use map (always, tofrom: results) instead of
2638 map (tofrom: results).
2639
a6ef2ac9
JJ
26402018-12-12 Jakub Jelinek <jakub@redhat.com>
2641
7a289b7d
JJ
2642 PR fortran/88463
2643 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2644 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2645
a6ef2ac9
JJ
2646 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2647
9c47a019
AS
26482018-12-12 Andreas Schwab <schwab@suse.de>
2649
2650 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2651 clobbered.
2652
d0cbb206
TK
26532018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2654
2655 PR fortran/88411
2656 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2657
84ca08d2
TS
26582018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2659 Jakub Jelinek <jakub@redhat.com>
2660
2661 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2662 devicep->host2dev_func.
2663
6997628d
JJ
26642018-12-08 Jakub Jelinek <jakub@redhat.com>
2665
2666 PR libgomp/87995
2667 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2668 tls_runtime effective target.
2669 (t): New threadprivate variable.
2670 (main): Set t in threads which execute iterations of the worksharing
2671 loop. Propagate that to the task after the loop and don't abort
2672 if the current taskgroup hasn't been cancelled.
2673
daa8c1d7
JJ
26742018-12-02 Jakub Jelinek <jakub@redhat.com>
2675
4a82df9a
JJ
2676 * testsuite/libgomp.c/task-reduction-3.c: New test.
2677
daa8c1d7
JJ
2678 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2679
fe570ff8
CP
26802018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2681
2682 PR libgomp/88288
2683 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2684 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2685
c223608f
TS
26862018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2687
2688 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2689
fc60283c
RB
26902018-10-19 Richard Biener <rguenther@suse.de>
2691
2692 PR tree-optimization/88182
2693 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2694
ffcf3b79
JJ
26952018-11-26 Jakub Jelinek <jakub@redhat.com>
2696
2697 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2698 (RUNTEST): Don't define.
2699 (RUNTESTDEFAULTFLAGS): Add.
2700 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2701 (distclean-am): Depend on distclean-DEJAGNU.
2702 (check-am): If -j% option is present in MFLAGS and if
2703 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2704 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2705 * testsuite/Makefile.in: Regenerated.
2706
ef6e6914
RB
27072018-11-26 Richard Biener <rguenther@suse.de>
2708
2709 PR tree-optimization/88182
2710 * testsuite/libgomp.c++/pr88182.C: New testcase.
2711
72d3bb76
JJ
27122018-11-20 Jakub Jelinek <jakub@redhat.com>
2713
2714 PR bootstrap/88106
2715 * config/mingw32/affinity-fmt.c: New file.
2716
207286c3
JJ
27172018-11-09 Jakub Jelinek <jakub@redhat.com>
2718
9666c522
JJ
2719 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2720 (gomp_display_affinity): Use __builtin_choose_expr to handle
2721 properly handle argument having integral, or pointer or some other
2722 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2723 with uint64_t type instead of %llx and unsigned long long.
2724
207286c3
JJ
2725 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2726 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2727
2033f45b
RO
27282018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2729
2730 * affinity.c: Include <string.h>, <stdio.h>.
2731 (gomp_display_affinity_place): Remove cpusetp.
2732 * teams.c: Include <limits.h>.
2733
28567c40
JJ
27342018-11-08 Jakub Jelinek <jakub@redhat.com>
2735
8991d779
JJ
2736 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2737 in_reduction clause for s[0].
2738
28567c40
JJ
2739 * affinity.c (gomp_display_affinity_place): New function.
2740 * affinity-fmt.c: New file.
2741 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2742 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2743 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2744 Move these functions to ...
2745 * config/nvptx/teams.c: ... here. New file.
2746 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2747 New functions.
2748 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2749 functions.
2750 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2751 and _aligned_malloc.
2752 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2753 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2754 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2755 gomp_affinity_format_len): New variables.
2756 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2757 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2758 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2759 modifiers. Display (non-default) chunk sizes. Print
2760 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2761 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2762 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2763 * fortran.c: Include stdio.h and string.h.
2764 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2765 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2766 (omp_set_affinity_format_, omp_get_affinity_format_,
2767 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2768 omp_pause_resource_all_): New functions.
2769 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2770 switch.
2771 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2772 functions to ...
2773 * teams.c: ... here. New file.
2774 * libgomp_g.h: Include gstdint.h.
2775 (GOMP_loop_nonmonotonic_runtime_start,
2776 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2777 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2778 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2779 GOMP_parallel_loop_nonmonotonic_runtime,
2780 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2781 GOMP_loop_ull_nonmonotonic_runtime_start,
2782 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2783 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2784 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2785 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2786 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2787 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2788 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2789 GOMP_teams_reg): Declare.
2790 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2791 gomp_aligned_alloc uses fallback implementation.
2792 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2793 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2794 (struct gomp_doacross_work_share): Add extra field.
2795 (struct gomp_work_share): Add task_reductions field.
2796 (struct gomp_taskgroup): Add workshare and reductions fields.
2797 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2798 (gomp_thread_handle): New typedef.
2799 (gomp_display_affinity_place, gomp_set_affinity_format,
2800 gomp_display_string, gomp_display_affinity,
2801 gomp_display_affinity_thread): Declare.
2802 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2803 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2804 gomp_workshare_task_reduction_register): Declare.
2805 (gomp_team_start): Add taskgroup argument.
2806 (gomp_pause_host): Declare.
2807 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2808 to size_t.
2809 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2810 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2811 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2812 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2813 GOMP_loop_ull_doacross_start,
2814 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2815 GOMP_loop_maybe_nonmonotonic_runtime_next,
2816 GOMP_loop_maybe_nonmonotonic_runtime_start,
2817 GOMP_loop_nonmonotonic_runtime_next,
2818 GOMP_loop_nonmonotonic_runtime_start,
2819 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2820 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2821 GOMP_loop_ull_nonmonotonic_runtime_next,
2822 GOMP_loop_ull_nonmonotonic_runtime_start,
2823 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2824 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2825 GOMP_taskgroup_reduction_register,
2826 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2827 GOMP_teams_reg and GOMP_taskwait_depend.
2828 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2829 omp_{capture,display}_affinity{,_}, and
2830 omp_[gs]et_affinity_format{,_}.
2831 * loop.c: Include string.h.
2832 (GOMP_loop_runtime_next): Add ialias.
2833 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2834 (gomp_loop_static_start, gomp_loop_dynamic_start,
2835 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2836 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2837 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2838 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2839 or gomp_doacross_init callers.
2840 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2841 GOMP_loop_doacross_start): New functions.
2842 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2843 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2844 Mask off GFS_MONOTONIC bit.
2845 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2846 GOMP_loop_maybe_nonmonotonic_runtime_start,
2847 GOMP_loop_nonmonotonic_runtime_next,
2848 GOMP_loop_nonmonotonic_runtime_start,
2849 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2850 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2851 functions.
2852 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2853 gomp_team_start.
2854 * loop_ull.c: Include string.h.
2855 (GOMP_loop_ull_runtime_next): Add ialias.
2856 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2857 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2858 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2859 gomp_loop_ull_ordered_dynamic_start,
2860 gomp_loop_ull_ordered_guided_start,
2861 gomp_loop_ull_doacross_static_start,
2862 gomp_loop_ull_doacross_dynamic_start,
2863 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2864 and gomp_doacross_ull_init callers.
2865 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2866 GOMP_loop_ull_doacross_start): New functions.
2867 (GOMP_loop_ull_runtime_start,
2868 GOMP_loop_ull_ordered_runtime_start,
2869 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2870 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2871 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2872 GOMP_loop_ull_nonmonotonic_runtime_next,
2873 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2874 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2875 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2876 (omp_pause_resource_t, omp_depend_t): New typedefs.
2877 (enum omp_lock_hint_t): Renamed to ...
2878 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2879 enumerators using numbers and omp_lock_hint_* as their aliases.
2880 (omp_lock_hint_t): New typedef. Rename to ...
2881 (omp_sync_hint_t): ... this.
2882 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2883 omp_sync_hint_t instead of omp_lock_hint_t.
2884 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2885 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2886 Declare.
2887 (omp_target_is_present, omp_target_disassociate_ptr):
2888 Change first argument from void * to const void *.
2889 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2890 from void * to const void *.
2891 (omp_target_associate_ptr): Change first and second arguments from
2892 void * to const void *.
2893 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2894 omp_pause_hard): New parameters.
2895 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2896 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2897 New interfaces.
2898 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2899 omp_pause_hard): New parameters.
2900 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2901 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2902 New externals.
2903 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2904 EXTRA argument. If not needed to prepare array, if extra is 0,
2905 clear ws->doacross, otherwise allocate just doacross structure and
2906 extra payload. If array is needed, allocate also extra payload.
2907 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2908 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2909 doacross == NULL.
2910 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2911 gomp_team_start.
2912 (GOMP_parallel): Likewise. Formatting fix.
2913 (GOMP_parallel_reductions): New function.
2914 (GOMP_cancellation_point): If taskgroup has workshare
2915 flag set, check cancelled of prev taskgroup if any.
2916 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2917 on prev taskgroup if any.
2918 * sections.c: Include string.h.
2919 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2920 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2921 (GOMP_sections2_start): New function.
2922 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2923 Pass NULL as taskgroup to gomp_team_start.
2924 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2925 gomp_work_share_start callers.
2926 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2927 If taskgroup has workshare flag set, check cancelled on prev
2928 taskgroup if any. Guard all cancellation tests with
2929 gomp_cancel_var test.
2930 (omp_target_is_present, omp_target_disassociate_ptr):
2931 Change ptr argument from void * to const void *.
2932 (omp_target_memcpy): Change src argument from void * to const void *.
2933 (omp_target_memcpy_rect): Likewise.
2934 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2935 instead of char * where needed.
2936 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2937 from void * to const void *.
2938 (omp_pause_resource, omp_pause_resource_all): New functions.
2939 * task.c (gomp_task_handle_depend): Handle new depend array format
2940 in addition to the old. Handle mutexinoutset kinds the same as
2941 inout for now, handle unspecified kinds.
2942 (gomp_create_target_task): If taskgroup has workshare flag set, check
2943 cancelled on prev taskgroup if any. Guard all cancellation tests with
2944 gomp_cancel_var test. Handle new depend array format count in
2945 addition to the old.
2946 (GOMP_task): Likewise. Adjust function comment.
2947 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2948 cancelled on prev taskgroup if any. Guard all cancellation tests with
2949 gomp_cancel_var test.
2950 (GOMP_taskwait_depend): New function.
2951 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2952 format in addition to the old. Handle mutexinoutset kinds the same as
2953 inout for now, handle unspecified kinds. Fix a function comment typo.
2954 (gomp_taskgroup_init): New function.
2955 (GOMP_taskgroup_start): Use it.
2956 (gomp_reduction_register, gomp_create_artificial_team,
2957 GOMP_taskgroup_reduction_register,
2958 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2959 gomp_parallel_reduction_register,
2960 gomp_workshare_task_reduction_register,
2961 gomp_workshare_taskgroup_start,
2962 GOMP_workshare_task_reduction_unregister): New functions.
2963 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2964 check cancelled on prev taskgroup if any. Guard all cancellation
2965 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2966 by calling GOMP_taskgroup_reduction_register.
2967 * team.c (gomp_thread_attr): Remove comment.
2968 (struct gomp_thread_start_data): Add handle field.
2969 (gomp_thread_start): Call pthread_detach.
2970 (gomp_new_team): Adjust gomp_init_work_share caller.
2971 (gomp_free_pool_helper): Call pthread_detach.
2972 (gomp_team_start): Add taskgroup argument, initialize implicit
2973 tasks' taskgroup field to that. Don't call
2974 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2975 (gomp_team_end): Determine nesting by thr->ts.level != 0
2976 rather than thr->ts.team != NULL.
2977 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2978 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2979 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2980 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2981 if more than 1 allocate also extra payload at the end of array. Never
2982 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2983 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2984 return true instead of ws.
2985 * Makefile.in: Regenerated.
2986 * configure: Regenerated.
2987 * config.h.in: Regenerated.
2988 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2989 in some cases.
2990 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2991 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2992 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2993 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2994 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2995 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2996 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2997 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2998 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2999 * testsuite/libgomp.c-c++-common/for-11.c: New test.
3000 * testsuite/libgomp.c-c++-common/for-12.c: New test.
3001 * testsuite/libgomp.c-c++-common/for-13.c: New test.
3002 * testsuite/libgomp.c-c++-common/for-14.c: New test.
3003 * testsuite/libgomp.c-c++-common/for-15.c: New test.
3004 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3005 define a different N(test), don't define N(f0) to N(f14), but instead
3006 define N(f20) to N(f34) using != comparisons.
3007 * testsuite/libgomp.c-c++-common/for-7.c: New test.
3008 * testsuite/libgomp.c-c++-common/for-8.c: New test.
3009 * testsuite/libgomp.c-c++-common/for-9.c: New test.
3010 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3011 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3012 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3013 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3014 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3015 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3016 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3017 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3018 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3019 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3020 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3021 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3022 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3023 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3024 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3025 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3026 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3027 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3028 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3029 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3030 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3031 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3032 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3033 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3034 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3035 * testsuite/libgomp.c++/depend-1.C: New test.
3036 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3037 * testsuite/libgomp.c++/depobj-1.C: New test.
3038 * testsuite/libgomp.c++/for-16.C: New test.
3039 * testsuite/libgomp.c++/for-21.C: New test.
3040 * testsuite/libgomp.c++/for-22.C: New test.
3041 * testsuite/libgomp.c++/for-23.C: New test.
3042 * testsuite/libgomp.c++/for-24.C: New test.
3043 * testsuite/libgomp.c++/for-25.C: New test.
3044 * testsuite/libgomp.c++/for-26.C: New test.
3045 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3046 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3047 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3048 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3049 * testsuite/libgomp.c++/task-reduction-10.C: New test.
3050 * testsuite/libgomp.c++/task-reduction-11.C: New test.
3051 * testsuite/libgomp.c++/task-reduction-12.C: New test.
3052 * testsuite/libgomp.c++/task-reduction-13.C: New test.
3053 * testsuite/libgomp.c++/task-reduction-14.C: New test.
3054 * testsuite/libgomp.c++/task-reduction-15.C: New test.
3055 * testsuite/libgomp.c++/task-reduction-16.C: New test.
3056 * testsuite/libgomp.c++/task-reduction-17.C: New test.
3057 * testsuite/libgomp.c++/task-reduction-18.C: New test.
3058 * testsuite/libgomp.c++/task-reduction-19.C: New test.
3059 * testsuite/libgomp.c/task-reduction-1.c: New test.
3060 * testsuite/libgomp.c++/task-reduction-1.C: New test.
3061 * testsuite/libgomp.c/task-reduction-2.c: New test.
3062 * testsuite/libgomp.c++/task-reduction-2.C: New test.
3063 * testsuite/libgomp.c++/task-reduction-3.C: New test.
3064 * testsuite/libgomp.c++/task-reduction-4.C: New test.
3065 * testsuite/libgomp.c++/task-reduction-5.C: New test.
3066 * testsuite/libgomp.c++/task-reduction-6.C: New test.
3067 * testsuite/libgomp.c++/task-reduction-7.C: New test.
3068 * testsuite/libgomp.c++/task-reduction-8.C: New test.
3069 * testsuite/libgomp.c++/task-reduction-9.C: New test.
3070 * testsuite/libgomp.c/teams-1.c: New test.
3071 * testsuite/libgomp.c/teams-2.c: New test.
3072 * testsuite/libgomp.c/thread-limit-4.c: New test.
3073 * testsuite/libgomp.c/thread-limit-5.c: New test.
3074 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3075
58168bbf
CLT
30762018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
3077
3078 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3079 acc_memcpy_to/from_device functions, now with async parameter.
3080 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3081 (acc_memcpy_from_device): Likewise.
3082 (acc_memcpy_to_device_async): New API function.
3083 (acc_memcpy_from_device_async): Likewise.
3084 (present_create_copy): Add async parameter and async setting/unsetting.
3085 (acc_create): Adjust present_create_copy call.
3086 (acc_copyin): Likewise.
3087 (acc_present_or_create): Likewise.
3088 (acc_present_or_copyin): Likewise.
3089 (acc_create_async): New API function.
3090 (acc_copyin_async): New API function.
3091 (delete_copyout): Add async parameter and async setting/unsetting.
3092 (acc_delete): Adjust delete_copyout call.
3093 (acc_copyout): Likewise.
3094 (acc_delete_async): New API function.
3095 (acc_copyout_async): Likewise.
3096 (update_dev_host): Add async parameter and async setting/unsetting.
3097 (acc_update_device): Adjust update_dev_host call.
3098 (acc_update_self): Likewise.
3099 (acc_update_device_async): New API function.
3100 (acc_update_self_async): Likewise.
3101 * openacc.h (acc_copyin_async): Declare new API function.
3102 (acc_create_async): Likewise.
3103 (acc_copyout_async): Likewise.
3104 (acc_delete_async): Likewise.
3105 (acc_update_device_async): Likewise.
3106 (acc_update_self_async): Likewise.
3107 (acc_memcpy_to_device_async): Likewise.
3108 (acc_memcpy_from_device_async): Likewise.
3109 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3110 (acc_copyin_async_64_h): New subroutine.
3111 (acc_copyin_async_array_h): New subroutine.
3112 (acc_create_async_32_h): New subroutine.
3113 (acc_create_async_64_h): New subroutine.
3114 (acc_create_async_array_h): New subroutine.
3115 (acc_copyout_async_32_h): New subroutine.
3116 (acc_copyout_async_64_h): New subroutine.
3117 (acc_copyout_async_array_h): New subroutine.
3118 (acc_delete_async_32_h): New subroutine.
3119 (acc_delete_async_64_h): New subroutine.
3120 (acc_delete_async_array_h): New subroutine.
3121 (acc_update_device_async_32_h): New subroutine.
3122 (acc_update_device_async_64_h): New subroutine.
3123 (acc_update_device_async_array_h): New subroutine.
3124 (acc_update_self_async_32_h): New subroutine.
3125 (acc_update_self_async_64_h): New subroutine.
3126 (acc_update_self_async_array_h): New subroutine.
3127 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3128 (acc_copyin_async_64_h): New subroutine.
3129 (acc_copyin_async_array_h): New subroutine.
3130 (acc_create_async_32_h): New subroutine.
3131 (acc_create_async_64_h): New subroutine.
3132 (acc_create_async_array_h): New subroutine.
3133 (acc_copyout_async_32_h): New subroutine.
3134 (acc_copyout_async_64_h): New subroutine.
3135 (acc_copyout_async_array_h): New subroutine.
3136 (acc_delete_async_32_h): New subroutine.
3137 (acc_delete_async_64_h): New subroutine.
3138 (acc_delete_async_array_h): New subroutine.
3139 (acc_update_device_async_32_h): New subroutine.
3140 (acc_update_device_async_64_h): New subroutine.
3141 (acc_update_device_async_array_h): New subroutine.
3142 (acc_update_self_async_32_h): New subroutine.
3143 (acc_update_self_async_64_h): New subroutine.
3144 (acc_update_self_async_array_h): New subroutine.
3145 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3146 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3147 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3148 acc_memcpy_to_device_async*, acc_update_device_async*, and
3149 acc_update_self_async* entries.
3150 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3151 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3152 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3153
22e05272
JM
31542018-10-31 Joseph Myers <joseph@codesourcery.com>
3155
3156 PR bootstrap/82856
3157 * Makefile.am: Include multilib.am
3158 (AUTOMAKE_OPTIONS): Add info-in-builddir.
3159 (CLEANFILES): Remove libgomp.info.
3160 * configure.ac: Remove AC_PREREQ.
3161 * testsuite/Makefile.am (RUNTEST): Remove quotes.
3162 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3163 Regenerate.
3164
87a5ccfb
JM
31652018-10-29 Joseph Myers <joseph@codesourcery.com>
3166 Julian Brown <julian@codesourcery.com>
3167
3168 * testsuite/libgomp.oacc-c++/this.C: New.
3169
2049befd
CP
31702018-09-18 Cesar Philippidis <cesar@codesourcery.com>
3171
3172 * plugin/plugin-nvptx.c (struct cuda_map): New.
3173 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3174 h_tail with (cuda_map *) map.
3175 (cuda_map_create): New function.
3176 (cuda_map_destroy): New function.
3177 (map_init): Update to use a linked list of cuda_map objects.
3178 (map_fini): Likewise.
3179 (map_pop): Likewise.
3180 (map_push): Likewise. Return CUdeviceptr instead of void.
3181 (init_streams_for_device): Remove stales references to ptx_stream
3182 members.
3183 (select_stream_for_async): Likewise.
3184 (nvptx_exec): Update call to map_init.
3185
8e36332c
CP
31862018-09-09 Cesar Philippidis <cesar@codesourcery.com>
3187 Julian Brown <julian@codesourcery.com>
3188
3189 PR middle-end/86336
3190 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3191
2b4c9065
NK
31922018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
3193 Thomas Koenig <tkoenig@gcc.gnu.org>
3194
3195 PR fortran/25829
3196 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3197 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3198 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3199 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3200 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3201 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3202 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3203
bd9b3d3d
CP
32042018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3205 Tom de Vries <tdevries@suse.de>
3206
3207 PR target/85590
3208 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3209 (cuOccupancyMaxPotentialBlockSize): Declare.
3210 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3211 CUDA_ONE_CALL_MAYBE_NULL.
3212 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3213 CUoccupancyB2DSize and declare
3214 cuOccupancyMaxPotentialBlockSize.
3215 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3216 default num_gangs and num_workers when the driver supports it.
3217
8e09a12f
TV
32182018-08-08 Tom de Vries <tdevries@suse.de>
3219
3220 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3221 CUDA_ONE_CALL_MAYBE_NULL.
3222 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3223 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3224 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3225 are not found.
3226
cedd9bd0
TV
32272018-08-08 Tom de Vries <tdevries@suse.de>
3228
3229 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3230 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3231 present.
3232
b113af95
TV
32332018-08-08 Tom de Vries <tdevries@suse.de>
3234
3235 * plugin/plugin-nvptx.c
3236 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3237 (nvptx_open_device): Use
3238 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3239
94767dac
TV
32402018-08-08 Tom de Vries <tdevries@suse.de>
3241
3242 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3243 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3244
02150de8
TV
32452018-08-07 Tom de Vries <tdevries@suse.de>
3246
3247 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3248 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3249 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3250 corresponding call in CUDA_ONE_CALL. Add def/undef of
3251 CUDA_ONE_CALL_MAYBE_NULL.
3252 (CUDA_CALL_EXISTS): Define.
3253
9e28b107
TV
32542018-08-07 Tom de Vries <tdevries@suse.de>
3255
3256 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3257 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3258 corresponding undefs right after.
3259
09940090
TV
32602018-08-04 Tom de Vries <tdevries@suse.de>
3261
3262 * plugin/configfrag.ac: For --without-cuda-driver, set
3263 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3264 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3265 * configure: Regenerate.
3266
77e0a97a
TV
32672018-08-02 Tom de Vries <tdevries@suse.de>
3268
3269 PR target/86660
3270 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3271 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3272 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3273 Same.
3274 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3275 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3276 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3277
701d080a
CP
32782018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3279 Thomas Schwinge <thomas@codesourcery.com>
3280
3281 * config/nvptx/oacc-parallel.c: Truncate.
3282
094db6be
CP
32832018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3284 James Norris <jnorris@codesourcery.com>
3285
3286 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
3287 (map_init, map_pop): Remove use of struct map.
3288 (map_push): Likewise and change argument list.
094db6be
CP
3289 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3290
8c6310a2
TV
32912018-08-01 Tom de Vries <tdevries@suse.de>
3292
3293 * plugin/cuda-lib.def: New file. Factor out of ...
3294 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3295 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3296 using CUDA_CALLS.
3297
1d4a51cf
AV
32982018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3299
3300 Revert 'AsyncI/O patch committed'.
3301 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3302 Thomas Koenig <tkoenig@gcc.gnu.org>
3303
3304 PR fortran/25829
3305 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3306 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3307 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3308 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3309 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3310 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3311 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3312
4cdfee3f
TV
33132018-07-30 Tom de Vries <tdevries@suse.de>
3314
3315 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3316 (nvptx_exec): Ensure worker and vector default dims don't exceed
3317 targ_fn->max_threads_per_block.
3318
0b210c43
TV
33192018-07-30 Tom de Vries <tdevries@suse.de>
3320
3321 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3322 (nvptx_open_device): Init default_dims for device.
3323 (nvptx_exec): Use default_dims from device.
3324
5883c5cc
JJ
33252018-07-26 Jakub Jelinek <jakub@redhat.com>
3326
5d36384c
JJ
3327 PR testsuite/86660
3328 * testsuite/libgomp.c++/for-15.C (results): Include it in
3329 omp declare target region.
3330 (main): Use map (always, tofrom: results) instead of
3331 map (tofrom: results).
3332
5883c5cc
JJ
3333 PR middle-end/86660
3334 * testsuite/libgomp.c/pr86660.c: New test.
3335
88a4654d
CP
33362018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3337 Tom de Vries <tdevries@suse.de>
3338
3339 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3340 sufficient resources to launch a kernel, and give a hint on how to fix
3341 it.
3342
0c6c2f5f
CP
33432018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3344 Tom de Vries <tdevries@suse.de>
3345
3346 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3347 max_threads_per_block and max_threads_per_multiprocessor fields.
3348 (nvptx_open_device): Initialize new fields.
3349 (nvptx_exec): Use num_sms, and new fields.
3350
6dd58010
TV
33512018-07-26 Tom de Vries <tdevries@suse.de>
3352
3353 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3354 to correct locations. Remove xfail.
3355
b2eb1779
TV
33562018-07-26 Tom de Vries <tdevries@suse.de>
3357
3358 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3359 acc_wait. Move acc_async_test calls to correct locations. Remove
3360 xfail.
3361
b1f45884
NK
33622018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3363 Thomas Koenig <tkoenig@gcc.gnu.org>
3364
3365 PR fortran/25829
3366 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3367 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3368 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3369 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3370 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3371 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3372 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3373
3a106211
JJ
33742018-07-17 Jakub Jelinek <jakub@redhat.com>
3375
a3bccfa1
JJ
3376 PR middle-end/86542
3377 * testsuite/libgomp.c++/pr86542.C: New test.
3378
3a106211
JJ
3379 PR middle-end/86539
3380 * testsuite/libgomp.c++/pr86539.C: New test.
3381
2bae8b2f
JJ
33822018-07-11 Jakub Jelinek <jakub@redhat.com>
3383
3384 PR c++/86443
3385 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3386 (results): Make sure the variable is not inside declare target region.
3387 (qux): Remove unused function.
3388
0b27c3ed
JJ
33892018-07-10 Jakub Jelinek <jakub@redhat.com>
3390
3391 PR c++/86443
3392 * testsuite/libgomp.c++/for-15.C: New test.
3393
f0391511
JJ
33942018-06-26 Jakub Jelinek <jakub@redhat.com>
3395
3396 PR c++/86291
3397 * testsuite/libgomp.c++/pr86291.C: New test.
3398
1a6d1d24
GP
33992018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3400
3401 * libgomp.texi (Top): Move www.openmp.org to https.
3402 (Enabling OpenMP): Ditto.
3403 (omp_get_active_level): Ditto.
3404 (omp_get_ancestor_thread_num): Ditto.
3405 (omp_get_cancellation): Ditto.
3406 (omp_get_default_device): Ditto.
3407 (omp_get_dynamic): Ditto.
3408 (omp_get_level): Ditto.
3409 (omp_get_max_active_levels): Ditto.
3410 (omp_get_max_task_priority): Ditto.
3411 (omp_get_max_threads): Ditto.
3412 (omp_get_nested): Ditto.
3413 (omp_get_num_devices): Ditto.
3414 (omp_get_num_procs): Ditto.
3415 (omp_get_num_teams): Ditto.
3416 (omp_get_num_threads): Ditto.
3417 (omp_get_proc_bind): Ditto.
3418 (omp_get_schedule): Ditto.
3419 (omp_get_team_num): Ditto.
3420 (omp_get_team_size): Ditto.
3421 (omp_get_thread_limit): Ditto.
3422 (omp_get_thread_num): Ditto.
3423 (omp_in_parallel): Ditto.
3424 (omp_in_final): Ditto.
3425 (omp_is_initial_device): Ditto.
3426 (omp_set_default_device): Ditto.
3427 (omp_set_dynamic): Ditto.
3428 (omp_set_max_active_levels): Ditto.
3429 (omp_set_nested): Ditto.
3430 (omp_set_num_threads): Ditto.
3431 (omp_set_schedule): Ditto.
3432 (omp_init_lock): Ditto.
3433 (omp_set_lock): Ditto.
3434 (omp_test_lock): Ditto.
3435 (omp_unset_lock): Ditto.
3436 (omp_destroy_lock): Ditto.
3437 (omp_init_nest_lock): Ditto.
3438 (omp_set_nest_lock): Ditto.
3439 (omp_test_nest_lock): Ditto.
3440 (omp_unset_nest_lock): Ditto.
3441 (omp_destroy_nest_lock): Ditto.
3442 (omp_get_wtick): Ditto.
3443 (omp_get_wtime): Ditto.
3444 (OMP_CANCELLATION): Ditto.
3445 (OMP_DISPLAY_ENV): Ditto.
3446 (OMP_DEFAULT_DEVICE): Ditto.
3447 (OMP_DYNAMIC): Ditto.
3448 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3449 (OMP_MAX_TASK_PRIORITY): Ditto.
3450 (OMP_NESTED): Ditto.
3451 (OMP_NUM_THREADS): Ditto.
3452 (OMP_PROC_BIND): Ditto.
3453 (OMP_PLACES): Ditto.
3454 (OMP_STACKSIZE): Ditto.
3455 (OMP_SCHEDULE): Ditto.
3456 (OMP_THREAD_LIMIT): Ditto.
3457 (OMP_WAIT_POLICY): Ditto.
3458
31dd69b7
CP
34592018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3460 James Norris <jnorris@codesourcery.com>
3461 Julian Brown <julian@codesourcery.com>
3462 Thomas Schwinge <thomas@codesourcery.com>
3463 Tom de Vries <tom@codesourcery.com>
3464
3465 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3466 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3467 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3468 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3469 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3470 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3471 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3472 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3473 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3474 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3475 Likewise.
3476 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3477 Likewise.
3478 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3479 Likewise.
3480 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3481 Likewise.
3482 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3483 Likewise.
3484 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3485 Likewise.
3486 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3487 Likewise.
3488 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3489 Likewise.
3490 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3491 Likewise.
3492 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3493 Likewise.
3494 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3495 Likewise.
3496 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3497 Likewise.
3498 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3499 Likewise.
3500 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3501 Likewise.
3502 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3503 Likewise.
3504 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3505 Likewise.
3506 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3507 Likewise.
3508 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3509 Likewise.
3510 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3511 Likewise.
3512 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3513 Likewise.
3514 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3515 Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3517 Likewise.
3518 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3519 Likewise.
3520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3521 Likewise.
3522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3523 Likewise.
3524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3525 Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3527 Likewise.
3528 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3529 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3530 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3531 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3532 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3533 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3534 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3535 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3536 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3537 Likewise.
3538 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3539 Likewise.
3540 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3541 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3542 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3543 Likewise.
3544 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3545 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3546 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3547 Likewise.
3548 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3549 Likewise.
3550 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3551 Likewise.
3552 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3553 Likewise.
3554 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3555 Likewise.
3556 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3557 Likewise.
3558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3559 Likewise.
3560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3561 Likewise.
3562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3563 Likewise.
3564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3565 Likewise.
3566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3567 Likewise.
3568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3569 Likewise.
3570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3571 Likewise.
3572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3573 Likewise.
3574 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3575 Likewise.
3576 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3577 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3578 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3579 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3580 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3581 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3582 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3583
829c6349
CLT
35842018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3585 Thomas Schwinge <thomas@codesourcery.com>
3586 Cesar Philippidis <cesar@codesourcery.com>
3587
3588 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3589 (gomp_acc_remove_pointer): Update declaration.
3590 (gomp_acc_declare_allocate): Declare.
3591 (gomp_remove_var): Declare.
3592 * libgomp.map (OACC_2.5): Define.
3593 * oacc-mem.c (acc_map_data): Update refcount.
3594 (acc_unmap_data): Likewise.
3595 (present_create_copy): Likewise.
3596 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3597 (acc_copyin): Likewise.
3598 (FLAG_FINALIZE): Define.
3599 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3600 (acc_delete_finalize): New function.
3601 (acc_delete_finalize_async): New function.
3602 (acc_copyout_finalize): New function.
3603 (acc_copyout_finalize_async): New function.
3604 (gomp_acc_insert_pointer): Update refcounts.
3605 (gomp_acc_remove_pointer): Return if data is not present on the
3606 accelerator.
3607 * oacc-parallel.c (find_pset): Rename to find_pointer.
3608 (find_pointer): Add support for GOMP_MAP_POINTER.
3609 (handle_ftn_pointers): New function.
3610 (GOACC_parallel_keyed): Update refcounts of variables.
3611 (GOACC_enter_exit_data): Add support for finalized data mappings.
3612 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3613 of fortran arrays.
3614 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3615 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3616 for GOMP_MAP_FORCE_FROM.
3617 * openacc.f90 (module openacc_internal): Add
3618 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3619 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3620 acc_copyout_finalize and acc_delete_finalize.
3621 (acc_copyout_finalize_32_h): New subroutine.
3622 (acc_copyout_finalize_64_h): New subroutine.
3623 (acc_copyout_finalize_array_h): New subroutine.
3624 (acc_delete_finalize_32_h): New subroutine.
3625 (acc_delete_finalize_64_h): New subroutine.
3626 (acc_delete_finalize_array_h): New subroutine.
3627 * openacc.h (acc_copyout_finalize): Declare.
3628 (acc_copyout_finalize_async): Declare.
3629 (acc_delete_finalize): Declare.
3630 (acc_delete_finalize_async): Declare.
3631 * openacc_lib.h (acc_copyout_finalize): New interface.
3632 (acc_delete_finalize): New interface.
3633 * target.c (gomp_map_vars): Update dynamic_refcount.
3634 (gomp_remove_var): New function.
3635 (gomp_unmap_vars): Use it.
3636 (gomp_unload_image_from_device): Likewise.
3637 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3638 case to utilize OpenACC 2.5 data clause semantics.
3639 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3640 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3641 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3642 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3643 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3644 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3645 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3646 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3647 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3648 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3649 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3650 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3651 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3652 utilize OpenACC 2.5 data clause semantics.
3653 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3654 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3655 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3656 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3657 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3658 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3659 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3660 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3661 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3662
4358400b
JW
36632018-05-21 Janus Weil <janus@gcc.gnu.org>
3664
3665 PR fortran/85841
3666 PR testsuite/85865
3667 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3668 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3669 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3670 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3671 * testsuite/libgomp.fortran/task2.f90: Ditto.
3672 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3673 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3674 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3675 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3676 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3677 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3678 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3679 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3680 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3681
950ad0ba
CP
36822018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3683
3684 PR c++/85782
3685 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3686
f5ad16f1
TV
36872018-05-09 Tom de Vries <tom@codesourcery.com>
3688
3689 PR libgomp/82901
3690 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3691 to GOACC_enter_exit_data.
3692
edbd038a
TV
36932018-05-09 Tom de Vries <tom@codesourcery.com>
3694
3695 PR libgomp/83792
3696 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3697 (async_synchronous_p): New function.
3698 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3699 async_valid_p.
3700 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3701 async_valid_stream_id_p.
3702 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3703 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3704
37d6c719
TV
37052018-05-07 Tom de Vries <tom@codesourcery.com>
3706
3707 PR testsuite/85677
3708 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3709 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3710
63f12215
TV
37112018-05-03 Tom de Vries <tom@codesourcery.com>
3712
3713 PR testsuite/85106
3714 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3715 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3716 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3717 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3718
ec00d3fa
TV
37192018-05-02 Tom de Vries <tom@codesourcery.com>
3720
3721 PR libgomp/85411
3722 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3723 GOMP_OPENACC_DIM ...
3724 * env.c (parse_gomp_openacc_dim): ... here. New function.
3725 (initialize_env): Call parse_gomp_openacc_dim.
3726 (goacc_default_dims): Define.
3727 * libgomp.h (goacc_default_dims): Declare.
3728 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3729 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3730 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3731 GOMP_PLUGIN_acc_default_dim.
3732 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3733 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3734
92243e7c
TV
37352018-05-02 Tom de Vries <tom@codesourcery.com>
3736
3737 PR testsuite/83791
3738 * testsuite/libgomp.c++/udr-9.C: Update.
3739 * testsuite/libgomp.c++/atomic-16.C: Remove.
3740 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3741 * testsuite/libgomp.c++/loop-13.C: Remove.
3742 * testsuite/libgomp.c++/loop-14.C: Remove.
3743 * testsuite/libgomp.c++/loop-15.C: Remove.
3744 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3745 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3746 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3747 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3748 * testsuite/libgomp.c++/ordered-1.C: Remove.
3749 * testsuite/libgomp.c++/pr45784.C: Remove.
3750 * testsuite/libgomp.c++/pr64824.C: Remove.
3751 * testsuite/libgomp.c++/pr64868.C: Remove.
3752 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3753 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3754 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3755 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3756 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3757 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3758 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3759 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3760 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3761 * testsuite/libgomp.c++/pr69389.C: Remove.
3762 * testsuite/libgomp.c++/simd10.C: Remove.
3763 * testsuite/libgomp.c++/simd11.C: Remove.
3764 * testsuite/libgomp.c++/simd12.C: Remove.
3765 * testsuite/libgomp.c++/simd13.C: Remove.
3766 * testsuite/libgomp.c++/target-1.C: Remove.
3767 * testsuite/libgomp.c++/target-3.C: Remove.
3768 * testsuite/libgomp.c++/target-4.C: Remove.
3769 * testsuite/libgomp.c++/target-5.C: Remove.
3770 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3771 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3772 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3773 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3774 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3775 * testsuite/libgomp.c++/udr-9.C: Remove.
3776 * testsuite/libgomp.c++/for-10.C: Remove.
3777 * testsuite/libgomp.c++/for-11.C: Remove.
3778 * testsuite/libgomp.c++/for-12.C: Remove.
3779 * testsuite/libgomp.c++/for-13.C: Remove.
3780 * testsuite/libgomp.c++/for-14.C: Remove.
3781 * testsuite/libgomp.c++/for-9.C: Remove.
3782 * testsuite/libgomp.c/atomic-18.c: Move ...
3783 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3784 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3785 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3786 * testsuite/libgomp.c/loop-13.c: Move ...
3787 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3788 * testsuite/libgomp.c/loop-14.c: Move ...
3789 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3790 * testsuite/libgomp.c/loop-15.c: Remove.
3791 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3792 * testsuite/libgomp.c/monotonic-1.c: Move ...
3793 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3794 * testsuite/libgomp.c/monotonic-2.c: Move ...
3795 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3796 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3797 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3798 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3799 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3800 * testsuite/libgomp.c/ordered-4.c: Move ...
3801 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3802 * testsuite/libgomp.c/pr45784.c: Move ...
3803 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3804 * testsuite/libgomp.c/pr64824.c: Move ...
3805 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3806 * testsuite/libgomp.c/pr64868.c: Move ...
3807 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3808 * testsuite/libgomp.c/pr66199-1.c: Move ...
3809 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3810 * testsuite/libgomp.c/pr66199-2.c: Move ...
3811 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3812 * testsuite/libgomp.c/pr66199-3.c: Move ...
3813 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3814 * testsuite/libgomp.c/pr66199-4.c: Move ...
3815 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3816 * testsuite/libgomp.c/pr66199-5.c: Move ...
3817 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3818 * testsuite/libgomp.c/pr66199-6.c: Move ...
3819 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3820 * testsuite/libgomp.c/pr66199-7.c: Move ...
3821 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3822 * testsuite/libgomp.c/pr66199-8.c: Move ...
3823 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3824 * testsuite/libgomp.c/pr66199-9.c: Move ...
3825 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3826 * testsuite/libgomp.c/pr69389.c: Move ...
3827 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3828 * testsuite/libgomp.c/simd-14.c: Move ...
3829 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3830 * testsuite/libgomp.c/simd-15.c: Move ...
3831 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3832 * testsuite/libgomp.c/simd-16.c: Move ...
3833 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3834 * testsuite/libgomp.c/simd-17.c: Move ...
3835 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3836 * testsuite/libgomp.c/target-1.c: Move ...
3837 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3838 * testsuite/libgomp.c/target-10.c: Move ...
3839 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3840 * testsuite/libgomp.c/target-13.c: Move ...
3841 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3842 * testsuite/libgomp.c/target-2.c: Move ...
3843 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3844 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3845 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3846 * testsuite/libgomp.c/taskloop-1.c: Move ...
3847 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3848 * testsuite/libgomp.c/taskloop-2.c: Move ...
3849 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3850 * testsuite/libgomp.c/taskloop-3.c: Move ...
3851 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3852 * testsuite/libgomp.c/taskloop-4.c: Move ...
3853 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3854 * testsuite/libgomp.c/udr-1.c: Move ...
3855 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3856 * testsuite/libgomp.c/for-1.c: Move ...
3857 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3858 * testsuite/libgomp.c/for-1.h: Move ...
3859 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3860 * testsuite/libgomp.c/for-2.c: Move ...
3861 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3862 * testsuite/libgomp.c/for-2.h: Move ...
3863 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3864 * testsuite/libgomp.c/for-3.c: Move ...
3865 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3866 * testsuite/libgomp.c/for-4.c: Move ...
3867 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3868 * testsuite/libgomp.c/for-5.c: Move ...
3869 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3870 * testsuite/libgomp.c/for-6.c: Move ...
3871 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3872
1f62d637
TV
38732018-05-02 Tom de Vries <tom@codesourcery.com>
3874
3875 PR libgomp/82428
3876 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3877 __builtin_goacc_parlevel_{id,size}.
3878 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3879 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3880 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3881 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3882 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3883 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3884 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3885 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3886 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3887 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3888 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3889 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3890 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3891 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3892 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3893 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3894 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3895 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3896 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3897 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3898 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3899 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3900 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3901
9220b511
TV
39022018-05-02 Tom de Vries <tom@codesourcery.com>
3903
3904 PR testsuite/85106
3905 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3906
6c3c13c1
TV
39072018-05-02 Tom de Vries <tom@codesourcery.com>
3908
3909 PR testsuite/85106
3910 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3911
8d70b61e
JB
39122018-04-29 Julian Brown <julian@codesourcery.com>
3913 Tom de Vries <tom@codesourcery.com>
3914
3915 PR testsuite/85527
3916 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3917 arbitrary order for iterations of atomic subtract check.
3918
4a57a4b6
TV
39192018-04-28 Tom de Vries <tom@codesourcery.com>
3920
3921 PR testsuite/85527
3922 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3923 atomic capture results obtained in parallel loop to an array, instead of
3924 to a scalar.
3925
df36a3d3
TV
39262018-04-26 Tom de Vries <tom@codesourcery.com>
3927
3928 PR libgomp/84020
3929 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3930 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3931 (process_GOMP_NVPTX_JIT): New function.
3932 (link_ptx): Use process_GOMP_NVPTX_JIT.
3933
d160ae78
RB
39342018-04-26 Richard Biener <rguenther@suse.de>
3935 Tom de Vries <tom@codesourcery.com>
3936
3937 PR lto/85422
3938 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3939
ca9dc642
TV
39402018-04-26 Tom de Vries <tom@codesourcery.com>
3941
3942 PR target/85519
3943 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3944 recursion depth from 25 to 23.
3945 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3946
7b47ecf2
L
39472018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3948
3949 * configure: Regenerated.
3950
e91eba31
NS
39512018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3952 Tom de Vries <tom@codesourcery.com>
3953
3954 PR target/85445
3955 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3956
6e0d40b6
TS
39572018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3958
3959 PR libgomp/85463
3960 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3961 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3962 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3963 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3964 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3965 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3966
3967 PR libfortran/85166
3968 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3969 abort".
3970 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3971
a0e1df88
JJ
39722018-04-19 Jakub Jelinek <jakub@redhat.com>
3973
3974 * configure: Regenerated.
3975
001ddaa8
DM
39762018-04-18 David Malcolm <dmalcolm@redhat.com>
3977
3978 PR jit/85384
3979 * configure: Regenerate.
3980
05e0af43
CP
39812018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3982 Tom de Vries <tom@codesourcery.com>
3983
3984 PR middle-end/84955
3985 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3986 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3987
bc436e10
TK
39882018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3989
3990 PR fortran/83064
3991 PR testsuite/85346
3992 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3993 test from gfortran.dg to here.
3994
ffb164c7
JJ
39952018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3996
3997 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3998 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3999
40002018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4001
4002 PR middle-end/84955
4003 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4004 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4005
2ba16fd2
TV
40062018-04-05 Tom de Vries <tom@codesourcery.com>
4007
4008 PR target/85204
4009 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4010
46dbeb40
TV
40112018-03-26 Tom de Vries <tom@codesourcery.com>
4012
4013 PR tree-optimization/85063
4014 * testsuite/libgomp.c/switch-conversion-2.c: New test.
4015 * testsuite/libgomp.c/switch-conversion.c: New test.
4016 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4017 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4018
bfc24e32
TK
40192018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
4020
4021 PR fortran/84381
4022 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4023 call abort by STOP n.
4024 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4025 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4026 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4027 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4028 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4029 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4030 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4031 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4032 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4033 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4034 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4035 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4036 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4037 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4038 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4039 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4040 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4041 * testsuite/libgomp.fortran/associate1.f90: Likewise.
4042 * testsuite/libgomp.fortran/associate2.f90: Likewise.
4043 * testsuite/libgomp.fortran/associate3.f90: Likewise.
4044 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4045 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4046 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4047 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4048 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4049 * testsuite/libgomp.fortran/character1.f90: Likewise.
4050 * testsuite/libgomp.fortran/character2.f90: Likewise.
4051 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4052 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4053 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4054 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4055 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4056 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4057 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4058 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4059 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4060 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4061 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4062 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4063 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4064 * testsuite/libgomp.fortran/do1.f90: Likewise.
4065 * testsuite/libgomp.fortran/do2.f90: Likewise.
4066 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4067 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4068 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4069 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4070 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4071 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4072 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4073 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4074 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4075 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4076 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4077 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4078 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4079 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4080 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4081 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4082 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4083 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4084 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4085 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4086 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4087 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4088 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4089 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4090 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4091 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4092 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4093 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4094 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4095 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4096 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4097 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4098 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4099 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4100 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4101 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4102 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4103 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4104 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4105 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4106 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4107 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4108 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4109 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4110 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4111 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4112 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4113 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4114 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4115 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4116 * testsuite/libgomp.fortran/lib2.f: Likewise.
4117 * testsuite/libgomp.fortran/lib3.f: Likewise.
4118 * testsuite/libgomp.fortran/lib4.f90: Likewise.
4119 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4120 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4121 * testsuite/libgomp.fortran/nested1.f90: Likewise.
4122 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4123 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4124 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4125 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4126 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4127 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4128 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4129 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4130 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4131 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4132 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4133 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4134 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4135 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4136 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4137 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4138 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4139 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4140 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4141 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4142 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4143 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4144 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4145 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4146 * testsuite/libgomp.fortran/pr25162.f: Likewise.
4147 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4148 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4149 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4150 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4151 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4152 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4153 * testsuite/libgomp.fortran/pr28390.f: Likewise.
4154 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4155 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4156 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4157 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4158 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4159 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4160 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4161 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4162 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4163 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4164 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4165 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4166 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4167 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4168 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4169 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4170 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4171 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4172 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4173 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4174 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4175 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4176 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4177 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4178 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4179 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4180 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4181 * testsuite/libgomp.fortran/reference1.f90: Likewise.
4182 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4183 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4184 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4185 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4186 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4187 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4188 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4189 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4190 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4191 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4192 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4193 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4194 * testsuite/libgomp.fortran/stack.f90: Likewise.
4195 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4196 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4197 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4198 * testsuite/libgomp.fortran/target1.f90: Likewise.
4199 * testsuite/libgomp.fortran/target2.f90: Likewise.
4200 * testsuite/libgomp.fortran/target3.f90: Likewise.
4201 * testsuite/libgomp.fortran/target4.f90: Likewise.
4202 * testsuite/libgomp.fortran/target5.f90: Likewise.
4203 * testsuite/libgomp.fortran/target6.f90: Likewise.
4204 * testsuite/libgomp.fortran/target7.f90: Likewise.
4205 * testsuite/libgomp.fortran/target8.f90: Likewise.
4206 * testsuite/libgomp.fortran/task1.f90: Likewise.
4207 * testsuite/libgomp.fortran/task2.f90: Likewise.
4208 * testsuite/libgomp.fortran/task3.f90: Likewise.
4209 * testsuite/libgomp.fortran/task4.f90: Likewise.
4210 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4211 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4212 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4213 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4214 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4215 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4216 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4217 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4218 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4219 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4220 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4221 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4222 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4223 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4224 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4225 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4226 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4227 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4228 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4229 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4230 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4231 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4232 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4233 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4234 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4235 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4236 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4237 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4238 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4239 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4240 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4241 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4242 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4243 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4244 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4245 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4246 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4247 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4248 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4249 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4250 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4251 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4252 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4253 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4254 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4255 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4256 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4257 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4258 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4259 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4260 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4261 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4262 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4263 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4264 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4265 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4266 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4267 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4268 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4269 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4270 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4271 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4272 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4273 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4274 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4275 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4276 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4277 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4278 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4279 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4280 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4281 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4282 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4283 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4284 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4285 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4286 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4287 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4288 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4289 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4290 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4291 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4292 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4293 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4294 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4295 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4296 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4297 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4298 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4299 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4300 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4301 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4302 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4303 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4304 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4305 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4306 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4307 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4308 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4309 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4310 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4311 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4312 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4313 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4314 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4315 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4316 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4317 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4318 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4319 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4320 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4321 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4322 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4323 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4324 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4325 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4326 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4327 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4328 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4329 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4330 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4331 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4332 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4333 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4334 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4335 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4336
79cf14ae
RB
43372018-03-20 Richard Biener <rguenther@suse.de>
4338
4339 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4340 parallelizable loop.
4341
14e335ed
IT
43422018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4343
4344 PR target/84148
4345 * configure: Regenerate.
4346
83d9be55
JJ
43472018-02-16 Jakub Jelinek <jakub@redhat.com>
4348
4349 PR fortran/84418
4350 * libgomp.fortran/pr84418-1.f90: New test.
4351 * libgomp.fortran/pr84418-2.f90: New test.
4352
d1fe6124
JJ
43532018-02-14 Jakub Jelinek <jakub@redhat.com>
4354
4355 PR fortran/84313
4356 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4357 -std=f2003 -fall-intrinsics into dg-additional-options.
4358
3d224921
MJ
43592018-02-08 Martin Jambor <mjambor@suse.cz>
4360
4361 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4362 clonable.
4363
c7c30edd
MJ
43642018-02-08 Martin Jambor <mjambor@suse.cz>
4365
4366 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4367
f320fdfd
RO
43682018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4369
4370 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4371 [__cplusplus]: Declare extern "C".
4372
c31bc4ac
TV
43732018-02-07 Tom de Vries <tom@codesourcery.com>
4374
4375 PR libgomp/84217
4376 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4377
99ae7ce5
CS
43782018-01-29 Christoph Spiel <cspiel@freenet.de>
4379 Jakub Jelinek <jakub@redhat.com>
4380
4381 PR libgomp/84096
4382 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4383 instead of omp_lock_t.
4384
e77a1236
TV
43852018-01-25 Tom de Vries <tom@codesourcery.com>
4386
4387 PR target/84028
4388 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4389
3dede32b
TV
43902018-01-24 Tom de Vries <tom@codesourcery.com>
4391
4392 PR target/83589
4393 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4394
be606483
TV
43952018-01-24 Tom de Vries <tom@codesourcery.com>
4396
4397 PR target/81352
4398 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4399
8c8e9a6b
TV
44002018-01-19 Tom de Vries <tom@codesourcery.com>
4401 Cesar Philippidis <cesar@codesourcery.com>
4402
4403 PR target/83920
4404 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4405 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4406
65e6aea3
JJ
44072018-01-03 Jakub Jelinek <jakub@redhat.com>
4408
85ec4feb
JJ
4409 Update copyright years.
4410
65e6aea3
JJ
4411 * libgomp.texi: Bump @copying's copyright year.
4412
60bf575c
TV
44132017-12-30 Tom de Vries <tom@codesourcery.com>
4414
4415 PR libgomp/83046
4416 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4417 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4418
7ec16b79
TV
44192017-12-27 Tom de Vries <tom@codesourcery.com>
4420
4421 PR c++/83046
4422 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4423 (test_nonstatic): Fix return type to workaround PR83046.
4424
ac550b9a
JJ
44252017-12-05 Jakub Jelinek <jakub@redhat.com>
4426
4427 PR testsuite/83281
4428 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4429 j suffix instead of i.
4430 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4431 Likewise.
4432
ebdc83f0
CP
44332017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4434
4435 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4436 call to acc_wait (1).
4437
3b3e6283
JJ
44382017-11-24 Jakub Jelinek <jakub@redhat.com>
4439
4440 PR fortran/81304
4441 * testsuite/libgomp.fortran/pr81304.f90: New test.
4442
3b575376
JJ
44432017-11-23 Jakub Jelinek <jakub@redhat.com>
4444
4445 PR fortran/81841
4446 * libgomp.fortran/pr81841.f90: New test.
4447
b13547d8
JJ
44482017-11-22 Jakub Jelinek <jakub@redhat.com>
4449
4450 PR libgomp/83106
4451 * target.c (gomp_target_init): Compute lengths just once and
4452 use them in both malloc size and subsequent copying.
4453
efe33ced
IT
44542017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4455
4456 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4457 * acinclude.m4: Add cet.m4.
4458 * configure: Regenerate.
4459 * Makefile.in: Likewise.
4460 * testsuite/Makefile.in: Likewise.
4461
a7cf2612
TV
44622017-11-15 Tom de Vries <tom@codesourcery.com>
4463
4464 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4465 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4466 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4467 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4468 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4469 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4470
dde76623
TV
44712017-11-14 Tom de Vries <tom@codesourcery.com>
4472
4473 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4474 non-nvidia devices.
4475
4dbeb716
JJ
44762017-11-07 Jakub Jelinek <jakub@redhat.com>
4477
4478 PR c++/82835
4479 * testsuite/libgomp.c++/pr82835.C: New test.
4480
454f8b2b
ML
44812017-11-06 Martin Liska <mliska@suse.cz>
4482
4483 * testsuite/libgomp.c++/loop-2.C: Return a value
4484 for functions with non-void return type, or change type to void,
4485 or add -Wno-return-type for test.
4486 * testsuite/libgomp.c++/loop-4.C: Likewise.
4487 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4488 * testsuite/libgomp.c++/shared-1.C: Likewise.
4489 * testsuite/libgomp.c++/single-1.C: Likewise.
4490 * testsuite/libgomp.c++/single-2.C: Likewise.
4491
12e9c8ce
TV
44922017-10-31 Tom de Vries <tom@codesourcery.com>
4493
4494 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4495 "do {} while (false)".
4496 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4497 after HSA_DEBUG call.
4498
7324369a
JJ
44992017-10-28 Jakub Jelinek <jakub@redhat.com>
4500
4501 * target.c (struct gomp_coalesce_buf): New type.
4502 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4503 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4504 (gomp_copy_host2dev): Add CBUF argument, if copying into
4505 the cached ranges, memcpy into buffer instead of copying
4506 into device.
4507 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4508 Add CBUF argument, pass it through to other calls.
4509 (gomp_map_vars): Aggregate copies from host to device if small enough
4510 and with small enough gaps in between into memcpy into a buffer and
4511 fewer host to device copies from the buffer.
4512 (gomp_update): Adjust gomp_copy_host2dev caller.
4513
933ab0e6
TS
45142017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4515
4516 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4517 run" directive.
4518 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4519 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4520 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4521 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4522
92d5d01a
TV
45232017-10-16 Tom de Vries <tom@codesourcery.com>
4524
4525 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4526 openacc_nvidia_accel_selected.
4527 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4528 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4529 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4530 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4531 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4532 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4533 openacc_nvidia_accel_selected. Skip for shared memory device.
4534 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4535 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4536
191411e4
MJ
45372017-10-09 Martin Jambor <mjambor@suse.cz>
4538
4539 PR hsa/82416
4540 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4541
e923330e
TV
45422017-10-07 Tom de Vries <tom@codesourcery.com>
4543
4544 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4545 Remove acc_device_nvidia references.
4546 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4547 Same.
4548
8fe3ed4c
TV
45492017-10-05 Tom de Vries <tom@codesourcery.com>
4550
4551 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4552 vector_length(32) clause from acc parallel directive.
4553 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4554
26596ee5
TV
45552017-10-04 Tom de Vries <tom@codesourcery.com>
4556
4557 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4558 (main): Reduce sum of arr elements. Assert that hres is exactly
4559 representable in 32-bit floating point.
4560 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4561 (main): Reduce sum of arr elements. Assert that hres and hmres are
4562 exactly representable in 32-bit floating point.
4563 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4564
5c561fa9
TV
45652017-09-28 Tom de Vries <tom@codesourcery.com>
4566
4567 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4568 setting.
4569 * testsuite/libgomp.c++/pr69393.C: Same.
4570 * testsuite/libgomp.c++/taskloop-1.C: Same.
4571 * testsuite/libgomp.c++/taskloop-3.C: Same.
4572 * testsuite/libgomp.c++/taskloop-4.C: Same.
4573 * testsuite/libgomp.c/for-4.c: Same.
4574 * testsuite/libgomp.c/pr66199-3.c: Same.
4575 * testsuite/libgomp.c/pr66199-4.c: Same.
4576 * testsuite/libgomp.c/pr66199-6.c: Same.
4577 * testsuite/libgomp.c/taskloop-1.c: Same.
4578 * testsuite/libgomp.c/taskloop-3.c: Same.
4579 * testsuite/libgomp.c/taskloop-4.c: Same.
4580 * testsuite/libgomp.fortran/aligned1.f03: Same.
4581 * testsuite/libgomp.fortran/condinc1.f: Same.
4582 * testsuite/libgomp.fortran/condinc3.f90: Same.
4583 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4584 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4585 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4586 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4587 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4588 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4589 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4590 * testsuite/libgomp.fortran/recursion1.f90: Same.
4591 * testsuite/libgomp.fortran/target2.f90: Same.
4592 * testsuite/libgomp.fortran/target5.f90: Same.
4593 * testsuite/libgomp.fortran/task3.f90: Same.
4594
7d6206fe
TV
45952017-09-28 Tom de Vries <tom@codesourcery.com>
4596
4597 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4598 vector_length(32) clause from acc parallel directive.
4599 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4600
84c8627c
TV
46012017-09-27 Tom de Vries <tom@codesourcery.com>
4602
4603 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4604 Remove acc_device_nvidia references.
4605
ebc6a85e
TV
46062017-09-16 Tom de Vries <tom@codesourcery.com>
4607
4608 PR c/81875
4609 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4610
82419efb
TV
46112017-09-14 Tom de Vries <tom@codesourcery.com>
4612
4613 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4614 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4615 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4616 * testsuite/libgomp.c/c.exp: Include test-cases from
4617 libgomp.c-c++-common.
4618 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4619 files.
4620
8b586510
JJ
46212017-09-14 Jakub Jelinek <jakub@redhat.com>
4622
4623 PR c++/81314
4624 * testsuite/libgomp.c++/pr81314.C: New test.
4625
9651fbaf
GP
46262017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4627
4628 * libgomp.texi (Top): www.openacc.org now uses https.
4629 (Enabling OpenACC): Ditto.
4630 (acc_get_num_devices): Ditto.
4631 (acc_set_device_type): Ditto.
4632 (acc_get_device_type): Ditto.
4633 (acc_set_device_num): Ditto.
4634 (acc_get_device_num): Ditto.
4635 (acc_async_test): Ditto.
4636 (acc_async_test_all): Ditto.
4637 (acc_wait): Ditto.
4638 (acc_wait_all): Ditto.
4639 (acc_wait_all_async): Ditto.
4640 (acc_wait_async): Ditto.
4641 (acc_init): Ditto.
4642 (acc_shutdown): Ditto.
4643 (acc_on_device): Ditto.
4644 (acc_malloc): Ditto.
4645 (acc_free): Ditto.
4646 (acc_copyin): Ditto.
4647 (acc_present_or_copyin): Ditto.
4648 (acc_create): Ditto.
4649 (acc_present_or_create): Ditto.
4650 (acc_copyout): Ditto.
4651 (acc_delete): Ditto.
4652 (acc_update_device): Ditto.
4653 (acc_update_self): Ditto.
4654 (acc_map_data): Ditto.
4655 (acc_unmap_data): Ditto.
4656 (acc_deviceptr): Ditto.
4657 (acc_hostptr): Ditto.
4658 (acc_is_present): Ditto.
4659 (acc_memcpy_to_device): Ditto.
4660 (acc_memcpy_from_device): Ditto.
4661 (acc_get_current_cuda_device): Ditto.
4662 (acc_get_current_cuda_context): Ditto.
4663 (acc_get_cuda_stream): Ditto.
4664 (acc_set_cuda_stream): Ditto.
4665 (ACC_DEVICE_TYPE): Ditto.
4666 (ACC_DEVICE_NUM): Ditto.
4667 (OpenACC Library Interoperability): Ditto.
4668
50aa16c3
JJ
46692017-08-09 Jakub Jelinek <jakub@redhat.com>
4670
4671 PR c/81687
4672 * testsuite/libgomp.c/pr81687-1.c: New test.
4673 * testsuite/libgomp.c/pr81687-2.c: New test.
4674
56b5041c
JJ
46752017-08-07 Jakub Jelinek <jakub@redhat.com>
4676
4677 PR c/69389
4678 * testsuite/libgomp.c/pr69389.c: New test.
4679 * testsuite/libgomp.c++/pr69389.C: New test.
4680
f4c222c0
TV
46812017-08-07 Tom de Vries <tom@codesourcery.com>
4682
4683 PR middle-end/78266
4684 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4685 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4686
a40ff0ae
JJ
46872017-07-27 Jakub Jelinek <jakub@redhat.com>
4688
4689 PR c/45784
4690 * testsuite/libgomp.c/pr45784.c: New test.
4691 * testsuite/libgomp.c++/pr45784.C: New test.
4692
3717fbe3
TV
46932017-07-19 Tom de Vries <tom@codesourcery.com>
4694
4695 * testsuite/libgomp.oacc-c/vec.c: New test.
4696
9607b014
TV
46972017-07-03 Tom de Vries <tom@codesourcery.com>
4698
4699 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4700
dfb15f6b
TV
47012017-06-27 Tom de Vries <tom@codesourcery.com>
4702
4703 * plugin/plugin-nvptx.c (notify_var): New function.
4704 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4705
22f1a037
TV
47062017-06-27 Tom de Vries <tom@codesourcery.com>
4707
4708 * env.c (parse_unsigned_long_1): Factor out of ...
4709 (parse_unsigned_long): ... here.
4710 (parse_int_1): Factor out of ...
4711 (parse_int): ... here.
4712 (parse_int_secure): New function.
4713 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4714 * secure_getenv.h: Factor out of ...
4715 * plugin/plugin-hsa.c: ... here.
4716 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4717
d54d1fc3
JJ
47182017-06-21 Jakub Jelinek <jakub@redhat.com>
4719
4720 PR c++/81130
4721 * testsuite/libgomp.c++/pr81130.C: New test.
4722
4f4b0ab8
RO
47232017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4724
4725 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4726 default args.
4727 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4728 dg-xfail-run-if default args.
4729
40ffd95f
BE
47302017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4731
4732 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4733 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4734
01275e1e
JJ
47352017-05-30 Jakub Jelinek <jakub@redhat.com>
4736
4737 PR libgomp/80822
4738 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4739 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4740 sibling lists, depending on level just pick up what CPUs to put
4741 together into a place vs. whether add multiple ordered places.
4742
78672bd8
TS
47432017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4744
7ce64403
TS
4745 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4746 * libgomp.map (OACC_2.0.1): Add these.
4747 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4748 for "acc_wait", and "acc_wait_all", respectively.
4749 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4750 for "acc_wait", and "acc_wait_all", respectively.
4751 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4752 * libgomp.texi (acc_wait, acc_wait_all): Update.
4753 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4754 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4755 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4756
318686c2
TS
4757 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4758 acc_present_or_copyin and acc_present_or_create procedures,
4759 respectively.
4760 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4761 generally different variants of OpenACC Runtime Library functions.
4762 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4763
a6745534
TS
4764 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4765 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4766
9b94fbc7
TS
4767 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4768 of preprocessor definitions.
4769 * libgomp.h (strong_alias): Guard by "#ifdef
4770 HAVE_ATTRIBUTE_ALIAS".
4771 * oacc-mem.c: Provide "acc_pcreate" as alias for
4772 "acc_present_or_create", and "acc_pcopyin" as alias for
4773 "acc_present_or_copyin".
4774 * libgomp.map: New version "OACC_2.0.1".
4775 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4776 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4777 its content into...
4778 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4779 Extend testing.
4780
78672bd8
TS
4781 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4782 when disabling nvptx offloading.
4783
0c36d0d5
TS
47842017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4785
fd71a9a2
TS
4786 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4787 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4788 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4789
0c36d0d5
TS
4790 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4791 * testsuite/lib/libgomp.exp
4792 (check_effective_target_openacc_nvidia_accel_configured): New
4793 proc.
4794 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4795 (check_effective_target_c++): New procs.
4796 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4797 (check_effective_target_c++): Likewise.
4798
c24783c4
JJ
47992017-05-22 Jakub Jelinek <jakub@redhat.com>
4800
655e5265
JJ
4801 PR middle-end/80809
4802 * testsuite/libgomp.c/pr80809-2.c: New test.
4803 * testsuite/libgomp.c/pr80809-3.c: New test.
4804
e9e2ef9f
JJ
4805 PR middle-end/80809
4806 * testsuite/libgomp.c/pr80809-1.c: New test.
4807
c24783c4
JJ
4808 PR middle-end/80853
4809 * testsuite/libgomp.c/pr80853.c: New test.
4810
0da2f96a
TS
48112017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4812
7fd549d2
TS
4813 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4814 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4815 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4816 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4817 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4818
0da2f96a
TS
4819 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4820 Debug output for failure.
4821
62ffe920
RO
48222017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4823
4824 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4825
f49215b1
JJ
48262017-04-27 Jakub Jelinek <jakub@redhat.com>
4827
4828 PR bootstrap/80531
4829 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4830 bootstrap compare failures.
4831
2260d19d
AM
48322017-04-20 Alexander Monakov <amonakov@ispras.ru>
4833
4834 * testsuite/libgomp.c/target-36.c: New testcase.
4835
19929ba9
JJ
48362017-04-13 Jakub Jelinek <jakub@redhat.com>
4837
4838 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4839 instead of char.
4840
fbc698e0
JJ
48412017-04-11 Jakub Jelinek <jakub@redhat.com>
4842
4843 PR libgomp/80394
4844 * testsuite/libgomp.c/pr80394.c: New test.
4845
c4060df4
JJ
48462017-04-04 Jakub Jelinek <jakub@redhat.com>
4847
4848 PR libgomp/79876
4849 * config/posix/thread-stacksize.h: New file.
4850 * config/darwin/thread-stacksize.h: New file.
4851 * config/nvptx/thread-stacksize.h: New file.
4852 * env.c: Include thread-stacksize.h.
4853 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4854 instead of 0. Call pthread_attr_setstacksize even if
4855 GOMP_DEFAULT_STACKSIZE is non-zero.
4856
e02d868a
JJ
48572017-03-30 Jakub Jelinek <jakub@redhat.com>
4858
4859 * env.c (initialize_env): Initialize stacksize to 0.
4860
7ba8651e
CP
48612017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4862
4863 PR c++/80029
4864 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4865
eebc5e2d
JJ
48662017-03-08 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR c/79940
4869 * testsuite/libgomp.c/pr79940.c: New test.
4870
1eb08f52
RO
48712017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4872
4873 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4874 targets.
4875 Add __float128 options.
4876
b0f78ff3
JDA
48772017-02-11 John David Anglin <danglin@gcc.gnu.org>
4878
4879 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4880 hppa*-*-* dg-skip-if directive.
4881
1bbe0d8f
JJ
48822017-02-09 Jakub Jelinek <jakub@redhat.com>
4883
4884 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4885 dg-skip-if directive into a comment.
4886
02889d23
CLT
48872017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4888 Chung-Lin Tang <cltang@codesourcery.com>
4889
4890 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4891 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4892 add additional case.
4893 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4894 "openacc_nvidia_accel_selected".
4895 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4896 Add num_workers(8) clause.
4897
5896a41d
JDA
48982017-02-08 John David Anglin <danglin@gcc.gnu.org>
4899
4900 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4901 hppa*-*-*.
4902 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4903 include complex.h on hppa*-*-hpux*.
4904 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4905
345a8c17
TS
49062017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4907
e70ab10d
TS
4908 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4909
345a8c17
TS
4910 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4911 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4912 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4913 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4914 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4915 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4916 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4917 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4918 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4919 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4920
dced339c
TS
49212017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4922
4923 * libgomp-plugin.h: #include <stdbool.h>.
4924 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4925 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4926 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4927 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4928 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4929 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4930 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4931 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4932 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4933 (GOMP_OFFLOAD_openacc_async_test)
4934 (GOMP_OFFLOAD_openacc_async_test_all)
4935 (GOMP_OFFLOAD_openacc_async_wait)
4936 (GOMP_OFFLOAD_openacc_async_wait_async)
4937 (GOMP_OFFLOAD_openacc_async_wait_all)
4938 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4939 (GOMP_OFFLOAD_openacc_async_set_async)
4940 (GOMP_OFFLOAD_openacc_create_thread_data)
4941 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4942 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4943 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4944 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4945 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4946 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4947 these.
4948 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4949 (GOMP_OFFLOAD_unload_image): Fix argument types.
4950
23749904
JJ
49512017-01-26 Jakub Jelinek <jakub@redhat.com>
4952
c1cadde1
JJ
4953 * testsuite/lib/libgomp.exp
4954 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4955 check_compile invocation. Fix up removal of executable. Drop
4956 bogus "2>&1" argument.
4957
23749904
JJ
4958 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4959 directive.
4960
49612017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
4962 Martin Jambor <mjambor@suse.cz>
4963
4964 * plugin/hsa.h: Moved to top level include.
4965 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4966
73aa401e
JJ
49672017-01-21 Jakub Jelinek <jakub@redhat.com>
4968
4969 PR other/79046
4970 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4971 of cat to get version from BASE-VER file.
4972 * testsuite/Makefile.in: Regenerated.
4973
b32e85fa
JJ
49742017-01-19 Jakub Jelinek <jakub@redhat.com>
4975
4976 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4977 for _WIN64.
4978
3c36aa6b
JJ
49792017-01-17 Jakub Jelinek <jakub@redhat.com>
4980
d190d5c0
JJ
4981 * plugin/hsa.h: Add GCC runtime library exception.
4982 * plugin/hsa_ext_finalize.h: Likewise.
4983
2393d337
JJ
4984 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4985 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4986 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4987 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4988 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4989 library to link ptx plugin against.
4990 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4991 (CUDA_CALLS): Define.
4992 (cuda_lib, cuda_lib_inited): New variables.
4993 (init_cuda_lib): New function.
4994 (CUDA_CALL_PREFIX): Define.
4995 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4996 (CUDA_CALL): Use FN instead of (FN).
4997 (CUDA_CALL_NOCHECK): Define.
4998 (cuda_error, fini_streams_for_device, select_stream_for_async,
4999 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5000 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5001 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5002 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5003 CUDA_CALL_NOCHECK.
5004 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
5005 CUDA_CALL_NOCHECK.
5006 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5007 Use CUDA_CALL_NOCHECK.
5008 * plugin/cuda/cuda.h: New file.
5009 * config.h.in: Regenerated.
5010 * configure: Regenerated.
5011
3c36aa6b
JJ
5012 PR other/79046
5013 * configure.ac: Add GCC_BASE_VER.
5014 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5015 get version from BASE-VER file.
5016 * testsuite/Makefile.in: Regenerated.
5017 * configure: Regenerated.
5018 * Makefile.in: Regenerated.
5019
c508bc2d
FXC
50202017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5021
5022 PR libgomp/60670
5023 * Makefile.am: Make fincludedir multilib-aware.
5024 * Makefile.in: Regenerate.
5025
c1a9c369
JJ
50262017-01-01 Jakub Jelinek <jakub@redhat.com>
5027
cbe34bb5
JJ
5028 Update copyright years.
5029
c1a9c369
JJ
5030 * libgomp.texi: Bump @copying's copyright year.
5031
e7a7f4be
SH
50322016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5033
5034 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5035 pthread_spinlock_t instead of gomp_mutex_t lock.
5036 (gomp_get_thread_pool): Likewise.
5037 (gomp_release_thread_pool): Likewise.
5038 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5039 Likewise.
5040
d313d52c
SH
50412016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5042
5043 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5044 thread pool in case nthreads == 1.
5045
630e3c3a
AM
50462016-11-30 Alexander Monakov <amonakov@ispras.ru>
5047
5048 * config/nvptx/env.c: Delete.
5049 * icv.c: Move definitions of ICV variables back ...
5050 * env.c: ...here. Do not compile environment-related functionality if
5051 LIBGOMP_OFFLOADED_ONLY is set.
5052
9e38af5c
AM
50532016-11-30 Alexander Monakov <amonakov@ispras.ru>
5054
5055 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5056 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5057 * configure: Regenerate.
5058 * config.h.in: Likewise.
5059
f96b7f1f
AM
50602016-11-30 Alexander Monakov <amonakov@ispras.ru>
5061
5062 * Makefile.in: Regenerate with automake-1.11.6.
5063 * aclocal.m4: Likewise.
5064 * configure: Likewise.
5065 * testsuite/Makefile.in: Likewise.
5066
6a6951b1
AM
50672016-11-28 Alexander Monakov <amonakov@ispras.ru>
5068
5069 * config/nvptx/critical.c: Delete to use generic implementation.
5070
c7ac071f
JH
50712016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
5072
5073 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5074 ../../affinity.c as fallback.
5075 * config/nvptx/affinity.c: Delete to use fallback implementation.
5076
6103184e 50772016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 5078 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
5079 Dmitry Melnik <dm@ispras.ru>
5080
5081 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5082 * Makefile.in. Regenerate.
5083 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5084 (LIBGOMP_USE_PTHREADS): ...here; new define.
5085 * configure: Regenerate.
5086 * config.h.in: Likewise.
5087 * config/posix/affinity.c: Move to...
5088 * affinity.c: ...here (new file). Guard use of Pthreads-specific
5089 interface by LIBGOMP_USE_PTHREADS.
5090 * critical.c: Split out GOMP_atomic_{start,end} into...
5091 * atomic.c: ...here (new file).
5092 * env.c: Split out ICV definitions into...
5093 * icv.c: ...here (new file) and...
5094 * icv-device.c: ...here. New file.
5095 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5096 (gomp_destroy_lock_30): Ditto.
5097 (gomp_set_lock_30): Ditto.
5098 (gomp_unset_lock_30): Ditto.
5099 (gomp_test_lock_30): Ditto.
5100 (gomp_init_nest_lock_30): Ditto.
5101 (gomp_destroy_nest_lock_30): Ditto.
5102 (gomp_set_nest_lock_30): Ditto.
5103 (gomp_unset_nest_lock_30): Ditto.
5104 (gomp_test_nest_lock_30): Ditto.
5105 * lock.c: New.
5106 * config/nvptx/lock.c: New.
5107 * config/nvptx/bar.c: New.
5108 * config/nvptx/bar.h: New.
5109 * config/nvptx/doacross.h: New.
5110 * config/nvptx/error.c: New.
5111 * config/nvptx/icv-device.c: New.
5112 * config/nvptx/mutex.h: New.
5113 * config/nvptx/pool.h: New.
5114 * config/nvptx/proc.c: New.
5115 * config/nvptx/ptrlock.h: New.
5116 * config/nvptx/sem.h: New.
5117 * config/nvptx/simple-bar.h: New.
5118 * config/nvptx/target.c: New.
5119 * config/nvptx/task.c: New.
5120 * config/nvptx/team.c: New.
5121 * config/nvptx/time.c: New.
5122 * config/posix/simple-bar.h: New.
5123 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
5124 (gomp_num_teams_var): Declare.
5125 (struct gomp_thread_pool): Change threads_dock member to
5126 gomp_simple_barrier_t.
5127 [__nvptx__] (gomp_thread): New implementation.
5128 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5129 (gomp_thread_destructor): Ditto.
5130 (gomp_init_thread_affinity): Ditto.
5131 * team.c: Guard uses of Pthreads-specific interfaces by
5132 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
5133 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5134 * config/nvptx/alloc.c: Delete.
5135 * config/nvptx/barrier.c: Ditto.
5136 * config/nvptx/fortran.c: Ditto.
5137 * config/nvptx/iter.c: Ditto.
5138 * config/nvptx/iter_ull.c: Ditto.
5139 * config/nvptx/loop.c: Ditto.
5140 * config/nvptx/loop_ull.c: Ditto.
5141 * config/nvptx/ordered.c: Ditto.
5142 * config/nvptx/parallel.c: Ditto.
5143 * config/nvptx/priority_queue.c: Ditto.
5144 * config/nvptx/sections.c: Ditto.
5145 * config/nvptx/single.c: Ditto.
5146 * config/nvptx/splay-tree.c: Ditto.
5147 * config/nvptx/work.c: Ditto.
5148 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5149 -foffload=-lgfortran in addition to -lgfortran.
5150 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5151 * plugin/plugin-nvptx.c: Include <limits.h>.
5152 (struct targ_fn_descriptor): Add new fields.
5153 (struct ptx_device): Ditto. Set them...
5154 (nvptx_open_device): ...here.
5155 (nvptx_adjust_launch_bounds): New.
5156 (nvptx_host2dev): Allow NULL 'nvthd'.
5157 (nvptx_dev2host): Ditto.
5158 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5159 (link_ptx): Adjust log sizes.
5160 (nvptx_host2dev): Allow NULL 'nvthd'.
5161 (nvptx_dev2host): Ditto.
5162 (nvptx_set_clocktick): New. Use it...
5163 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
5164 fields.
5165 (GOMP_OFFLOAD_dev2dev): New.
5166 (nvptx_adjust_launch_bounds): New.
5167 (nvptx_stacks_size): New.
5168 (nvptx_stacks_alloc): New.
5169 (nvptx_stacks_free): New.
5170 (GOMP_OFFLOAD_run): New.
5171 (GOMP_OFFLOAD_async_run): New (stub).
5172
56b1c60e
MJ
51732016-11-23 Martin Jambor <mjambor@suse.cz>
5174
5175 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5176 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5177 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5178
b8d89b03 51792016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 5180 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
5181
5182 * plugin/hsa.h: New file.
5183 * plugin/hsa_ext_finalize.h: New file.
5184 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5185 header file unistd.h, and functions secure_getenv, __secure_getenv,
5186 getuid, geteuid, getgid and getegid.
5187 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5188 -D_GNU_SOURCE.
5189 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5190 Handle various cases of secure_getenv presence, add an implementation
5191 when we can test effective UID and GID.
5192 (struct hsa_runtime_fn_info): New structure.
5193 (hsa_runtime_fn_info hsa_fns): New variable.
5194 (hsa_runtime_lib): Likewise.
5195 (support_cpu_devices): Likewise.
5196 (init_enviroment_variables): Load newly introduced ENV
5197 variables.
5198 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5199 (hsa_fatal): Likewise.
5200 (DLSYM_FN): New macro.
5201 (init_hsa_runtime_functions): New function.
5202 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5203 structure. Depending on environment, also allow CPU devices.
5204 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5205 (get_kernarg_memory_region): Likewise.
5206 (GOMP_OFFLOAD_init_device): Likewise.
5207 (destroy_hsa_program): Likewise.
5208 (init_basic_kernel_info): New function.
5209 (GOMP_OFFLOAD_load_image): Use it.
5210 (create_and_finalize_hsa_program): Call hsa run-time functions via
5211 hsa_fns structure.
5212 (create_single_kernel_dispatch): Likewise.
5213 (release_kernel_dispatch): Likewise.
5214 (init_single_kernel): Likewise.
5215 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5216 (get_group_size): New function.
5217 (run_kernel): Likewise.
5218 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5219 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5220 structure.
5221 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5222 * testsuite/libgomp-test-support.exp.in: Likewise.
5223 * Makefile.in: Regenerated.
5224 * aclocal.m4: Likewise.
5225 * config.h.in: Likewise.
5226 * configure: Likewise.
5227 * testsuite/Makefile.in: Likewise.
5228
18d2ada8 52292016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 5230 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
5231
5232 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5233 mapping clauses to target constructs.
5234 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5235
84c1b9d3
MK
52362016-11-15 Matthias Klose <doko@ubuntu.com>
5237
5238 * configure: Regenerate.
5239
b4c3a85b
JJ
52402016-11-10 Jakub Jelinek <jakub@redhat.com>
5241
8ebd1b31
JJ
5242 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5243 * omp_lib.h.in (openmp_version): Likewise.
5244 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5245 of 201307.
5246 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5247
b4c3a85b
JJ
5248 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5249 (fib_wrapper): Add map(from: x) clause.
5250 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5251 (e_53_2): Likewise.
5252 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5253 (accum): Add map(tmp) clause.
5254 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5255 (accum): Add map(tofrom: tmp) clause.
5256 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5257 (gramSchmidt): Likewise.
5258 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5259 map(tofrom: sum) clause.
5260 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5261 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5262 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5263 only allowed on the loop iterator.
5264 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5265 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5266 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5267 * testsuite/libgomp.fortran/doacross1.f90: New test.
5268 * testsuite/libgomp.fortran/doacross3.f90: New test.
5269 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5270 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5271 * testsuite/libgomp.fortran/doacross2.f90: New test.
5272 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5273 #pragma omp atomic read.
5274 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5275 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5276
6668eb45
CP
52772016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5278 Nathan Sidwell <nathan@acm.org>
5279
5280 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5281 to determine default geometry.
5282 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5283 dimension.
5284
f10e37a1
JJ
52852016-11-01 Jakub Jelinek <jakub@redhat.com>
5286
5287 * hashtab.h: Use standard GPLv3 with runtime exception
5288 boilerplate.
5289
015c7760
AH
52902016-10-27 Aldy Hernandez <aldyh@redhat.com>
5291
5292 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5293 size when allocating new thread.
5294
20a1e5b8
MP
52952016-09-14 Marek Polacek <polacek@redhat.com>
5296
5297 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5298
1cad9284
JJ
52992016-08-19 Jakub Jelinek <jakub@redhat.com>
5300
5301 PR fortran/71014
5302 * testsuite/libgomp.fortran/pr71014.f90: New test.
5303
2c71d454
CLT
53042016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5305
5306 PR middle-end/70895
5307 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5308 firstprivate clauses.
5309 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5310 copy clauses.
5311 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5312 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5313 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5314 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5315 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5316 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5317 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5318 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5319 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5320 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5321 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5322 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5323
7c713714
CLT
53242016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5325
5326 PR fortran/70598
5327 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5328
5c934396
JJ
53292016-08-08 Jakub Jelinek <jakub@redhat.com>
5330
5331 PR c++/58706
5332 * testsuite/libgomp.c++/pr58706.C: New test.
5333
9ef64248
TS
53342016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5335
bbc79c0e
TS
5336 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5337 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5338 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5339 Likewise.
5340 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5341 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5342 Likewise.
5343 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5344
9ef64248
TS
5345 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5346 test, and don't hardcode -O0.
5347
c1311c86
NS
53482016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5349
5350 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5351
b1c9c068
CP
53522016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5353
5354 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5355 test.
5356
b4410f63
L
53572016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5358
5359 PR middle-end/71734
5360 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5361 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5362
a8dbab92
JJ
53632016-07-01 Jakub Jelinek <jakub@redhat.com>
5364
5365 PR fortran/71717
5366 * testsuite/libgomp.fortran/associate3.f90: New test.
5367
9b6a8d0f
JJ
53682016-06-17 Jakub Jelinek <jakub@redhat.com>
5369
5370 * testsuite/libgomp.c++/target-21.C: New test.
5371
283635f9
JJ
53722016-06-16 Jakub Jelinek <jakub@redhat.com>
5373
5374 * testsuite/libgomp.c++/target-20.C: New test.
5375
27d6ba88
TS
53762016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5377 Cesar Philippidis <cesar@codesourcery.com>
5378
5379 PR middle-end/71373
5380 * libgomp.oacc-c/nested-function-1.c: New file.
5381 * libgomp.oacc-c/nested-function-2.c: Likewise.
5382 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5383 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5384 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5385
4b1ffdb1
TS
53862016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5387
5388 PR c/71381
5389 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5390 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5391 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5392
d821b794
CLT
53932016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5394
5395 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5396 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5397
3616a8c5
CP
53982016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5399
5400 PR c/70688
5eed9a88 5401 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 5402
7211a097
JJ
54032016-05-26 Jakub Jelinek <jakub@redhat.com>
5404
5405 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5406 instead of invalid schedule(static, 0).
5407 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5408
b4557008
CLT
54092016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5410
5411 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5412 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5413 parameter, use to set async stream around call to gomp_unmap_vars,
5414 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5415 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5416 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5417 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5418 (event_add): Add int parameter, initialize 'val' field when
5419 adding new ptx_event struct.
5420 (nvptx_evec): Adjust event_add() call arguments.
5421 (nvptx_host2dev): Likewise.
5422 (nvptx_dev2host): Likewise.
5423 (nvptx_wait_async): Likewise.
5424 (nvptx_wait_all_async): Likewise.
5425 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5426 pass to event_add() call.
5427 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5428 parameter.
5429 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5430 call openacc.register_async_cleanup_func() hook.
5431 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5432 * target.c (gomp_copy_from_async): Delete function.
5433 (gomp_map_vars): Remove async_refcount.
5434 (gomp_unmap_vars): Likewise.
5435 (gomp_load_image_to_device): Likewise.
5436 (omp_target_associate_ptr): Likewise.
5437 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5438 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5439 (gomp_copy_from_async): Remove.
5440
6ce13072
CLT
54412016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5442
5443 * target.c (gomp_device_copy): New function.
5444 (gomp_copy_host2dev): Likewise.
5445 (gomp_copy_dev2host): Likewise.
5446 (gomp_free_device_memory): Likewise.
5447 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5448 (gomp_map_pointer): Likewise.
5449 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5450 NULL value from alloc_func plugin hook.
5451 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5452 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5453 (gomp_unmap_vars): Likewise.
5454 (gomp_update): Adjust to call gomp_copy_dev2host and
5455 gomp_copy_host2dev functions.
5456 (gomp_unload_image_from_device): Handle false value from
5457 unload_image_func plugin hook.
5458 (gomp_init_device): Handle false value from init_device_func
5459 plugin hook.
5460 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5461 (omp_target_free): Adjust to call gomp_free_device_memory.
5462 (omp_target_memcpy): Handle return values from host2dev_func,
5463 dev2host_func, and dev2dev_func plugin hooks.
5464 (omp_target_memcpy_rect_worker): Likewise.
5465 (gomp_target_fini): Handle false value from fini_device_func
5466 plugin hook.
5467 * libgomp.h (struct gomp_device_descr): Adjust return type of
5468 init_device_func, fini_device_func, unload_image_func, free_func,
5469 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5470 * oacc-init.c (acc_shutdown_1): Handle false value from
5471 fini_device_func plugin hook.
5472 * oacc-host.c (host_init_device): Change return type to bool.
5473 (host_fini_device): Likewise.
5474 (host_unload_image): Likewise.
5475 (host_free): Likewise.
5476 (host_dev2host): Likewise.
5477 (host_host2dev): Likewise.
5478 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5479 (acc_memcpy_to_device): Likewise.
5480 (acc_memcpy_from_device): Likewise.
5481 (delete_copyout): Add libfnname parameter, handle free_func
5482 hook fatal error case.
5483 (acc_delete): Adjust delete_copyout call.
5484 (acc_copyout): Likewise.
5485 (update_dev_host): Move gomp_mutex_unlock to after
5486 host2dev/dev2host hook calls.
5487
5488 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5489 to 'hsa_error_msg', for clarity.
5490 (hsa_fatal): Likewise.
5491 (hsa_error): New function.
5492 (init_hsa_context): Change return type to bool, adjust to return
5493 false on error.
5494 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5495 return value.
5496 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5497 return false on error.
5498 (get_agent_info): Adjust to return NULL on error.
5499 (destroy_hsa_program): Change return type to bool, adjust to
5500 return false on error.
5501 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5502 (destroy_module): Change return type to bool, adjust to
5503 return false on error.
5504 (GOMP_OFFLOAD_unload_image): Likewise.
5505 (GOMP_OFFLOAD_fini_device): Likewise.
5506 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5507 (GOMP_OFFLOAD_free): Change to return false when called.
5508 (GOMP_OFFLOAD_dev2host): Likewise.
5509 (GOMP_OFFLOAD_host2dev): Likewise.
5510 (GOMP_OFFLOAD_dev2dev): Likewise.
5511
5512 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5513 (CUDA_CALL): Likewise.
5514 (CUDA_CALL_ASSERT): Likewise.
5515 (map_init): Change return type to bool, use CUDA_CALL* macros.
5516 (map_fini): Likewise.
5517 (init_streams_for_device): Change return type to bool, adjust
5518 call to map_init.
5519 (fini_streams_for_device): Change return type to bool, adjust
5520 call to map_fini.
5521 (select_stream_for_async): Release stream_lock before calls to
5522 GOMP_PLUGIN_fatal, adjust call to map_init.
5523 (nvptx_init): Use CUDA_CALL* macros.
5524 (nvptx_attach_host_thread_to_device): Change return type to bool,
5525 use CUDA_CALL* macros.
5526 (nvptx_open_device): Use CUDA_CALL* macros.
5527 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5528 macros.
5529 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5530 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5531 (nvptx_exec): Use CUDA_CALL* macros.
5532 (nvptx_alloc): Use CUDA_CALL* macros.
5533 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5534 (nvptx_host2dev): Likewise.
5535 (nvptx_dev2host): Likewise.
5536 (nvptx_wait): Use CUDA_CALL* macros.
5537 (nvptx_wait_async): Likewise.
5538 (nvptx_wait_all): Likewise.
5539 (nvptx_wait_all_async): Likewise.
5540 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5541 use CUDA_CALL* macros, adjust call to map_fini.
5542 (GOMP_OFFLOAD_init_device): Change return type to bool,
5543 adjust code accordingly.
5544 (GOMP_OFFLOAD_fini_device): Likewise.
5545 (GOMP_OFFLOAD_load_image): Adjust calls to
5546 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5547 use CUDA_CALL* macros.
5548 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5549 return code.
5550 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5551 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5552 handle error return.
5553 (GOMP_OFFLOAD_dev2host): Likewise.
5554 (GOMP_OFFLOAD_host2dev): Likewise.
5555 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5556 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5557
e46c7770
CP
55582016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5559
5560 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5561 (acc_free): Likewise.
5562 (acc_memcpy_to_device): Likewise.
5563 (acc_memcpy_from_device): Likewise.
5564 (acc_deviceptr): Likewise.
5565 (acc_hostptr): Likewise.
5566 (acc_is_present): Likewise.
5567 (acc_map_data): Likewise.
5568 (acc_unmap_data): Likewise.
5569 (present_create_copy): Likewise.
5570 (delete_copyout): Likewise.
5571 (update_dev_host): Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5573 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5574 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5575 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5576 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5577 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5578 it only runs on nvptx targets.
5579 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5581 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5582 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5583 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5585 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5587 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5588 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5589 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5590 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5591 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5592 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5593 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5594 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5595 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5596 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5597 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5600 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5601 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5602
a5057543
MJ
56032016-05-23 Martin Jambor <mjambor@suse.cz>
5604
5605 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5606
e37288a6
CLT
56072016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5608
5609 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5610 to gomp_init_targets_once.
5611 (acc_set_device_type): Remove !cached_base_dev condition on call to
5612 gomp_init_targets_once, move call to before acc_device_lock acquire,
5613 to avoid deadlock.
5614 (acc_get_device_num): Remove !cached_base_dev condition on call to
5615 gomp_init_targets_once.
5616 (acc_set_device_num): Likewise.
5617
51d9ed48
MJ
56182016-05-16 Martin Jambor <mjambor@suse.cz>
5619
92a285c1 5620 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 5621
5b37e866
NS
56222016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5623
5624 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5625 expected partitioning.
5626
e7ff0319
CP
56272016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5628
5629 PR middle-end/70626
5630 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5631 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5632 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5633
c2bd3b69
AM
56342016-04-21 Alexander Monakov <amonakov@ispras.ru>
5635
5636 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5637 non-fatal.
5638
84311083
JJ
56392016-04-19 Jakub Jelinek <jakub@redhat.com>
5640
5641 PR middle-end/70680
5642 * testsuite/libgomp.c/pr70680-1.c: New test.
5643 * testsuite/libgomp.c/pr70680-2.c: New test.
5644
aadc043f
CP
56452016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5646
5647 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5648 pass parameter variables to subroutines.
5649
e387fc64
CP
56502016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5651
5652 PR middle-end/70643
5653 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5654
10c3c424
CP
56552016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5656
5657 PR testsuite/68242
5658 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5659 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5660
27f9add3
TS
56612016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5662
58d32aeb
TS
5663 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5664 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5665 GOACC_declare prototype.
5666
d97633ef
TS
5667 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5668 Merge this file, and...
5669 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5670 ... this file, and...
5671 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5672 ... this file, and...
5673 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5674 ... this file, and...
5675 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5676 ... this file, and...
5677 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5678 ... this file, and...
5679 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5680 ... this file, and...
5681 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5682 ... this file, and...
5683 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5684 ... this file, and...
5685 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5686 ... this file, and...
5687 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5688 ... this file, and...
5689 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5690 ... this file, and...
5691 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5692 ... this file into...
5693 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5694 file.
5695
27f9add3
TS
5696 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5697 Make failure observable.
5698
21f3a236
JJ
56992016-04-12 Jakub Jelinek <jakub@redhat.com>
5700
5701 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5702 field.
5703 * target.c (gomp_target_fallback_firstprivate,
5704 gomp_target_unshare_firstprivate): Removed.
5705 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5706 before waiting for dependencies.
5707 (gomp_target_task_fn): Don't copy firstprivate vars here.
5708 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5709 firstprivate_copies here.
5710 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5711 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5712 explicit/implicit firstprivate.
5713
c42cfb5c
CP
57142016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5715
5716 PR lto/70289
5717 PR ipa/70348
5718 PR tree-optimization/70373
5719 PR middle-end/70533
5720 PR middle-end/70534
5721 PR middle-end/70535
5722 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5723 test.
5724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5725 test.
5726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5727 test.
5728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5729 test.
5730 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5731 test.
5732 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5733 test.
5734 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5735 test.
5736 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5737 test.
5738 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5739 test.
5740 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5741 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5742 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5743 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5744 test.
5745 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5746 test.
5747 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5748 test.
5749 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5750 test.
5751 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5752 coverage.
5753 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5754 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5755 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5756 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5757 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5758 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5759 coverage.
5760 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5761 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5762 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5763 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5764 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5765 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5766 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5767 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5768 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5769 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5770 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5771 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5772 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5773 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5774 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5775
2620c80d
TS
57762016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5777 James Norris <jnorris@codesourcery.com>
5778 Nathan Sidwell <nathan@codesourcery.com>
5779 Julian Brown <julian@codesourcery.com>
5780 Cesar Philippidis <cesar@codesourcery.com>
5781 Chung-Lin Tang <cltang@codesourcery.com>
5782 Tom de Vries <tom@codesourcery.com>
5783
5784 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5785 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5786 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5787 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5788 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5789 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5790 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5791 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5792 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5793 XFAIL.
5794 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5795 Incorporate...
5796 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5797 file.
5798 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5799 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5801 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5802 Likewise.
5803 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5804 Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5806 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5808 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5809 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5810 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5811 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5812 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5813 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5814 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5815 Likewise.
5816 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5817 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5818 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5819 file...
5820 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5821 file into...
5822 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5823 file. Update.
5824 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5825 file.
5826 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5827 Likewise.
5828 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5829 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5830 ... this new file. Update.
5831 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5832 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5833 ... this new file. Update.
5834 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5835 file. Incorporate...
5836 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5837 file, and...
5838 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5839 file, and...
5840 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5841 file.
5842 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5843
ce83104b
TS
58442016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5845
5846 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5847 set-torture-options.
5848
6e0df3b7
TS
58492016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5850
5851 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5852 gcc-dg-runtest.
5853 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5854 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5855 -fno-builtin-acc_on_device instead of -O0.
5856 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5857 -O0.
5858 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5859 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5860 Likewise.
5861 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5862 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5863 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5864 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5865 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5866 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5867 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5868 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5869 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5870 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5871 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5872 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5873 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5874 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5875 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5876 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5877 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5878 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5879 Don't specify -O2.
5880 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5881 Likewise.
5882 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5883 Likewise.
5884
f9c8babb
ML
58852016-03-24 Martin Liska <mliska@suse.cz>
5886
5887 * plugin/plugin-hsa.c (packet_store_release): New function
5888 that is taken from the HSA runtime manual.
5889 (GOMP_OFFLOAD_run): Use the function.
5890
04833609
JJ
58912016-03-23 Jakub Jelinek <jakub@redhat.com>
5892
5893 PR c++/70376
5894 * testsuite/libgomp.c++/pr70376.C: New test.
5895
d79ee524
TV
58962016-03-23 Tom de Vries <tom@codesourcery.com>
5897
5898 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5899 initialization of lresult and lvresult.
5900 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5901
b6d1f2b5
JN
59022016-03-23 James Norris <jnorris@codesourcery.com>
5903 Daichi Fukuoka <dc-fukuoka@sgi.com>
5904
5905 PR libgomp/69414
5906 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5907 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5908 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5909 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5910
7397fce2
ML
59112016-03-23 Martin Liska <mliska@suse.cz>
5912
5913 PR hsa/70337
5914 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5915 argument just in case a dispatched kernel uses that argument.
5916
ee2e7d51
TS
59172016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5918
5919 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5920 -ftree-parallelize-loops/-fopenacc changes.
5921 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5922 Likewise.
5923 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5924 Likewise.
5925 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5926 Likewise.
5927 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5928 Likewise.
5929 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5930 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5931
be9f7143
TS
59322016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5933
5934 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5935 always_ld_library_path the path to libgcc_s.
5936
f6c1032d
CP
59372016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5938
5939 PR testsuite/70009
5940 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5941
5a6452e6
TV
59422016-03-09 Tom de Vries <tom@codesourcery.com>
5943
5944 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5945 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5946 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5947 Same.
5948 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5949 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5950 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5951 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5952
96a71bd5
MJ
59532016-03-07 Martin Jambor <mjambor@suse.cz>
5954
5955 * testsuite/lib/libgomp.exp
5956 (check_effective_target_hsa_offloading_selected_nocache): New.
5957 (check_effective_target_hsa_offloading_selected): Likewise.
5958 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5959 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5960 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5961 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5962 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5963 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5964 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5965 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5966 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5967 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5968 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5969 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5970 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5971 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5972 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5973 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5974 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5975
02e0b5b2
MJ
59762016-03-07 Martin Jambor <mjambor@suse.cz>
5977
5978 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5979 non-shared memory accelerators.
5980 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5981 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5982 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5983 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5984 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5985 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5986 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5987 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5988 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5989
45548f30
MJ
59902016-03-07 Martin Jambor <mjambor@suse.cz>
5991
5992 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5993 ALWAYS_CFLAGS.
5994
da3d46cb
JJ
59952016-03-02 Jakub Jelinek <jakub@redhat.com>
5996
5997 PR libgomp/69555
5998 * testsuite/libgomp.c++/pr69555-1.C: New test.
5999 * testsuite/libgomp.c++/pr69555-2.C: New test.
6000
622174b2
KM
60012016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
6002 Martin Jambor <mjambor@suse.cz>
6003
6004 * testsuite/lib/libgomp.exp
6005 (check_effective_target_offload_device_shared_as): New proc.
6006 * testsuite/libgomp.c++/declare_target-1.C: New test.
6007
e6861a99
IV
60082016-02-25 Ilya Verbin <ilya.verbin@intel.com>
6009
6010 PR driver/68463
6011 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6012
f99c3557
TS
60132016-02-23 Thomas Schwinge <thomas@codesourcery.com>
6014
6015 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6016 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6017 dims.
6018 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6019 -ftree-parallelize-loops/-fopenacc changes.
6020 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6022 Likewise.
6023 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6024 Likewise.
6025 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6026 Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6028 Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6030 Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6032 Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6034 Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6037 Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6040 Likewise.
6041 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6043 Likewise.
6044
d5ace3b5
CP
60452016-02-22 Cesar Philippidis <cesar@codesourcery.com>
6046
6047 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6048
f3609a89
JJ
60492016-02-19 Jakub Jelinek <jakub@redhat.com>
6050
6051 PR driver/69805
6052 * testsuite/libgomp.c/pr69805.c: New test.
6053
2175df99
TV
60542016-02-16 Tom de Vries <tom@codesourcery.com>
6055
6056 PR lto/67709
6057 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6058
17b6426c
TV
60592016-02-09 Tom de Vries <tom@codesourcery.com>
6060
6061 PR tree-optimization/69599
6062 * testsuite/libgomp.c/omp-nested-3.c: New test.
6063 * testsuite/libgomp.c/pr46032-2.c: New test.
6064 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6065 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6066
34df756c
TV
60672016-02-09 Tom de Vries <tom@codesourcery.com>
6068
6069 PR lto/69707
6070 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6071
5854ee30
AM
60722016-02-02 Alexander Monakov <amonakov@ispras.ru>
6073
6074 * testsuite/libgomp.c/target-31.c: Fix testcase.
6075
e70b6ad7
AM
60762016-02-02 Alexander Monakov <amonakov@ispras.ru>
6077
6078 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6079 clause.
6080 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6081 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6082 reduction and map clauses.
6083 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6084
bd78a45f
JN
60852016-02-02 James Norris <jnorris@codesourcery.com>
6086
6087 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6088
41d809d3
TS
60892016-02-02 Thomas Schwinge <thomas@codesourcery.com>
6090
18f60146
TS
6091 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6092 * oacc-parallel.c (GOACC_host_data): Remove function definition.
6093
1a06f5e6
TS
6094 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6095 cases.
6096
033ff3d1
TS
6097 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6098 variables.
6099 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6100 (hsa_kmt_lib): Set variables.
6101 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6102 always_ld_library_path.
6103 * Makefile.in: Regenerate.
6104 * configure: Likewise.
6105 * testsuite/Makefile.in: Likewise.
6106
4a88d9b7
TS
6107 * plugin/configfrag.ac (offload_additional_options)
6108 (offload_additional_lib_paths): Don't amend for hsa offloading.
6109 * configure: Regenerate.
6110
41d809d3
TS
6111 * plugin/configfrag.ac: Don't configure for offloading target if
6112 we don't build the corresponding plugin.
6113 * configure: Regenerate.
6114
b6adbb9f
NS
61152016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6116
6117 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6118 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6119
8dfdb419
TV
61202016-01-26 Tom de Vries <tom@codesourcery.com>
6121
6122 PR tree-optimization/69110
6123 * testsuite/libgomp.c/pr69110.c: New test.
6124
02ef53f2
RB
61252016-01-25 Richard Biener <rguenther@suse.de>
6126
6127 PR lto/69393
6128 * testsuite/libgomp.c++/pr69393.C: New testcase.
6129
eb4048f2
IV
61302016-01-22 Ilya Verbin <ilya.verbin@intel.com>
6131
6132 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6133 function wasn't mapped to the device with non-shared memory.
6134
b235cdd5
IV
61352016-01-20 Ilya Verbin <ilya.verbin@intel.com>
6136
6137 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6138
b2b40051
MJ
61392016-01-19 Martin Jambor <mjambor@suse.cz>
6140 Martin Liska <mliska@suse.cz>
6141
6142 * plugin/Makefrag.am: Add HSA plugin requirements.
6143 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6144 (HSA_RUNTIME_LIB): Likewise.
6145 (HSA_RUNTIME_CPPFLAGS): Likewise.
6146 (HSA_RUNTIME_INCLUDE): New substitution.
6147 (HSA_RUNTIME_LIB): Likewise.
6148 (HSA_RUNTIME_LDFLAGS): Likewise.
6149 (hsa-runtime): New configure option.
6150 (hsa-runtime-include): Likewise.
6151 (hsa-runtime-lib): Likewise.
6152 (PLUGIN_HSA): New substitution variable.
6153 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6154 configure options.
6155 (PLUGIN_HSA_CPPFLAGS): Likewise.
6156 (PLUGIN_HSA_LDFLAGS): Likewise.
6157 (PLUGIN_HSA_LIBS): Likewise.
6158 Check that we have access to HSA run-time.
6159 * libgomp-plugin.h (offload_target_type): New element
6160 OFFLOAD_TARGET_TYPE_HSA.
6161 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6162 args.
6163 (bool gomp_create_target_task): Updated.
6164 (gomp_device_descr): Extra parameter of run_func and async_run_func,
6165 new field can_run_func.
6166 * libgomp_g.h (GOMP_target_ext): Update prototype.
6167 * oacc-host.c (host_run): Added a new parameter args.
6168 * target.c (calculate_firstprivate_requirements): New function.
6169 (copy_firstprivate_data): Likewise.
6170 (gomp_target_fallback_firstprivate): Use them.
6171 (gomp_target_unshare_firstprivate): New function.
6172 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6173 devices.
6174 (GOMP_target): Do host fallback for all shared memory devices. Do not
6175 pass any args to plugins.
6176 (GOMP_target_ext): Introduce device-specific argument parameter args.
6177 Allow host fallback if device shares memory. Do not remap data if
6178 device has shared memory.
6179 (gomp_target_task_fn): Likewise. Also treat shared memory devices
6180 like host fallback for mappings.
6181 (GOMP_target_data): Treat shared memory devices like host fallback.
6182 (GOMP_target_data_ext): Likewise.
6183 (GOMP_target_update): Likewise.
6184 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6185 gomp_create_target_task.
6186 (GOMP_target_enter_exit_data): Likewise.
6187 (omp_target_alloc): Treat shared memory devices like host fallback.
6188 (omp_target_free): Likewise.
6189 (omp_target_is_present): Likewise.
6190 (omp_target_memcpy): Likewise.
6191 (omp_target_memcpy_rect): Likewise.
6192 (omp_target_associate_ptr): Likewise.
6193 (gomp_load_plugin_for_device): Also load can_run.
6194 * task.c (GOMP_PLUGIN_target_task_completion): Free
6195 firstprivate_copies.
6196 (gomp_create_target_task): Accept new argument args and store it to
6197 ttask.
6198 * plugin/plugin-hsa.c: New file.
6199
5d7804a9
TV
62002016-01-18 Tom de Vries <tom@codesourcery.com>
6201
6202 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6203 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6204 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6205 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6206 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6207 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6208 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6209 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6210 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6211 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6212 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6213 Same.
6214 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6215 Same.
6216 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6217 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6218 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6219 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6220 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6221 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6223 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6224 Same.
6225 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6226
cb11f3cf
JJ
62272016-01-15 Jakub Jelinek <jakub@redhat.com>
6228
6229 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6230
33a126a6
CP
62312016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6232
6233 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6234
cdf6119d
JN
62352016-01-12 James Norris <jnorris@codesourcery.com>
6236
6237 * libgomp.texi: Updates for OpenACC.
6238
0d58938e
AM
62392016-01-11 Alexander Monakov <amonakov@ispras.ru>
6240
6241 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6242
95918b49
L
62432016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6244
6245 PR fortran/66680
6246 * testsuite/libgomp.fortran/pr66680.f90: New test.
6247
8fc708b7
JJ
62482016-01-07 Jakub Jelinek <jakub@redhat.com>
6249
6250 PR middle-end/68960
6251 * testsuite/libgomp.c/pr68960.c: New test.
6252
e9b596c1
NS
62532016-01-06 Nathan Sidwell <nathan@acm.org>
6254
1a14faf2 6255 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
6256 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6257
21fa2a29
JJ
62582016-01-04 Jakub Jelinek <jakub@redhat.com>
6259
818ab71a
JJ
6260 Update copyright years.
6261
21fa2a29
JJ
6262 * libgomp.texi: Bump @copying's copyright year.
6263
9310efbc
NS
62642015-12-31 Nathan Sidwell <nathan@acm.org>
6265
6266 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6267 dg-additional-options syntax.
6268 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6269 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6270 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6271 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6272 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6273 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6274 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6275 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6276 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6277 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6278 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6279 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6280 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6282 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6283 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6284 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6285 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6286
4a38b02b
IV
62872015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6288
6289 * libgomp.h (REFCOUNT_LINK): Define.
6290 (struct splay_tree_key_s): Add link_key.
6291 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6292 Replace target address of the pointer with target address of newly
6293 mapped object in the splay tree. Set link pointer on target to the
6294 device address of the mapped object.
6295 (gomp_unmap_vars): Restore target address of the pointer in the splay
6296 tree for REFCOUNT_LINK objects after unmapping.
6297 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6298 declare target link" objects.
6299 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6300 "omp declare target link" objects, which were mapped for the image.
6301 (gomp_exit_data): Restore target address of the pointer in the splay
6302 tree for REFCOUNT_LINK objects after unmapping.
6303 * testsuite/libgomp.c/target-link-1.c: New file.
6304
d84ffc0a
IV
63052015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6306
6307 * libgomp.h (gomp_device_state): New enum.
6308 (struct gomp_device_descr): Replace is_initialized with state.
6309 (gomp_fini_device): Remove declaration.
6310 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6311 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6312 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6313 (acc_set_device_type): Use state instead of is_initialized.
6314 (acc_set_device_num): Likewise.
6315 * target.c (resolve_device): Use state instead of is_initialized.
6316 Do not initialize finalized device.
6317 (gomp_map_vars): Do nothing if device is finalized.
6318 (gomp_unmap_vars): Likewise.
6319 (gomp_update): Likewise.
6320 (GOMP_offload_register_ver): Use state instead of is_initialized.
6321 (GOMP_offload_unregister_ver): Likewise.
6322 (gomp_init_device): Likewise.
6323 (gomp_unload_device): Likewise.
6324 (gomp_fini_device): Remove.
6325 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6326 (GOMP_target): Go to host fallback if device is finalized.
6327 (GOMP_target_ext): Likewise.
6328 (gomp_exit_data): Do nothing if device is finalized.
6329 (gomp_target_task_fn): Go to host fallback if device is finalized.
6330 (gomp_target_fini): New static function.
6331 (gomp_target_init): Use state instead of is_initialized.
6332 Call gomp_target_fini at exit.
6333
76680678
TV
63342015-12-09 Tom de Vries <tom@codesourcery.com>
6335
6336 PR tree-optimization/68716
6337 * testsuite/libgomp.c/omp-nested-2.c: New test.
6338
ff7a55bf
TS
63392015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6340
6341 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6342 target openacc_nvidia_accel_selected.
6343 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6344 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6345 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6346 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6347
37d5ad46
JB
63482015-12-01 Julian Brown <julian@codesourcery.com>
6349 James Norris <James_Norris@mentor.com>
6350
6351 * oacc-parallel.c (GOACC_host_data): New function.
6352 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6353 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6354 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6355 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6356 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6357 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6358 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6359
db941d7e
CP
63602015-11-30 James Norris <jnorris@codesourcery.com>
6361 Cesar Philippidis <cesar@codesourcery.com>
6362
6363 libgomp/
6364 * libgomp.oacc-fortran/routine-5.f90: New test.
6365 * libgomp.oacc-fortran/routine-7.f90: New test.
6366 * libgomp.oacc-fortran/routine-9.f90: New test.
6367
e0ca27c5
TV
63682015-11-30 Tom de Vries <tom@codesourcery.com>
6369
6370 PR tree-optimization/46032
6371 * testsuite/libgomp.c/pr46032.c: New test.
6372
aec17bfe
JJ
63732015-11-27 Jakub Jelinek <jakub@redhat.com>
6374
8e4e4719
JJ
6375 PR libgomp/68579
6376 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6377 (gomp_create_target_task): Call it before freeing
6378 GOMP_TARGET_TASK_DATA tasks.
6379
aec17bfe
JJ
6380 PR c/63326
6381 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6382 in between case label and OpenMP standalone directives.
6383 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6384
6cfe90e6
DE
63852015-11-26 David Edelsohn <dje.gcc@gmail.com>
6386
6387 * configure: Regenerate.
6388
0e65fd7d
JJ
63892015-11-26 Jakub Jelinek <jakub@redhat.com>
6390
6391 * testsuite/libgomp.c/target-35.c: New test.
6392
dc7a8b4b
JN
63932015-11-22 James Norris <jnorris@codesourcery.com>
6394 Cesar Philippidis <cesar@codesourcery.com>
6395
6396 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6397 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6398 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6399 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6400 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6401
48a78aee
JJ
64022015-11-20 Jakub Jelinek <jakub@redhat.com>
6403
6404 PR middle-end/68221
6405 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6406 * testsuite/libgomp.c/reduction-12.c: Likewise.
6407 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6408 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6409
2d256816
NS
64102015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6411
6412 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6413 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6414 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6415 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6416 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6417 and fix.
6418 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6419 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6420
33f47f42
NS
64212015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6422
6423 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6424 worker & gang cases.
6425 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6426
3d7bfee0
CP
64272015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6428
6429 * config/nvptx/priority_queue.c: New file.
6430
00b9bd52
JJ
64312015-11-14 Jakub Jelinek <jakub@redhat.com>
6432
6433 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6434 sections.
6435
e4606348
JJ
64362015-11-14 Jakub Jelinek <jakub@redhat.com>
6437 Aldy Hernandez <aldyh@redhat.com>
6438 Ilya Verbin <ilya.verbin@intel.com>
6439
6440 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6441 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6442 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6443 iterators or IV by chunk size.
6444 * parallel.c (gomp_resolve_num_threads): Don't assume that
6445 if thr->ts.team is non-NULL, then pool must be non-NULL.
6446 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6447 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6448 GOMP_PLUGIN_target_task_completion.
6449 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6450 * Makefile.in: Regenerate.
6451 * libgomp.h: Shuffle prototypes and forward definitions around so
6452 priority queues can be defined.
6453 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6454 (enum gomp_target_task_state): New enum.
6455 (struct gomp_target_task): Add state, tgt, task and team fields.
6456 (gomp_create_target_task): Change return type to bool, add
6457 state argument.
6458 (gomp_target_task_fn): Change return type to bool.
6459 (struct gomp_device_descr): Add async_run_func.
6460 (struct gomp_task): Remove children, next_child, prev_child,
6461 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6462 Add pnode field.
6463 (struct gomp_taskgroup): Remove children.
6464 Add taskgroup_queue.
6465 (struct gomp_team): Change task_queue type to a priority queue.
6466 (splay_compare): Define inline.
6467 (priority_queue_offset): New.
6468 (priority_node_to_task): New.
6469 (task_to_priority_node): New.
6470 * oacc-mem.c: Do not include splay-tree.h.
6471 * priority_queue.c: New file.
6472 * priority_queue.h: New file.
6473 * splay-tree.c: Do not include splay-tree.h.
6474 (splay_tree_foreach_internal): New.
6475 (splay_tree_foreach): New.
6476 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6477 (splay_tree_callback): Define typedef.
6478 * target.c (splay_compare): Move to libgomp.h.
6479 (GOMP_target): Don't adjust *thr in any way around running offloaded
6480 task.
6481 (GOMP_target_ext): Likewise. Handle target nowait.
6482 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6483 return value from gomp_create_target_task, if false, fallthrough
6484 as if no dependencies exist.
6485 (gomp_target_task_fn): Change return type to bool, return true
6486 if the task should have another part scheduled later. Handle
6487 target nowait.
6488 (gomp_load_plugin_for_device): Initialize async_run.
6489 * task.c (gomp_init_task): Initialize children_queue.
6490 (gomp_clear_parent_in_list): New.
6491 (gomp_clear_parent_in_tree): New.
6492 (gomp_clear_parent): Handle priorities.
6493 (GOMP_task): Likewise.
6494 (priority_queue_move_task_first,
6495 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6496 New functions.
6497 (gomp_create_target_task): Use priority queues. Change return type
6498 to bool, add state argument, return false if for async
6499 {{enter,exit} data,update} constructs no dependencies need to be
6500 waited for, handle target nowait. Set task->fn to NULL instead of
6501 gomp_target_task_fn.
6502 (verify_children_queue): Remove.
6503 (priority_list_upgrade_task): New.
6504 (priority_queue_upgrade_task): New.
6505 (verify_task_queue): Remove.
6506 (priority_list_downgrade_task): New.
6507 (priority_queue_downgrade_task): New.
6508 (gomp_task_run_pre): Use priority queues.
6509 Abstract code out to priority_queue_downgrade_task.
6510 (gomp_task_run_post_handle_dependers): Use priority queues.
6511 (gomp_task_run_post_remove_parent): Likewise.
6512 (gomp_task_run_post_remove_taskgroup): Likewise.
6513 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6514 tasks specially.
6515 (GOMP_taskwait): Likewise.
6516 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6517 priority-queue_upgrade_task.
6518 (GOMP_taskgroup_start): Use priority queues.
6519 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6520 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6521 barrier.
6522 * taskloop.c (GOMP_taskloop): Handle priorities.
6523 * team.c (gomp_new_team): Call priority_queue_init.
6524 (free_team): Call priority_queue_free.
6525 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6526 team created for target nowait in implicit parallel region.
6527 (gomp_team_start): For nested check, test thr->ts.level instead of
6528 thr->ts.team != NULL.
6529 * testsuite/libgomp.c/doacross-3.c: New test.
6530 * testsuite/libgomp.c/ordered-5.c: New test.
6531 * testsuite/libgomp.c/priority.c: New test.
6532 * testsuite/libgomp.c/target-31.c: New test.
6533 * testsuite/libgomp.c/target-32.c: New test.
6534 * testsuite/libgomp.c/target-33.c: New test.
6535 * testsuite/libgomp.c/target-34.c: New test.
6536
1d1ab74f
NS
65372015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6538
c5a64cfe
NS
6539 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6540
1d1ab74f
NS
6541 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6542 loop is sequential.
6543
dd3c1b14
NS
65442015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6545
6546 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6547 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6548
6e232ba4
JN
65492015-11-12 James Norris <jnorris@codesourcery.com>
6550 Joseph Myers <joseph@codesourcery.com>
6551
6552 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6553 * oacc-parallel.c (GOACC_declare): New function.
6554 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6555 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6556 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6557 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6558 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6559
fffeedeb
NS
65602015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6561
6562 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6563
182190f2
NS
65642015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6565
6566 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6567 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6568
36fa0f5f
NS
65692015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6570
d350c40c
NS
6571 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6572 inadvertent commit.
6573
65742015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6575
36fa0f5f
NS
6576 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6577 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6578 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6579 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6580 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6581
66a5f0b4
TS
65822015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6583
6584 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6585 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6586
e01d41e5
JJ
65872015-11-05 Jakub Jelinek <jakub@redhat.com>
6588 Ilya Verbin <ilya.verbin@intel.com>
6589
6590 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6591 GOMP_loop_nonmonotonic_dynamic_start,
6592 GOMP_loop_nonmonotonic_guided_next,
6593 GOMP_loop_nonmonotonic_guided_start,
6594 GOMP_loop_ull_nonmonotonic_dynamic_next,
6595 GOMP_loop_ull_nonmonotonic_dynamic_start,
6596 GOMP_loop_ull_nonmonotonic_guided_next,
6597 GOMP_loop_ull_nonmonotonic_guided_start,
6598 GOMP_parallel_loop_nonmonotonic_dynamic,
6599 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6600 (GOMP_target_41): Renamed to ...
6601 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6602 arguments.
6603 (GOMP_target_data_41): Renamed to ...
6604 (GOMP_target_data_ext): ... this.
6605 (GOMP_target_update_41): Renamed to ...
6606 (GOMP_target_update_ext): ... this.
6607 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6608 GOMP_target_data_ext and GOMP_target_update_ext instead of
6609 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6610 Export GOMP_loop_nonmonotonic_dynamic_next,
6611 GOMP_loop_nonmonotonic_dynamic_start,
6612 GOMP_loop_nonmonotonic_guided_next,
6613 GOMP_loop_nonmonotonic_guided_start,
6614 GOMP_loop_ull_nonmonotonic_dynamic_next,
6615 GOMP_loop_ull_nonmonotonic_dynamic_start,
6616 GOMP_loop_ull_nonmonotonic_guided_next,
6617 GOMP_loop_ull_nonmonotonic_guided_start,
6618 GOMP_parallel_loop_nonmonotonic_dynamic and
6619 GOMP_parallel_loop_nonmonotonic_guided.
6620 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6621 GOMP_parallel_loop_nonmonotonic_guided,
6622 GOMP_loop_nonmonotonic_dynamic_start,
6623 GOMP_loop_nonmonotonic_guided_start,
6624 GOMP_loop_nonmonotonic_dynamic_next,
6625 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6626 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6627 GOMP_loop_ull_nonmonotonic_guided_start,
6628 GOMP_loop_ull_nonmonotonic_dynamic_next,
6629 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6630 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6631 functions.
6632 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6633 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6634 Use gomp_map_val function.
6635 (gomp_target_fallback_firstprivate): New static function.
6636 (GOMP_target_41): Renamed to ...
6637 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6638 arguments. Move firstprivate fallback handling into a new
6639 function.
6640 (GOMP_target_data_41): Renamed to ...
6641 (GOMP_target_data_ext): ... this.
6642 (GOMP_target_update_41): Renamed to ...
6643 (GOMP_target_update_ext): ... this.
6644 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6645 gomp_map_0len_lookup instead of gomp_map_lookup.
6646 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6647 gomp_map_lookup.
6648 * testsuite/libgomp.c/target-28.c: Likewise.
6649 * testsuite/libgomp.c/monotonic-1.c: New test.
6650 * testsuite/libgomp.c/monotonic-2.c: New test.
6651 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6652 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6653 * testsuite/libgomp.c/pr66199-5.c: New test.
6654 * testsuite/libgomp.c/pr66199-6.c: New test.
6655 * testsuite/libgomp.c/pr66199-7.c: New test.
6656 * testsuite/libgomp.c/pr66199-8.c: New test.
6657 * testsuite/libgomp.c/pr66199-9.c: New test.
6658 * testsuite/libgomp.c/reduction-11.c: New test.
6659 * testsuite/libgomp.c/reduction-12.c: New test.
6660 * testsuite/libgomp.c/reduction-13.c: New test.
6661 * testsuite/libgomp.c/reduction-14.c: New test.
6662 * testsuite/libgomp.c/reduction-15.c: New test.
6663 * testsuite/libgomp.c/target-12.c (main): Adjust for
6664 omp_target_is_present change for one-past-last element.
6665 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6666 the same var is both mapped and privatized.
6667 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6668 handling of zero-length array sections.
6669 * testsuite/libgomp.c/target-28.c: New test.
6670 * testsuite/libgomp.c/target-29.c: New test.
6671 * testsuite/libgomp.c/target-30.c: New test.
6672 * testsuite/libgomp.c/target-teams-1.c: New test.
6673 * testsuite/libgomp.c++/member-6.C: New test.
6674 * testsuite/libgomp.c++/member-7.C: New test.
6675 * testsuite/libgomp.c++/monotonic-1.C: New test.
6676 * testsuite/libgomp.c++/monotonic-2.C: New test.
6677 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6678 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6679 * testsuite/libgomp.c++/pr66199-3.C: New test.
6680 * testsuite/libgomp.c++/pr66199-4.C: New test.
6681 * testsuite/libgomp.c++/pr66199-5.C: New test.
6682 * testsuite/libgomp.c++/pr66199-6.C: New test.
6683 * testsuite/libgomp.c++/pr66199-7.C: New test.
6684 * testsuite/libgomp.c++/pr66199-8.C: New test.
6685 * testsuite/libgomp.c++/pr66199-9.C: New test.
6686 * testsuite/libgomp.c++/reduction-11.C: New test.
6687 * testsuite/libgomp.c++/reduction-12.C: New test.
6688 * testsuite/libgomp.c++/target-13.C: New test.
6689 * testsuite/libgomp.c++/target-14.C: New test.
6690 * testsuite/libgomp.c++/target-15.C: New test.
6691 * testsuite/libgomp.c++/target-16.C: New test.
6692 * testsuite/libgomp.c++/target-17.C: New test.
6693 * testsuite/libgomp.c++/target-18.C: New test.
6694 * testsuite/libgomp.c++/target-19.C: New test.
6695
ccc8282b
NS
66962015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6697
6698 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6699 and reduction copy.
6700 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6701 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6702 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6703 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6704 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6705 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6706 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6707 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6709 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6712 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6714
5d6823a2
NS
67152015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6716
6717 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6718 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6719 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6720 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6721 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6722 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6723 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6724 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6725
5c06742f
NS
67262015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6727
6728 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6729 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6730 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6731 * oacc-host.c (host_openacc_exec): Likewise.
6732 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6733
4bf9e5a8
TS
67342015-11-03 Julian Brown <julian@codesourcery.com>
6735 Thomas Schwinge <thomas@codesourcery.com>
6736
6737 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6738 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6740 Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6743
67442015-11-03 James Norris <jnorris@codesourcery.com>
6745
6746 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6747 file.
6748 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6749 Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6752 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6753 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6754 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6755
a0e701d8
NS
67562015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6757
6758 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6759 compatibility.
6760 (enum acc_async_t): Reformat.
6761 (acc_on_device): Declare compatible with builtin and provide C++
6762 wrapper.
6763 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6764
41e977ac
TS
67652015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6766 Cesar Philippidis <cesar@codesourcery.com>
6767
6768 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6769 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6770 ... this. Add a description of the test at the top of the file.
6771 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6772 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6773 ... this. Add a description of the test at the top of the file.
6774
e3091406
NS
67752015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6776
6777 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6778 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6779 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6780 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6781 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6782 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6783
a1c1908b
NS
67842015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6785
6786 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6787 dimensions.
6788
b3962a4a
TS
67892015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6790
6791 PR testsuite/68063
6792 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6793
88bae6f4
TS
67942015-10-27 James Norris <jnorris@codesourcery.com>
6795
6796 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6797 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6798
8baa7864
TS
67992015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6800
bdeb752c
TS
6801 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6802 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6803
ecd4fd43
TS
6804 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6805 acc_device_nvidia usage.
6806 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6808 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6809
aa8b7d30
TS
6810 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6811 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6812
7c8f138d
TS
6813 PR libgomp/66518
6814 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6815
8baa7864
TS
6816 PR libgomp/65437
6817 PR libgomp/66518
6818 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6819 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6820
88ebcde5
TV
68212015-10-23 Tom de Vries <tom@codesourcery.com>
6822
6823 PR testsuite/68063
6824 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6825
9ef83c04
NS
68262015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6827
6828 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6829 vector_length.
6830 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6831
3837c6d6
IV
68322015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6833 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6834
6835 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6836 to 0 when mapnum is 0.
6837
ac8a1965
SH
68382015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6839
6840 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6841 Cast to int from int32_t.
6842
d9a6bd32
JJ
68432015-10-13 Jakub Jelinek <jakub@redhat.com>
6844 Aldy Hernandez <aldyh@redhat.com>
6845 Ilya Verbin <ilya.verbin@intel.com>
6846
6847 * config/linux/affinity.c (omp_get_place_num_procs,
6848 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6849 * config/linux/doacross.h: New file.
6850 * config/posix/affinity.c (omp_get_place_num_procs,
6851 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6852 * config/posix/doacross.h: New file.
6853 * env.c: Include gomp-constants.h.
6854 (struct gomp_task_icv): Rename run_sched_modifier to
6855 run_sched_chunk_size.
6856 (gomp_max_task_priority_var): New variable.
6857 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6858 (handle_omp_display_env): Change _OPENMP value from 201307 to
6859 201511. Print OMP_MAX_TASK_PRIORITY.
6860 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6861 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6862 chunk_size and run_sched_modifier to run_sched_chunk_size.
6863 (omp_get_max_task_priority, omp_get_initial_device,
6864 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6865 omp_get_partition_place_nums): New functions.
6866 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6867 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6868 to chunk_size.
6869 (omp_get_num_places_, omp_get_place_num_procs_,
6870 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6871 omp_get_place_proc_ids_8_, omp_get_place_num_,
6872 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6873 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6874 omp_get_max_task_priority_): New functions.
6875 * libgomp_g.h (GOMP_loop_doacross_static_start,
6876 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6877 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6878 GOMP_loop_ull_doacross_dynamic_start,
6879 GOMP_loop_ull_doacross_guided_start,
6880 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6881 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6882 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6883 GOMP_target_data_41, GOMP_target_update_41,
6884 GOMP_target_enter_exit_data): New prototypes.
6885 (GOMP_task): Add prototype argument.
6886 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6887 (struct gomp_doacross_work_share): New type.
6888 (struct gomp_work_share): Add doacross field.
6889 (struct gomp_task_icv): Rename run_sched_modifier to
6890 run_sched_chunk_size.
6891 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6892 GOMP_TASK_UNDEFERRED. Add comments.
6893 (struct gomp_task_depend_entry): Add comments.
6894 (struct gomp_task): Likewise.
6895 (struct gomp_taskgroup): Likewise.
6896 (struct gomp_target_task): New type.
6897 (struct gomp_team): Add comment.
6898 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6899 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6900 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6901 (struct target_var_desc): New type.
6902 (struct target_mem_desc): Adjust comment. Use struct
6903 target_var_desc instead of splay_tree_key for list.
6904 (REFCOUNT_INFINITY): Define.
6905 (struct splay_tree_key_s): Remove copy_from field.
6906 (struct gomp_device_descr): Add dev2dev_func field.
6907 (enum gomp_map_vars_kind): New enum.
6908 (gomp_map_vars): Add one argument.
6909 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6910 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6911 omp_get_place_num_procs, omp_get_place_num_procs_,
6912 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6913 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6914 omp_get_place_num_, omp_get_partition_num_places,
6915 omp_get_partition_num_places_, omp_get_partition_place_nums,
6916 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6917 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6918 omp_target_free, omp_target_is_present, omp_target_memcpy,
6919 omp_target_memcpy_rect, omp_target_associate_ptr and
6920 omp_target_disassociate_ptr.
6921 (GOMP_4.0.2): Renamed to ...
6922 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6923 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6924 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6925 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6926 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6927 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6928 GOMP_loop_ull_doacross_guided_start,
6929 GOMP_loop_ull_doacross_runtime_start,
6930 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6931 GOMP_doacross_ull_wait.
6932 * libgomp.texi: Document omp_get_max_task_priority.
6933 Rename modifier argument to chunk_size for omp_set_schedule and
6934 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6935 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6936 to run_sched_chunk_size renaming.
6937 (GOMP_loop_ordered_runtime_start): Likewise.
6938 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6939 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6940 GOMP_parallel_loop_runtime_start): New functions.
6941 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6942 to run_sched_chunk_size renaming.
6943 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6944 GOMP_loop_doacross_guided_start): New functions or aliases.
6945 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6946 run_sched_modifier to run_sched_chunk_size renaming.
6947 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6948 (gomp_loop_ull_doacross_static_start,
6949 gomp_loop_ull_doacross_dynamic_start,
6950 gomp_loop_ull_doacross_guided_start,
6951 GOMP_loop_ull_doacross_runtime_start): New functions.
6952 (GOMP_loop_ull_doacross_static_start,
6953 GOMP_loop_ull_doacross_dynamic_start,
6954 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6955 * oacc-mem.c (acc_map_data, present_create_copy,
6956 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6957 to gomp_map_vars.
6958 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6959 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6960 instead of false to gomp_map_vars.
6961 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6962 * omp.h.in (omp_lock_hint_t): New type.
6963 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6964 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6965 omp_get_place_num, omp_get_partition_num_places,
6966 omp_get_partition_place_nums, omp_get_initial_device,
6967 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6968 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6969 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6970 prototypes.
6971 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6972 (omp_lock_hint_none, omp_lock_hint_uncontended,
6973 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6974 omp_lock_hint_speculative): New parameters.
6975 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6976 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6977 omp_get_place_num, omp_get_partition_num_places,
6978 omp_get_partition_place_nums, omp_get_initial_device,
6979 omp_get_max_task_priority): New interfaces.
6980 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6981 to chunk_size.
6982 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6983 (omp_lock_hint_none, omp_lock_hint_uncontended,
6984 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6985 omp_lock_hint_speculative): New parameters.
6986 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6987 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6988 omp_get_place_num, omp_get_partition_num_places,
6989 omp_get_partition_place_nums, omp_get_initial_device,
6990 omp_get_max_task_priority): New functions and subroutines.
6991 * ordered.c: Include stdarg.h and string.h.
6992 (MAX_COLLAPSED_BITS): Define.
6993 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6994 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6995 GOMP_doacross_ull_wait): New functions.
6996 * target.c: Include errno.h.
6997 (resolve_device): If device is not initialized, call
6998 gomp_init_device on it.
6999 (gomp_map_lookup): New function.
7000 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7001 Don't bump refcount if REFCOUNT_INFINITY. Handle
7002 GOMP_MAP_ALWAYS_TO_P.
7003 (get_kind): Rename is_openacc argument to short_mapkind.
7004 (gomp_map_pointer): Use gomp_map_lookup.
7005 (gomp_map_fields_existing): New function.
7006 (gomp_map_vars): Rename is_openacc argument to short_mapkind
7007 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
7008 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7009 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7010 Adjust for tgt->list changed type and copy_from living in there.
7011 (gomp_copy_from_async): Adjust for tgt->list changed type and
7012 copy_from living in there.
7013 (gomp_unmap_vars): Likewise.
7014 (gomp_update): Likewise. Rename is_openacc argument to
7015 short_mapkind. Don't fail if object is not mapped.
7016 (gomp_load_image_to_device): Initialize refcount to
7017 REFCOUNT_INFINITY.
7018 (gomp_target_fallback): New function.
7019 (gomp_get_target_fn_addr): Likewise.
7020 (GOMP_target): Adjust gomp_map_vars caller, use
7021 gomp_get_target_fn_addr and gomp_target_fallback.
7022 (GOMP_target_41): New function.
7023 (gomp_target_data_fallback): New function.
7024 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7025 (GOMP_target_data_41): New function.
7026 (GOMP_target_update): Adjust gomp_update caller.
7027 (GOMP_target_update_41): New function.
7028 (gomp_exit_data, GOMP_target_enter_exit_data,
7029 gomp_target_task_fn, omp_target_alloc, omp_target_free,
7030 omp_target_is_present, omp_target_memcpy,
7031 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7032 omp_target_associate_ptr, omp_target_disassociate_ptr,
7033 gomp_load_plugin_for_device): New functions.
7034 * task.c: Include gomp-constants.h. Include taskloop.c
7035 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7036 (gomp_task_handle_depend): New function.
7037 (GOMP_task): Use it. Add priority argument. Use
7038 gomp-constant.h constants instead of hardcoded numbers.
7039 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7040 (gomp_create_target_task): New function.
7041 (verify_children_queue, verify_taskgroup_queue,
7042 verify_task_queue): New functions.
7043 (gomp_task_run_pre): Call verify_*_queue functions.
7044 If an upcoming tied task is about to leave the sibling or
7045 taskgroup queues in an invalid state, adjust appropriately.
7046 Remove taskgroup argument. Add comments.
7047 (gomp_task_run_post_handle_dependers): Add comments.
7048 (gomp_task_run_post_remove_parent): Likewise.
7049 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7050 (GOMP_taskwait): Likewise. Add comments.
7051 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7052 problem such that the first non parent_depends_on task does not
7053 end up at the end of the children queue.
7054 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7055 GOMP_TASK_UNDEFERRED.
7056 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7057 * taskloop.c: New file.
7058 * testsuite/lib/libgomp.exp
7059 (check_effective_target_offload_device_nonshared_as): New proc.
7060 * testsuite/libgomp.c/affinity-2.c: New test.
7061 * testsuite/libgomp.c/doacross-1.c: New test.
7062 * testsuite/libgomp.c/doacross-2.c: New test.
7063 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7064 Add map clause to target.
7065 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7066 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7067 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7068 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7069 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7070 Likewise.
7071 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7072 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7073 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7074 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7075 not defined. Use those where needed.
7076 * testsuite/libgomp.c/for-4.c: New test.
7077 * testsuite/libgomp.c/for-5.c: New test.
7078 * testsuite/libgomp.c/for-6.c: New test.
7079 * testsuite/libgomp.c/linear-1.c: New test.
7080 * testsuite/libgomp.c/ordered-4.c: New test.
7081 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7082 only allowed on the loop iterator.
7083 * testsuite/libgomp.c/pr66199-3.c: New test.
7084 * testsuite/libgomp.c/pr66199-4.c: New test.
7085 * testsuite/libgomp.c/reduction-7.c: New test.
7086 * testsuite/libgomp.c/reduction-8.c: New test.
7087 * testsuite/libgomp.c/reduction-9.c: New test.
7088 * testsuite/libgomp.c/reduction-10.c: New test.
7089 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7090 map(tofrom:s).
7091 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7092 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7093 * testsuite/libgomp.c/target-11.c: New test.
7094 * testsuite/libgomp.c/target-12.c: New test.
7095 * testsuite/libgomp.c/target-13.c: New test.
7096 * testsuite/libgomp.c/target-14.c: New test.
7097 * testsuite/libgomp.c/target-15.c: New test.
7098 * testsuite/libgomp.c/target-16.c: New test.
7099 * testsuite/libgomp.c/target-17.c: New test.
7100 * testsuite/libgomp.c/target-18.c: New test.
7101 * testsuite/libgomp.c/target-19.c: New test.
7102 * testsuite/libgomp.c/target-20.c: New test.
7103 * testsuite/libgomp.c/target-21.c: New test.
7104 * testsuite/libgomp.c/target-22.c: New test.
7105 * testsuite/libgomp.c/target-23.c: New test.
7106 * testsuite/libgomp.c/target-24.c: New test.
7107 * testsuite/libgomp.c/target-25.c: New test.
7108 * testsuite/libgomp.c/target-26.c: New test.
7109 * testsuite/libgomp.c/target-27.c: New test.
7110 * testsuite/libgomp.c/taskloop-1.c: New test.
7111 * testsuite/libgomp.c/taskloop-2.c: New test.
7112 * testsuite/libgomp.c/taskloop-3.c: New test.
7113 * testsuite/libgomp.c/taskloop-4.c: New test.
7114 * testsuite/libgomp.c++/ctor-13.C: New test.
7115 * testsuite/libgomp.c++/doacross-1.C: New test.
7116 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7117 Replace offload_device with offload_device_nonshared_as.
7118 * testsuite/libgomp.c++/for-12.C: New test.
7119 * testsuite/libgomp.c++/for-13.C: New test.
7120 * testsuite/libgomp.c++/for-14.C: New test.
7121 * testsuite/libgomp.c++/linear-1.C: New test.
7122 * testsuite/libgomp.c++/member-1.C: New test.
7123 * testsuite/libgomp.c++/member-2.C: New test.
7124 * testsuite/libgomp.c++/member-3.C: New test.
7125 * testsuite/libgomp.c++/member-4.C: New test.
7126 * testsuite/libgomp.c++/member-5.C: New test.
7127 * testsuite/libgomp.c++/ordered-1.C: New test.
7128 * testsuite/libgomp.c++/reduction-5.C: New test.
7129 * testsuite/libgomp.c++/reduction-6.C: New test.
7130 * testsuite/libgomp.c++/reduction-7.C: New test.
7131 * testsuite/libgomp.c++/reduction-8.C: New test.
7132 * testsuite/libgomp.c++/reduction-9.C: New test.
7133 * testsuite/libgomp.c++/reduction-10.C: New test.
7134 * testsuite/libgomp.c++/reference-1.C: New test.
7135 * testsuite/libgomp.c++/simd14.C: New test.
7136 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7137 * testsuite/libgomp.c++/target-5.C: New test.
7138 * testsuite/libgomp.c++/target-6.C: New test.
7139 * testsuite/libgomp.c++/target-7.C: New test.
7140 * testsuite/libgomp.c++/target-8.C: New test.
7141 * testsuite/libgomp.c++/target-9.C: New test.
7142 * testsuite/libgomp.c++/target-10.C: New test.
7143 * testsuite/libgomp.c++/target-11.C: New test.
7144 * testsuite/libgomp.c++/target-12.C: New test.
7145 * testsuite/libgomp.c++/taskloop-1.C: New test.
7146 * testsuite/libgomp.c++/taskloop-2.C: New test.
7147 * testsuite/libgomp.c++/taskloop-3.C: New test.
7148 * testsuite/libgomp.c++/taskloop-4.C: New test.
7149 * testsuite/libgomp.c++/taskloop-5.C: New test.
7150 * testsuite/libgomp.c++/taskloop-6.C: New test.
7151 * testsuite/libgomp.c++/taskloop-7.C: New test.
7152 * testsuite/libgomp.c++/taskloop-8.C: New test.
7153 * testsuite/libgomp.c++/taskloop-9.C: New test.
7154 * testsuite/libgomp.fortran/affinity1.f90: New test.
7155 * testsuite/libgomp.fortran/affinity2.f90: New test.
7156
1f600fea
TV
71572015-10-13 Tom de Vries <tom@codesourcery.com>
7158
7159 PR tree-optimization/67476
7160 * testsuite/libgomp.c/autopar-3.c: New test.
7161 * testsuite/libgomp.c/autopar-4.c: New test.
7162 * testsuite/libgomp.c/autopar-5.c: New test.
7163 * testsuite/libgomp.c/autopar-6.c: New test.
7164 * testsuite/libgomp.c/autopar-7.c: New test.
7165 * testsuite/libgomp.c/autopar-8.c: New test.
7166
058a654b
JN
71672015-10-12 James Norris <jnorris@codesourcery.com>
7168
7169 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7170 initializer.
7171
9e531d37
DM
71722015-10-09 David Malcolm <dmalcolm@redhat.com>
7173
7174 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7175 using load_gcc_lib.
7176
113020dc
TS
71772015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7178
7179 * oacc-ptx.h: Remove file, moving its content into...
7180 * config/nvptx/fortran.c: ... here...
7181 * config/nvptx/oacc-init.c: ..., here...
7182 * config/nvptx/oacc-parallel.c: ..., and here.
7183 * config/nvptx/openacc.f90: New file.
7184 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7185 (link_ptx): Don't link in predefined bits of PTX code.
7186
cc3cd79b
NS
71872015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7188 Bernd Schmidt <bernds@codesourcery.com>
7189
7190 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7191 (struct targ_ptx_obj): New.
7192 (nvptx_tdata): Move earlier, change data format.
7193 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7194 objects.
7195 (GOMP_OFFLOAD_load_image): Adjust.
7196
4e2a5450
TS
71972015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7198
7199 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7200 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7201 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7202 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7203 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7204 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7205 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7206 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7207 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7208 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7209 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7210 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7211 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7212 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7213 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7214 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7215 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7216 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7217 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7218 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7219 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7220 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7221 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7222 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7223 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7224 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7225 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7226 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7227 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7228 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7229 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7230 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7231 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7232 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7233 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7234 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7235 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7236 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7237 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7238 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7239 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7240 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7241 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7242 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7243 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7244 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7245 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7246 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7247 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7248 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7249 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7250 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7251 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7252 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7253 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7254 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7255 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7256 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7257 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7258 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7259 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7260 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7261 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7262
164453bb
NS
72632015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7264
7265 * oacc-init.c (acc_on_device): Force optimization level.
7266
a12a0437
NS
72672015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7268
7269 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7270 (cuda_errlist): Delete.
7271 (cuda_error): Reimplement.
7272
3e32ee19
NS
72732015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7274
7275 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7276 array.
7277 * libgomp.map (GOACC_parallel_keyed): New.
7278 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7279 all callers.
7280 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7281 and take keyed varargs list. Adjust call to exec_func.
7282 (GOACC_parallel): Force host fallback.
7283 * libgomp_g.h (GOACC_parallel): Remove.
7284 (GOACC_parallel_keyed): Declare.
7285 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 7286 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
7287 (nvptx_exec): Lose separate geometry args, take array. Process
7288 dynamic dimensions and adjust.
7289 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7290 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7291 data.
7292 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7293 passing.
7294 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7295 passing.
7296
6bb4c3e2
CLT
72972015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7298
7299 PR libgomp/67141
7300 * oacc-int.h (goacc_host_init): Add declaration.
7301 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7302 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7303
74032f47 73042015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 7305 Sebastian Pop <s.pop@samsung.com>
74032f47 7306
93d90219 7307 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
7308 match o/p.
7309 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7310 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7311 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7312 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7313 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7314
97875f4a
JJ
73152015-09-03 Jakub Jelinek <jakub@redhat.com>
7316
7317 * configure.tgt: Add missing ;; in between nvptx and rtems
7318 snippets.
7319
06441dd5
SH
73202015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7321
7322 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7323 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7324 (gomp_thread_pool_reservoir): Add priority member.
7325 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7326 priority.
7327 (parse_thread_pools): Likewise.
7328 * team.c (gomp_team_start): Call configuration provided
7329 gomp_adjust_thread_attr(). Destroy thread attributes if
7330 necessary.
7331 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7332
66c59f92
SH
73332015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7334
7335 * config/posix/pool.h: New.
7336 * config/rtems/pool.h: Likewise.
7337 * config/rtems/proc.c: Likewise.
7338 * libgomp.h (gomp_thread_destructor): Declare.
7339 * team.c: Include configuration provided "pool.h".
7340 (gomp_get_thread_pool): Define in configuration.
7341 (gomp_team_end): Call configuration defined
7342 gomp_release_thread_pool().
7343
13c41b2e
SH
73442015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7345
7346 * config/rtems/bar.c: New.
7347 * config/rtems/bar.h: Likewise.
7348 * config/rtems/mutex.c: Likewise.
7349 * config/rtems/mutex.h: Likewise.
7350 * config/rtems/sem.c: Likewise.
7351 * config/rtems/sem.h: Likewise.
7352 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7353 <sys/lock.h> header file.
7354 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7355 supported by Newlib.
7356 * configure: Regenerate.
7357
7892ec67
SH
73582015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7359
7360 * team.c (gomp_new_thread_pool): Delete and move content to ...
7361 (gomp_get_thread_pool): ... new function. Allocate and
7362 initialize thread pool on demand.
7363 (get_last_team): Use gomp_get_thread_pool().
7364 (gomp_team_start): Delete thread pool initialization.
7365
1b96e9a4
TV
73662015-09-03 Tom de Vries <tom@codesourcery.com>
7367
7368 PR tree-optimization/65637
7369 * testsuite/libgomp.c/autopar-2.c: New test.
7370
3ff2d74e
TV
73712015-08-29 Tom de Vries <tom@codesourcery.com>
7372
7373 PR tree-optimization/46193
7374 * testsuite/libgomp.c/pr46193.c: New test.
7375
2a21ff19
NS
73762015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7377
7378 libgomp/
7379 * libgomp.map: Add 4.0.2 version.
7380 * target.c (offload_image_descr): Add version field.
7381 (gomp_load_image_to_device): Add version argument. Adjust plugin
7382 call. Improve load mismatch diagnostic.
7383 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7384 call.
7385 (GOMP_offload_regster): Make stub function, move bulk to ...
7386 (GOMP_offload_register_ver): ... here. Process version argument.
7387 (GOMP_offload_unregister): Make stub function, move bulk to ...
7388 (GOMP_offload_unregister_ver): ... here. Process version argument.
7389 (gomp_init_device): Process version field.
7390 (gomp_unload_device): Process version field.
7391 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7392 macros. Check plugin version.
7393 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7394 loader and unloader types.
7395 * oacc-host.c: Include gomp-constants.h.
7396 (host_version): New.
7397 (host_load_image, host_unload_image): Adjust.
7398 (host_dispatch): Add host_version.
7399 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7400 (GOMP_OFFLOAD_version): New.
7401 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7402 (GOMP_OFFLOAD_unload_image): Likewise.
7403 * plugin/plugin-host.c: Include gomp-constants.h.
7404 (GOMP_OFFLOAD_version): New.
7405 (GOMP_OFFLOAD_load_image): Add version arg.
7406 (GOMP_OFFLOAD_unload_image): Likewise.
7407
1358a747
TV
74082015-08-24 Tom de Vries <tom@codesourcery.com>
7409
7410 PR tree-optimization/65468
7411 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7412
6be5c241
TV
74132015-08-24 Tom de Vries <tom@codesourcery.com>
7414
7415 PR tree-optimization/65468
7416 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7417
bfe7ac89
JV
74182015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7419
7420 PR libgomp/66761
7421 PR libgomp/67303
7422 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7423 (gomp_iter_guided_next): Idem.
7424 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7425 (gomp_iter_ull_guided_next): Idem.
7426 * config/linux/wait.h (do_spin): Idem.
7427
b97e78b7
TS
74282015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7429
7430 * libgomp-plugin.h (enum offload_target_type): Remove
7431 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7432 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7433 * openacc.h (enum acc_device_t): Likewise.
7434 * openacc_lib.h: Likewise.
7435 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7436 (acc_on_device): Just use __builtin_acc_on_device.
7437 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7438 of acc_on_device builtin.
7439 * plugin/plugin-host.h: Remove file.
7440 * plugin/plugin-host.c: Likewise, but salvage some content into...
7441 * oacc-host.c: ... this file.
7442 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7443 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7444 * Makefile.in: Regenerate.
7445 * configure: Likewise.
7446 * testsuite/lib/libgomp.exp
7447 (check_effective_target_openacc_host_nonshm_selected): Remove.
7448 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7449 ACC_DEVICE_TYPE=host_nonshm.
7450 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7451 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7452 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7453 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7454 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7455 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7456
44a7d18d
TS
74572015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7458 Jakub Jelinek <jakub@redhat.com>
7459
7460 * config/nvptx/affinity.c: New file.
7461 * config/nvptx/alloc.c: Likewise.
7462 * config/nvptx/bar.c: Likewise.
7463 * config/nvptx/barrier.c: Likewise.
7464 * config/nvptx/critical.c: Likewise.
7465 * config/nvptx/env.c: Likewise.
7466 * config/nvptx/error.c: Likewise.
7467 * config/nvptx/fortran.c: Likewise.
7468 * config/nvptx/iter.c: Likewise.
7469 * config/nvptx/iter_ull.c: Likewise.
7470 * config/nvptx/libgomp-plugin.c: Likewise.
7471 * config/nvptx/lock.c: Likewise.
7472 * config/nvptx/loop.c: Likewise.
7473 * config/nvptx/loop_ull.c: Likewise.
7474 * config/nvptx/mutex.c: Likewise.
7475 * config/nvptx/oacc-async.c: Likewise.
7476 * config/nvptx/oacc-cuda.c: Likewise.
7477 * config/nvptx/oacc-host.c: Likewise.
7478 * config/nvptx/oacc-init.c: Likewise.
7479 * config/nvptx/oacc-mem.c: Likewise.
7480 * config/nvptx/oacc-parallel.c: Likewise.
7481 * config/nvptx/oacc-plugin.c: Likewise.
7482 * config/nvptx/omp-lock.h: Likewise.
7483 * config/nvptx/ordered.c: Likewise.
7484 * config/nvptx/parallel.c: Likewise.
7485 * config/nvptx/proc.c: Likewise.
7486 * config/nvptx/ptrlock.c: Likewise.
7487 * config/nvptx/sections.c: Likewise.
7488 * config/nvptx/sem.c: Likewise.
7489 * config/nvptx/single.c: Likewise.
7490 * config/nvptx/splay-tree.c: Likewise.
7491 * config/nvptx/target.c: Likewise.
7492 * config/nvptx/task.c: Likewise.
7493 * config/nvptx/team.c: Likewise.
7494 * config/nvptx/time.c: Likewise.
7495 * config/nvptx/work.c: Likewise.
7496 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7497 * configure: Regenerate.
7498 * configure.tgt (config_path): Set to "nvptx" for target
7499 nvptx*-*-*.
7500
96a2d174
TS
75012015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7502
7503 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7504
9ebddeb0
NS
75052015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7506
7507 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7508 (cuda_errlist): Constify.
7509 (errmsg): Move into ...
7510 (cuda_error): ... here. Make smaller.
7511 (_XSTR, _STR): Delete.
7512 (cuda_synames): Delete.
7513 (verify_device_library): Delete.
7514 (nvptx_init): Don't call it.
7515
12efb1d7
TV
75162015-07-28 Tom de Vries <tom@codesourcery.com>
7517
7518 * testsuite/libgomp.c/uns-outer-4.c: New test.
7519
710ee218
CP
75202015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7521
7522 * testsuite/libgomp.c/pr66714.c: New test.
7523
27c4ac7d
MB
75242015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7525
7526 PR libgomp/66950
7527 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7528 (fib_ref): New function.
7529 (fib): Correct corner cases in the recursion.
7530 (main): Replace the non-simd loop with fib_ref call.
7531 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7532 subroutine.
7533 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7534 for the last array element value. Replace the non-simd loop with
7535 fib_ref call. Remove redundant b_ref array. Remove the comparison
7536 of the last array element with according Fibonacci sequence element.
7537 (fib): Correct corner cases in the recursion.
7538
22be2349
NS
75392015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7540
7541 * target.c (gomp_offload_image_to_device): Rename to ...
7542 (gomp_load_image_to_device): ... here.
7543 (GOMP_offload_register): Adjust call.
7544 (gomp_init_device): Likewise.
7545 (gomp_unload_image_from_device): New. Broken out of ...
7546 (GOMP_offload_unregister): ... here. Call it.
7547 (gomp_unload_device): New.
7548 * libgomp.h (gomp_unload_device): Declare.
7549 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7550 mem maps.
7551
f3e9a059
NS
75522015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7553
a091118d
NS
7554 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7555 wait=-specific if.
7556 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7557 !=0 condition.
7558 (goacc_waits): Move !num_waits handling to ...
7559 (GOACC_wait): ... here, the only caller that might have zero waits.
7560
f3e9a059
NS
7561 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7562 (struct ptx_image_data): Move earlier, add fns field.
7563 (struct ptx_device): Add images and image_lock fields.
7564 (ptx_images, ptx_image_lock): Delete.
7565 (nvptx_open_device): Initialize images and image_lock fields.
7566 (nvptx_close_device): Destroy image_lock.
7567 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7568 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7569 fields.
7570
afb2d80b
NS
75712015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7572
896c28a7
NS
7573 * target.c (GOMP_offload_register): Use int for device type arg.
7574 (GOMP_offload_unregister): Likewise.
7575
ebe4a560
NS
7576 * target.c (struct_offload_image_descr): Constify host_table.
7577 (gomp_offload_image_to_device): Likewise.
7578 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7579
afb2d80b
NS
7580 * libgomp.h (gomp_device_descr): Constify target data arguments.
7581 * target.c (struct offload_image_descr): Constify target_data.
7582 (gomp_offload_image_to_device): Likewise.
7583 (GOMP_offload_register): Likewise.
93d90219 7584 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
7585 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7586 GOMP_OFFLOAD_unload_image): Constify target data.
7587 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7588 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7589
a4cb876d
NS
75902015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7591
7592 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7593 Workaround driver library const error.
7594 (struct nvptx_tdata, nvptx_tdata_t): New.
7595 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7596 type.
7597
28ef6a27
MB
75982015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7599
7600 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7601 of EPS parameter from integer to real.
7602 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7603 type of EPS parameter from integer to real.
7604
6dba0113
SH
76052015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7606
7607 * team.c (get_last_team): New.
7608 (gomp_new_team): Recycle last non-nested team if possible.
7609 (gomp_team_end): Move team work share list free lock destruction
7610 to ...
7611 (free_team): ... here.
7612
4c1cb4da
MB
76132015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7614
7615 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7616 and ref from int to double. Replaced their comparison with
7617 an inequality of their difference and EPS.
7618 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7619 comparison of pri and a reference number with an inequality of their
7620 difference and EPS.
7621 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7622 the comparison of sum and sum_ref with an inequality of their
7623 difference and EPS.
7624 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7625 the comparison of pri and a reference number with an inequality of
7626 their difference and EPS.
7627
343587dc
MB
76282015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7629
7630 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7631 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7632 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7633 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7634 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7635 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7636 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7637 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7638 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7639 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7640 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7641 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7642 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7643 variables.
7644 (vec_mult): Likewise. Add #pragma omp taskwait.
7645 (main): Adjust caller.
7646 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7647 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7648 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7649 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7650 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7651 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7652 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7653 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7654 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7655 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7656 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7657 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7658 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7659 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7660 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7661 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7662 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7663 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7664 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7665 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7666 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7667 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7668 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7669 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7670 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7671 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7672 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7673 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7674 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7675 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7676 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7677 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7678 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7679 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7680 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7681 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7682 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7683 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7684 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7685 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7686 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7687 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7688 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7689 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7690 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7691 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7692 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7693 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7694 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7695 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7696 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7697 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7698 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7699 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7700 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7701 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7702 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7703 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7704 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7705 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7706 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7707 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7708 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7709 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7710 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7711 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7712 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7713 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7714 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7715 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7716 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7717 (vec_mult): Add !$omp taskwait.
7718 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7719 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7720 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7721 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7722 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7723 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7724 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7725 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7726 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7727 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7728 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7729 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7730 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7731 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7732 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7733 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7734 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7735 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7736 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7737 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7738 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7739 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7740 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7741 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7742 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7743 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7744 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7745 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7746 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7747 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7748 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7749 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7750 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7751 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7752 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7753 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7754 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7755 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7756 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7757 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7758 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7759 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7760 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7761 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7762 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7763 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7764 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7765 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7766 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7767 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7768 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7769 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7770 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7771 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7772 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7773 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7774 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7775 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7776 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7777 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7778 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7779 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7780 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7781 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7782 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7783 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7784 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7785
9f620bf1
TV
77862015-07-10 Tom de Vries <tom@codesourcery.com>
7787
7788 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7789 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7790
a92defda
TS
77912015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7792
7793 PR libgomp/65099
7794 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7795 in a 64-bit configuration.
7796 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7797 offloading testing if no such device is available.
7798 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7799 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7800
cadb53a5
TV
78012015-07-08 Tom de Vries <tom@codesourcery.com>
7802
7803 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7804 second call to f.
7805 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7806
712cb0bb
TV
78072015-07-07 Tom de Vries <tom@codesourcery.com>
7808
7809 PR tree-optimization/66642
7810 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7811 iteration count case.
7812 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7813 function, factor out of ...
7814 (main): ... here. Test low iteration count case.
7815
e5210c77
SH
78162015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7817
7818 * libgomp.h (gomp_thread_pool): Comment last_team field.
7819
f70360e7
UB
78202015-07-02 Uros Bizjak <ubizjak@gmail.com>
7821
7822 * testsuite/libgomp.c++/pr66702-1.C: Require
7823 vect_simd_clones effective target.
7824 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7825
b451c271
TV
78262015-06-30 Tom de Vries <tom@codesourcery.com>
7827
7828 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7829 already set. Use DEFAULT_CFLAGS in dg-runtest.
7830 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7831 "-O2".
7832
f8e89d9f
TV
78332015-06-30 Tom de Vries <tom@codesourcery.com>
7834
7835 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7836 already set. Use DEFAULT_CFLAGS in dg-runtest.
7837 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7838 * testsuite/libgomp.c++/pr64824.C: Same.
7839 * testsuite/libgomp.c++/pr64868.C: Same.
7840 * testsuite/libgomp.c++/pr66199-1.C: Same.
7841 * testsuite/libgomp.c++/pr66199-2.C: Same.
7842 * testsuite/libgomp.c++/target-2.C: Same.
7843 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7844 -std=<standard> option.
7845 * testsuite/libgomp.c++/udr-11.C: Same.
7846 * testsuite/libgomp.c++/udr-12.C: Same.
7847 * testsuite/libgomp.c++/udr-13.C: Same.
7848 * testsuite/libgomp.c++/udr-14.C: Same.
7849 * testsuite/libgomp.c++/udr-15.C: Same.
7850 * testsuite/libgomp.c++/udr-16.C: Same.
7851 * testsuite/libgomp.c++/udr-17.C: Same.
7852 * testsuite/libgomp.c++/udr-18.C: Same.
7853 * testsuite/libgomp.c++/udr-19.C: Same.
7854 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7855 * testsuite/libgomp.c++/simd-1.C: Same.
7856 * testsuite/libgomp.c++/simd-2.C: Same.
7857 * testsuite/libgomp.c++/simd-3.C: Same.
7858 * testsuite/libgomp.c++/simd-4.C: Same.
7859 * testsuite/libgomp.c++/simd-5.C: Same.
7860 * testsuite/libgomp.c++/simd-6.C: Same.
7861 * testsuite/libgomp.c++/simd-7.C: Same.
7862 * testsuite/libgomp.c++/simd-8.C: Same.
7863 * testsuite/libgomp.c++/simd-9.C: Same.
7864 * testsuite/libgomp.c++/simd10.C: Same.
7865 * testsuite/libgomp.c++/simd11.C: Same.
7866 * testsuite/libgomp.c++/simd12.C: Same.
7867 * testsuite/libgomp.c++/simd13.C: Same.
7868
3446fe48
JJ
78692015-06-30 Jakub Jelinek <jakub@redhat.com>
7870
7871 PR middle-end/66702
7872 * testsuite/libgomp.c++/pr66702-1.C: New test.
7873 * testsuite/libgomp.c++/pr66702-2.C: New test.
7874
8a36714a
TV
78752015-06-30 Tom de Vries <tom@codesourcery.com>
7876
7877 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7878 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7879 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7880 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7881
4f75d608
TV
78822015-06-30 Tom de Vries <tom@codesourcery.com>
7883
7884 PR tree-optimization/66652
7885 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7886 using restrict pointers.
7887 (main): Add arguments to calls to f.
7888 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7889
6d9d1eeb
AT
78902015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7891
7892 * configure.ac: Fix check for header <sys/sysctl.h>.
7893 * configure: Regenerate.
7894 * config.h.in: Likewise.
7895
1222f22b
TV
78962015-06-23 Tom de Vries <tom@codesourcery.com>
7897
7898 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7899 abort.
7900 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7901
d7efbbf6
TS
79022015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7903
bfcd036f
TS
7904 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7905 acc_device_nvidia.
7906
d7efbbf6
TS
7907 PR libgomp/66518
7908 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7909 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7910
d7bfc710
TV
79112015-06-15 Tom de Vries <tom@codesourcery.com>
7912
7913 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7914 dg-additional-options for any remaining options.
7915 * testsuite/libgomp.c/atomic-2.c: Same.
7916 * testsuite/libgomp.c/atomic-4.c: Same.
7917 * testsuite/libgomp.c/atomic-5.c: Same.
7918 * testsuite/libgomp.c/atomic-6.c: Same.
7919 * testsuite/libgomp.c/autopar-1.c: Same.
7920 * testsuite/libgomp.c/copyin-1.c: Same.
7921 * testsuite/libgomp.c/copyin-2.c: Same.
7922 * testsuite/libgomp.c/copyin-3.c: Same.
7923 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7924 * testsuite/libgomp.c/nestedfn-5.c: Same.
7925 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7926 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7927 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7928 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7929 * testsuite/libgomp.c/pr32362-1.c: Same.
7930 * testsuite/libgomp.c/pr32362-2.c: Same.
7931 * testsuite/libgomp.c/pr32362-3.c: Same.
7932 * testsuite/libgomp.c/pr39591-1.c: Same.
7933 * testsuite/libgomp.c/pr39591-2.c: Same.
7934 * testsuite/libgomp.c/pr39591-3.c: Same.
7935 * testsuite/libgomp.c/pr58392.c: Same.
7936 * testsuite/libgomp.c/pr58756.c: Same.
7937 * testsuite/libgomp.c/simd-1.c: Same.
7938 * testsuite/libgomp.c/simd-10.c: Same.
7939 * testsuite/libgomp.c/simd-11.c: Same.
7940 * testsuite/libgomp.c/simd-12.c: Same.
7941 * testsuite/libgomp.c/simd-13.c: Same.
7942 * testsuite/libgomp.c/simd-14.c: Same.
7943 * testsuite/libgomp.c/simd-15.c: Same.
7944 * testsuite/libgomp.c/simd-2.c: Same.
7945 * testsuite/libgomp.c/simd-3.c: Same.
7946 * testsuite/libgomp.c/simd-4.c: Same.
7947 * testsuite/libgomp.c/simd-5.c: Same.
7948 * testsuite/libgomp.c/simd-6.c: Same.
7949 * testsuite/libgomp.c/simd-7.c: Same.
7950 * testsuite/libgomp.c/simd-8.c: Same.
7951 * testsuite/libgomp.c/simd-9.c: Same.
7952
fb5b5352
TV
79532015-06-15 Tom de Vries <tom@codesourcery.com>
7954
7955 * testsuite/libgomp.c/pr35625.c: Fix typo.
7956
ca431bef
TV
79572015-06-15 Tom de Vries <tom@codesourcery.com>
7958
7959 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7960 in dg-options.
7961 * testsuite/libgomp.c/atomic-3.c: Same.
7962 * testsuite/libgomp.c/debug-1.c: Same.
7963 * testsuite/libgomp.c/nqueens-1.c: Same.
7964 * testsuite/libgomp.c/pr26171.c: Same.
7965 * testsuite/libgomp.c/pr48591.c: Same.
7966 * testsuite/libgomp.c/pr64824.c: Same.
7967 * testsuite/libgomp.c/pr64868.c: Same.
7968 * testsuite/libgomp.c/pr66133.c: Same.
7969 * testsuite/libgomp.c/pr66199-1.c: Same.
7970 * testsuite/libgomp.c/pr66199-2.c: Same.
7971 * testsuite/libgomp.c/target-8.c: Same.
7972
0d8a9e20
TV
79732015-06-15 Tom de Vries <tom@codesourcery.com>
7974
7975 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7976 -std={gnu99,c99}.
7977 * testsuite/libgomp.c/for-1.c: Same.
7978 * testsuite/libgomp.c/for-2.c: Same.
7979 * testsuite/libgomp.c/for-3.c: Same.
7980 * testsuite/libgomp.c/pr35625.c: Same.
7981 * testsuite/libgomp.c/pr39154.c: Same.
7982 * testsuite/libgomp.c/simd-16.c: Same.
7983 * testsuite/libgomp.c/simd-17.c: Same.
7984
a6860be9
TV
79852015-06-13 Tom de Vries <tom@codesourcery.com>
7986
7987 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7988
ab3306d2
TV
79892015-06-13 Tom de Vries <tom@codesourcery.com>
7990
7991 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7992 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7993 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7994 (N): Define.
7995 (main): Use N instead of hardcoded constants.
7996
7c82d827
TV
79972015-06-05 Tom de Vries <tom@codesourcery.com>
7998
7999 merge from gomp4 branch:
8000 2015-05-28 Tom de Vries <tom@codesourcery.com>
8001
8002 PR tree-optimization/65443
8003 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8004 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8005 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8006
c469078d
BRF
80072015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8008
8009 * testsuite/libgomp.graphite/bounds.c: Adjust for
8010 cleanup-tree-dump removal.
8011 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8012 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8013 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8014 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8015 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8016 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8017 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8018 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8019 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8020 * testsuite/libgomp.graphite/pr41118.c: Likewise.
8021
bb3caa35
UB
80222015-05-28 Uros Bizjak <ubizjak@gmail.com>
8023
8024 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8025 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8026 (futex_wake) [!__x86_64__]: Ditto.
8027
9fb5fd44
JB
80282015-05-28 Julian Brown <julian@codesourcery.com>
8029
8030 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8031 function comment. Only call gomp_fatal if new argument is true.
8032 (acc_dev_num_out_of_range): New function.
8033 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8034 acc_dev_num_out_of_range as appropriate.
8035 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
8036 (acc_get_device_num, acc_set_device_num): Update calls to
8037 resolve_device.
9fb5fd44
JB
8038 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8039 output.
8040
32eaed93
JB
80412015-05-28 Julian Brown <julian@codesourcery.com>
8042
8043 PR libgomp/65742
32eaed93
JB
8044 * oacc-init.c (plugin/plugin-host.h): Include.
8045 (acc_on_device): Check whether we're in an offloaded region for
8046 host_nonshm
8047 plugin. Don't use __builtin_acc_on_device.
8048 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8049 nonshm_exec flag in thread-local data.
8050 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8051 data for host_nonshm plugin.
8052 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8053 for host_nonshm plugin.
8054 * plugin/plugin-host.h: New.
8055
ea023bcf
UB
80562015-05-27 Uros Bizjak <ubizjak@gmail.com>
8057
8ed501f1
UB
8058 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8059
80602015-05-27 Uros Bizjak <ubizjak@gmail.com>
8061
8062 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8063 Declare as int.
8064 (FUTEX_PRIVATE_FLAG): Remove L suffix.
8065 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8066 Declare as int.
8067
80682015-05-27 Uros Bizjak <ubizjak@gmail.com>
8069
bb3caa35 8070 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 8071
1716efeb
CLT
80722015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
8073
8074 * target.c (gomp_map_pointer): New function abstracting out
8075 GOMP_MAP_POINTER handling.
8076 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8077 gomp_map_pointer().
8078
41b37d5e
JJ
80792015-05-19 Jakub Jelinek <jakub@redhat.com>
8080
8081 PR middle-end/66199
8082 * testsuite/libgomp.c/pr66199-1.c: New test.
8083 * testsuite/libgomp.c/pr66199-2.c: New test.
8084 * testsuite/libgomp.c++/pr66199-1.C: New test.
8085 * testsuite/libgomp.c++/pr66199-2.C: New test.
8086 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8087 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8088
c8319826
JB
80892015-05-19 Julian Brown <julian@codesourcery.com>
8090
8091 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8092 on cuInit failure.
8093
b37dddbc
JJ
80942015-05-13 Jakub Jelinek <jakub@redhat.com>
8095
8096 PR middle-end/66133
8097 * testsuite/libgomp.c/pr66133.c: New test.
8098
55fba601
MH
80992015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
8100
8101 * Makefile.in: Regenerated with automake-1.11.6.
8102 * aclocal.m4: Likewise.
8103 * config.h.in: Likewise.
8104 * configure: Likewise.
8105 * testsuite/Makefile.in: Likewise.
8106
1be0899d
JM
81072015-05-08 Jason Merrill <jason@redhat.com>
8108
8109 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8110 _Complex.
8111
8112 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8113
d2463960
JB
81142015-05-06 Julian Brown <julian@codesourcery.com>
8115
8116 * oacc-init.c (acc_device_lock): Add explanatory comment.
8117 (resolve_device): Add comment about locking requirement.
8118 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8119 gomp_init_device and gomp_fini_device calls.
8120 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8121 (acc_get_device_num, acc_set_device_num): Add locking around
8122 resolve_device and gomp_init_device calls.
8123
e38fdba4
JB
81242015-05-06 Julian Brown <julian@codesourcery.com>
8125
8126 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8127 goacc_thread_lock on error paths.
8128 * oacc-mem.c (lookup_host): Remove locking from function. Note
8129 locking requirement for caller in function comment.
8130 (lookup_dev): Likewise.
8131 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8132 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8133 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8134 Add locking.
8135
ae8ffbbb
TS
81362015-05-05 Thomas Schwinge <thomas@codesourcery.com>
8137
8138 PR testsuite/65205
8139 PR libgomp/65993
8140 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8141 don't expect "0x" prefix for "%p" format specifier, don't expect
8142 "(nil)" for NULL pointer.
8143 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8144 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8145 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8146 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8147 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8148 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8149 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8150 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8151 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8152 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8153 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8154 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8155 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8156 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8157 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8158 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8159 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8160 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8161 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8162 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8163 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8164 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8165 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8166 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8167 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8168 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8169 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8170 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8171 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8172 accurately specify what we're looking for.
8173 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8174 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8175 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8176 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8177 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8178
1309f1d2
JN
81792015-04-30 James Norris <jnorris@codesourcery.com>
8180
8181 PR testsuite/65205
8182 * testsuite/lib/libgomp.exp
8183 (check_effective_target_openacc_host_selected)
8184 (check_effective_target_openacc_host_nonshm_selected): New
8185 procedures.
8186 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8187 dg-shouldfail.
8188 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8189 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8190 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8191 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8192 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8193 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8194 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8195 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8196 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8197 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8198 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8199 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8200 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8201 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8202 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8203 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8204 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8205 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8206 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8207 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8208 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8209 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8210 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8211 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8212 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8213 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8214 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8215 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8216 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8217 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8218 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8219 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8220 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8221 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8222 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8223 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8224 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8225 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8226 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8227 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8229 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8231
d93bdab5
JB
82322015-04-08 Julian Brown <julian@codesourcery.com>
8233
8234 * libgomp.h (target_mem_desc: Remove mem_map field.
8235 (acc_dispatch_t): Remove open_device_func, close_device_func,
8236 get_device_num_func, set_device_num_func, target_data members.
8237 Change create_thread_data_func argument to device number instead of
8238 generic pointer.
8239 * oacc-async.c (assert.h): Include.
8240 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8241 (acc_wait_all, acc_wait_all_async): Use current host thread's
8242 active device, not base_dev.
8243 * oacc-cuda.c (acc_get_current_cuda_device)
8244 (acc_get_current_cuda_context, acc_get_cuda_stream)
8245 (acc_set_cuda_stream): Likewise.
8246 * oacc-host.c (host_dispatch): Don't set open_device_func,
8247 close_device_func, get_device_num_func or set_device_num_func.
8248 * oacc-init.c (base_dev, init_key): Remove.
8249 (cached_base_dev): New.
8250 (name_of_acc_device_t): New.
8251 (acc_init_1): Initialise default-numbered device, not zeroth.
8252 (acc_shutdown_1): Close all devices of a given type.
8253 (goacc_destroy_thread): Don't use base_dev.
8254 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8255 (goacc_attach_host_thread_to_device): New.
8256 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8257 (acc_get_num_devices): Don't use base_dev.
8258 (acc_set_device_type): Reimplement.
8259 (acc_get_device_type): Don't use base_dev.
8260 (acc_get_device_num): Tweak logic.
8261 (acc_set_device_num): Likewise.
8262 (acc_on_device): Use acc_get_device_type.
8263 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8264 (goacc_lazy_initialize): Reimplement with acc_init and
8265 goacc_attach_host_thread_to_device.
8266 * oacc-int.h (goacc_thread): Add base_dev field.
8267 (base_dev): Remove extern declaration.
8268 (goacc_attach_host_thread_to_device): Add prototype.
8269 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8270 base_dev.
8271 (acc_free): Likewise.
8272 (acc_memcpy_to_device): Likewise.
8273 (acc_memcpy_from_device): Likewise.
8274 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8275 goacc_lazy_initialize (throughout).
8276 (GOACC_parallel): Use tgt_offset to locate target functions.
8277 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8278 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8279 (gomp_load_plugin_for_device): Remove open_device, close_device,
8280 get_device_num, set_device_num openacc hook initialisation. Don't set
8281 openacc.target_data.
8282 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8283 (GOMP_OFFLOAD_openacc_close_device)
8284 (GOMP_OFFLOAD_openacc_get_device_num)
8285 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8286 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8287 to int.
8288 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8289 (instantiated_devices, ptx_dev_lock): New.
8290 (struct ptx_image_data): New.
8291 (ptx_devices, ptx_images, ptx_image_lock): New.
8292 (fini_streams_for_device): Reorder cuStreamDestroy call.
8293 (nvptx_get_num_devices): Remove forward declaration.
8294 (nvptx_init): Change return type to bool.
8295 (nvptx_fini): Remove.
8296 (nvptx_attach_host_thread_to_device): New.
8297 (nvptx_open_device): Return struct ptx_device* instead of void*.
8298 (nvptx_close_device): Change argument type to struct ptx_device*,
8299 return type to void.
8300 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8301 (kernel_target_data, kernel_host_table): Remove static globals.
8302 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8303 (GOMP_OFFLOAD_init_device): Reimplement.
8304 (GOMP_OFFLOAD_fini_device): Likewise.
8305 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8306 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8307 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8308 (GOMP_OFFLOAD_openacc_open_device)
8309 (GOMP_OFFLOAD_openacc_close_device)
8310 (GOMP_OFFLOAD_openacc_set_device_num)
8311 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8312 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8313 (device number).
8314
8315 testsuite/
8316 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8317
a51df54e
IV
83182015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8319
8320 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8321 * libgomp.h (struct gomp_memory_mapping): Remove.
8322 (struct target_mem_desc): Change type of mem_map from
8323 gomp_memory_mapping * to splay_tree_s *.
8324 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8325 Add load_image_func, unload_image_func.
8326 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8327 Remove offload_regions_registered.
8328 (gomp_init_tables): Remove.
8329 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8330 to splay_tree_s *.
8331 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8332 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8333 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8334 offload_regions_registered.
8335 Initialize load_image_func, unload_image_func, mem_map.root.
8336 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8337 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8338 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8339 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8340 gomp_memory_mapping *. Use dev's lock and splay_tree.
8341 (lookup_dev): Use dev's lock.
8342 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8343 (acc_is_present): Likewise.
8344 (acc_map_data): Likewise.
8345 (acc_unmap_data): Likewise. Use dev's lock.
8346 (present_create_copy): Likewise.
8347 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8348 (update_dev_host): Likewise.
8349 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8350 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8351 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8352 (GOMP_OFFLOAD_get_table): Remove
8353 (GOMP_OFFLOAD_load_image): New function.
8354 (GOMP_OFFLOAD_unload_image): New function.
8355 * target.c (register_lock): New mutex for offload image registration.
8356 (num_devices): Do not guard with PLUGIN_SUPPORT.
8357 (gomp_realloc_unlock): New static function.
8358 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8359 before gomp_fatal.
8360 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8361 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8362 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8363 mem_map's.
8364 (gomp_unmap_vars): Likewise.
8365 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8366 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8367 (gomp_offload_image_to_device): New static function.
8368 (GOMP_offload_register): Add mutex lock.
8369 Call gomp_offload_image_to_device for all initialized devices.
8370 Replace gomp_realloc with gomp_realloc_unlock.
8371 (GOMP_offload_unregister): New function.
8372 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8373 get_table_func from the plugin with calls to init_device_func and
8374 gomp_offload_image_to_device.
8375 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8376 to splay_tree_s *.
8377 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8378 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8379 (GOMP_target_data): Do not call gomp_init_tables.
8380 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8381 (gomp_load_plugin_for_device): Replace register_image and get_table
8382 with load_image and unload_image in DLSYM ().
8383 (gomp_register_images_for_device): Remove function.
8384 (gomp_target_init): Do not initialize current_device.mem_map.*,
8385 current_device.offload_regions_registered.
8386 Remove call to gomp_register_images_for_device.
8387 Do not free offload_images and num_offload_images.
8388
6c384511
JJ
83892015-03-30 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR fortran/65597
8392 * testsuite/libgomp.fortran/pr65597.f90: New test.
8393
3e8165a5
TV
83942015-03-27 Tom de Vries <tom@codesourcery.com>
8395
8396 PR testsuite/65594
8397 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8398 (init, check): New function.
8399 (foo): Change return type to void.
8400 (main): Call init and check.
8401
4d688c9a
TV
84022015-03-27 Tom de Vries <tom@codesourcery.com>
8403
8404 PR testsuite/65594
8405 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8406 (foo): Use M for non-inner loops to scale down test-case.
8407
01c0b3b0
KT
84082015-03-25 Kai Tietz <ktietz@redhat.com>
8409
8410 PR libgomp/64972
8411 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8412 (GOACC_data_start): Likewise.
8413 * target.c (gomp_map_vars): Likewise.
8414
844d9a76
JDA
84152015-03-21 John David Anglin <danglin@gcc.gnu.org>
8416
8417 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8418 hppa*-*-hpux*.
8419
9b65e171
JJ
84202015-03-19 Jakub Jelinek <jakub@redhat.com>
8421
8422 * testsuite/libgomp.c/target-10.c: New test.
8423 * testsuite/libgomp.c++/target-4.C: New test.
8424
db397e2e
IV
84252015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8426
8427 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8428 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8429
cd93945d
SH
84302015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8431
8432 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8433 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8434 (pthread.h): Check for this header file.
8435 * configure: Regenerate.
8436
05deba9f
TV
84372015-02-25 Tom de Vries <tom@codesourcery.com>
8438
8439 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8440 (check_reduction_op, check_reduction_macro, max, min):
8441 Declare.
8442 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8443 function.
8444 (main): Use new functions.
8445
196904d8
IT
84462015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8447
8448 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8449 char * for variables holding dlerror return values.
8450 (DLSYM_OPT): Ditto.
8451
a2818955
TS
84522015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8453
8454 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8455
26f93312
TS
84562015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8457 Cesar Philippidis <cesar@codesourcery.com>
8458
8459 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8460 GOACC_ctaid, and GOACC_nctaid routines.
8461
fa01ffcc
JJ
84622015-02-11 Jakub Jelinek <jakub@redhat.com>
8463
8464 PR c/64824
8465 * testsuite/libgomp.c/atomic-18.c: New test.
8466 * testsuite/libgomp.c++/atomic-16.C: New test.
8467
4886ec8e
JJ
84682015-02-04 Jakub Jelinek <jakub@redhat.com>
8469
8470 PR c/64824
8471 PR c/64868
8472 * testsuite/libgomp.c/pr64824.c: New test.
8473 * testsuite/libgomp.c/pr64868.c: New test.
8474 * testsuite/libgomp.c++/pr64824.C: New test.
8475 * testsuite/libgomp.c++/pr64868.C: New test.
8476
02d3e45e
DE
84772015-02-01 David Edelsohn <dje.gcc@gmail.com>
8478
8479 PR libgomp/64635
8480 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8481 Link with -lpthread.
8482 * config/aix/plugin-suffix.h: Delete.
8483
b5f7a6ca
JH
84842015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8485
8486 PR libgomp/64635
8487 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8488 (*-*-darwin*): Use config_path "bsd darwin posix".
8489 (*-*-hpux*): Use config_path "hpux posix".
8490 * target.c: Add include of plugin-suffix.h and use
8491 SONAME_SUFFIX macro.
8492 * config/aix/plugin-suffix.h: New file.
8493 * config/darwin/plugin-suffix.h: New file.
8494 * config/hpux/plugin-suffix.h: New file.
8495 * config/posix/plugin-suffix.h: New file.
8496
b8910447
JJ
84972015-01-23 Jakub Jelinek <jakub@redhat.com>
8498
8499 PR middle-end/64734
8500 * libgomp.c/pr64734.c: New test.
8501
a0c88d06
TV
85022015-01-23 Tom de Vries <tom@codesourcery.com>
8503
8504 PR libgomp/64672
8505 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8506
1506ae0e
TV
85072015-01-23 Tom de Vries <tom@codesourcery.com>
8508
8509 PR libgomp/64707
8510 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8511 dg-options.
8512
128b26dc
TS
85132015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8514
bed62c21 8515 PR libgomp/64625
128b26dc
TS
8516 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8517 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8518 formal parameter. Update all users.
8519 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8520 Document unused formal parameter.
8521
6e36114c
TS
85222015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8523
8524 * oacc-parallel.c: Don't include <alloca.h>.
8525 (GOACC_parallel): Use gomp_alloca instead of alloca.
8526
973e9808
GP
85272015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8528
8529 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8530
41dbbb37
TS
85312015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8532 James Norris <jnorris@codesourcery.com>
8533 Tom de Vries <tom@codesourcery.com>
8534 Julian Brown <julian@codesourcery.com>
8535 Cesar Philippidis <cesar@codesourcery.com>
8536 Nathan Sidwell <nathan@codesourcery.com>
8537 Tobias Burnus <burnus@net-b.de>
8538
8539 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8540 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8541 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8542 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8543 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8544 Include $(top_srcdir)/plugin/Makefrag.am.
8545 (nodist_libsubinclude_HEADERS): Add openacc.h.
8546 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8547 openacc.f90, openacc.mod, openacc_kinds.mod.
8548 (omp_lib.mod): Generalize into...
8549 (%.mod): ... this new rule.
8550 (openacc_kinds.mod, openacc.mod): New rules.
8551 * plugin/configfrag.ac: New file.
8552 * configure.ac: Move plugin/offloading support into it. Include
8553 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8554 * plugin/Makefrag.am: New file.
8555 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8556 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8557 export.
8558 (libgomp-test-support.exp): New rule.
8559 (all-local): Depend on it.
8560 * Makefile.in: Regenerate.
8561 * testsuite/Makefile.in: Regenerate.
8562 * config.h.in: Likewise.
8563 * configure: Likewise.
8564 * configure.tgt: Harden shell syntax.
8565 * env.c: Include "oacc-int.h".
8566 (parse_acc_device_type): New function.
8567 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8568 variables.
8569 (initialize_env): Initialize those. Call
8570 goacc_runtime_initialize.
8571 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8572 (gomp_fatal): Call gomp_vfatal.
8573 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8574 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8575 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8576 (splay_tree_node, splay_tree, splay_tree_key)
8577 (struct target_mem_desc, struct splay_tree_key_s)
8578 (struct gomp_memory_mapping, struct acc_dispatch_t)
8579 (struct gomp_device_descr, gomp_acc_insert_pointer)
8580 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8581 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8582 (gomp_free_memmap, gomp_fini_device): New declarations.
8583 (gomp_vdebug, gomp_debug): New macros.
8584 Include "splay-tree.h".
8585 * libgomp.map (OACC_2.0): New symbol version. Use for
8586 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8587 acc_set_device_type_h_, acc_get_device_type,
8588 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8589 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8590 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8591 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8592 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8593 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8594 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8595 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8596 acc_copyin_array_h_, acc_present_or_copyin,
8597 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8598 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8599 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8600 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8601 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8602 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8603 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8604 acc_update_device, acc_update_device_32_h_,
8605 acc_update_device_64_h_, acc_update_device_array_h_,
8606 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8607 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8608 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8609 acc_is_present_64_h_, acc_is_present_array_h_,
8610 acc_memcpy_to_device, acc_memcpy_from_device,
8611 acc_get_current_cuda_device, acc_get_current_cuda_context,
8612 acc_get_cuda_stream, acc_set_cuda_stream.
8613 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8614 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8615 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8616 GOACC_get_num_threads.
8617 (GOMP_PLUGIN_1.0): New symbol version. Use for
8618 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8619 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8620 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8621 GOMP_PLUGIN_acc_thread.
8622 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8623 environment variable.
8624 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8625 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8626 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8627 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8628 (splay_tree_remove): New declarations.
8629 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8630 (splay_tree_remove, splay_tree_lookup): Move into...
8631 * splay-tree.c: ... this new file.
8632 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8633 (splay_tree_node, splay_tree, splay_tree_key)
8634 (struct target_mem_desc, struct splay_tree_key_s)
8635 (struct gomp_device_descr): Don't declare.
8636 (num_devices_openmp): New variable.
8637 (gomp_get_num_devices ): Use it.
8638 (gomp_init_targets_once): New function.
8639 (gomp_get_num_devices ): Use it.
8640 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8641 (gomp_fini_device, gomp_register_image_for_device): New functions.
8642 (gomp_map_vars): Add devaddrs parameter.
8643 (gomp_update): Add mm parameter.
8644 (gomp_init_device): Move most of it into...
8645 (gomp_init_tables): ... this new function.
8646 (gomp_register_images_for_device): Remove function.
8647 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8648 Make them hidden instead of static.
8649 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8650 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8651 (GOMP_target_end_data, GOMP_target_update)
8652 (gomp_load_plugin_for_device, gomp_target_init): Update for
8653 OpenACC changes.
8654 * oacc-async.c: New file.
8655 * oacc-cuda.c: Likewise.
8656 * oacc-host.c: Likewise.
8657 * oacc-init.c: Likewise.
8658 * oacc-int.h: Likewise.
8659 * oacc-mem.c: Likewise.
8660 * oacc-parallel.c: Likewise.
8661 * oacc-plugin.c: Likewise.
8662 * oacc-plugin.h: Likewise.
8663 * oacc-ptx.h: Likewise.
8664 * openacc.f90: Likewise.
8665 * openacc.h: Likewise.
8666 * openacc_lib.h: Likewise.
8667 * plugin/plugin-host.c: Likewise.
8668 * plugin/plugin-nvptx.c: Likewise.
8669 * libgomp-plugin.c: Likewise.
8670 * libgomp-plugin.h: Likewise.
8671 * libgomp_target.h: Remove file after merging content into the
8672 former file. Update all users.
8673 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8674 (offload_targets_s, offload_targets_s_openacc): New variables.
8675 (check_effective_target_openacc_nvidia_accel_present)
8676 (check_effective_target_openacc_nvidia_accel_selected): New
8677 procedures.
8678 (libgomp_init): Update for OpenACC changes.
8679 * testsuite/libgomp-test-support.exp.in: New file.
8680 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8681 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8682 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8683 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8684 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8685 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8686 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8687 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8688 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8689 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8690 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8691 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8692 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8693 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8694 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8695 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8696 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8697 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8698 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8699 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8700 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8701 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8702 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8703 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8704 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8705 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8706 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8707 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8708 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8709 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8710 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8711 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8712 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8713 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8714 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8715 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8716 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8717 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8718 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8719 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8720 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8721 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8722 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8723 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8724 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8725 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8726 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8727 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8728 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8729 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8730 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8731 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8732 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8733 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8734 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8735 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8736 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8737 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8738 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8739 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8740 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8741 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8742 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8743 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8744 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8745 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8746 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8747 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8748 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8749 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8750 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8751 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8752 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8753 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8754 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8755 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8756 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8757 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8758 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8759 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8760 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8761 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8762 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8763 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8764 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8765 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8766 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8767 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8768 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8769 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8770 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8771 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8772 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8773 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8774 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8775 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8776 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8777 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8778 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8779 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8780 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8781 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8782 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8783 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8784 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8785 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8786 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8787 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8788 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8789 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8790 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8791 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8792 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8793 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8794 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8795 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8796 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8797 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8798 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8799 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8800 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8801 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8802 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8803 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8804 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8805 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8806 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8807 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8808 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8809 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8810 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8811 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8812 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8813 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8814 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8815 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8816 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8817 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8818 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8819 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8820 Likewise.
8821 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8822 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8823 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8824 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8825 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8826 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8827 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8828 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8829 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8830 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8831 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8832 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8833 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8834 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8835 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8836 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8837 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8838 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8839 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8840 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8841 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8842 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8843 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8844 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8845 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8846 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8847 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8848 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8849 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8850 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8851 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8852 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8853 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8854 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8855 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8856 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8857 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8858 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8859 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8860 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8861 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8862 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8863 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8864 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8865 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8866 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8867 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8868 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8869 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8870 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8871 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8872 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8873 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8874 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8875 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8876 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8877 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8878 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8879 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8880 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8881
f1f3453e
TS
88822015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8883 Julian Brown <julian@codesourcery.com>
8884 David Malcolm <dmalcolm@redhat.com>
8885
8886 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8887 to "GNU Offloading and Multi Processing Runtime Library". Change
8888 all users.
8889 * configure: Regenerate.
8890 * libgomp.texi: Update.
8891
f9a0eca4
TS
88922015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8893
b335ef4e
TS
8894 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8895 "$tgt_dir/lib32".
8896 * configure: Regenerate.
8897
f9a0eca4
TS
8898 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8899 "intelmic" in $offload_targets.
8900
b67cd4e3
JJ
89012015-01-05 Jakub Jelinek <jakub@redhat.com>
8902
5624e564
JJ
8903 Update copyright years.
8904
b67cd4e3
JJ
8905 * libgomp.texi: Bump @copying's copyright year.
8906
3b41b583
KT
89072014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8908
8909 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 8910 Move load of target-supports.exp earlier.
3b41b583 8911
2354caec
IV
89122014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8913
8914 * testsuite/libgomp.c/target-9.c: New test.
8915
f50eecba
VR
89162014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8917
8918 * config.h.in: Regenerate.
8919 * configure: Regenerate.
8920 * configure.ac: Add GCC_CHECK_EMUTLS.
8921 * libgomp.h: Add check for USE_EMUTLS: this case
8922 is equal to HAVE_TLS.
8923 * team.c: Likewise.
8924
68bc9270
UB
89252014-12-03 Uros Bizjak <ubizjak@gmail.com>
8926
8927 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8928
476ff787
AT
89292014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8930 Ilya Verbin <ilya.verbin@intel.com>
8931
8932 * testsuite/libgomp.c/target-critical-1.c: New test.
8933
31a30e62
JJ
89342014-11-26 Jakub Jelinek <jakub@redhat.com>
8935
8936 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 8937 to dg-options unless expensive testing is on.
31a30e62
JJ
8938 (TESTITERS): Define to N if not defined.
8939 (main): Use TESTITERS instead of N.
8940 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8941 dg-additional-options depending on whether expensive testing is on.
8942 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8943 Decrease N to 100000 and CHUNKSZ to 10000.
8944
3f9e8f13
JJ
89452014-11-24 Jakub Jelinek <jakub@redhat.com>
8946
8947 PR fortran/63938
31a30e62
JJ
8948 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8949 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 8950
c8451a46
SE
89512014-11-21 Steve Ellcey <sellcey@imgtec.com>
8952
8953 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8954
a699d672
L
89552014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8956
8957 PR bootstrap/63784
8958 * configure: Regenerated.
8959
4a19f719
UB
89602014-11-19 Uros Bizjak <ubizjak@gmail.com>
8961
8962 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8963 vect_simd_clones effective target.
8964 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8965
b1bf6c52
JJ
89662014-11-14 Jakub Jelinek <jakub@redhat.com>
8967
8968 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8969 of 32 as block_size.
8970 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8971 instead of 32 as block_size.
8972
d64ae614
AT
89732014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8974 Ilya Verbin <ilya.verbin@intel.com>
8975
8976 * Makefile.in: Regenerate.
8977 * configure: Regenerate.
8978 * configure.ac: Set up offload_additional_options,
8979 offload_additional_lib_paths and offload_targets.
8980 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8981 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8982 * testsuite/Makefile.in: Regenerate.
8983 * testsuite/lib/libgomp.exp (libgomp_init): Append
8984 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8985 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8986 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8987
122d7303
AT
89882014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8989 Ilya Verbin <ilya.verbin@intel.com>
8990 Kirill Yukhin <kirill.yukhin@intel.com>
8991 Ilya Tocar <ilya.tocar@intel.com>
8992
8993 * testsuite/lib/libgomp.exp
8994 (check_effective_target_offload_device): New.
8995 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8996 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8997 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8998 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8999 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9000 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9001 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9002 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9003 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9004 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9005 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9006 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9007 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9008 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9009 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9010 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9011 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9012 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9013 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9014 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9015 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9016 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9017 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9018 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9019 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9020 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9021 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9022 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9023 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9024 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9025 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9026 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9027 * testsuite/libgomp.c/target-7.c: Fix test.
9028 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9029 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9030 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9031 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9032 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9033 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9034 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9035 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9036 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9037 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9038 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9039 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9040 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9041 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9042 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9043 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9044 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9045 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9046 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9047 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9048 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9049 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9050 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9051 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9052 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9053 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9054 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9055 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9056 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9057 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9058 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9059
1df3f842
JJ
90602014-11-13 Jakub Jelinek <jakub@redhat.com>
9061 Ilya Verbin <ilya.verbin@intel.com>
9062 Thomas Schwinge <thomas@codesourcery.com>
9063 Andrey Turetskiy <andrey.turetskiy@intel.com>
9064
9065 * libgomp.map (GOMP_4.0.1): New symbol version.
9066 Add GOMP_offload_register.
9067 * libgomp_target.h: New file.
9068 * splay-tree.h: New file.
9069 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9070 (gomp_target_init): New forward declaration.
9071 (gomp_is_initialized): New static variable.
9072 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9073 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9074 New structures.
9075 (offload_images, num_offload_images, devices, num_devices): New static
9076 variables.
9077 (splay_compare): New static function.
9078 (struct gomp_device_descr): New structure.
9079 (gomp_get_num_devices): Call gomp_target_init.
9080 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9081 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9082 (GOMP_offload_register): New function.
9083 (GOMP_target): Arrange for host callback to be performed in a separate
9084 initial thread and contention group, inheriting ICVs from
9085 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
9086 Add device initialization and lookup for target function in splay tree.
9087 (GOMP_target_data): Add device initialization and call gomp_map_vars.
9088 (GOMP_target_end_data): Call gomp_unmap_vars.
9089 (GOMP_target_update): Add device initialization and call gomp_update.
9090 (gomp_load_plugin_for_device, gomp_register_images_for_device)
9091 (gomp_target_init): New static functions.
9092
85c64bbe
BS
90932014-11-13 Bernd Schmidt <bernds@codesourcery.com>
9094 Thomas Schwinge <thomas@codesourcery.com>
9095 Ilya Verbin <ilya.verbin@intel.com>
9096 Andrey Turetskiy <andrey.turetskiy@intel.com>
9097
9098 * config.h.in: Regenerate.
9099 * configure: Regenerate.
9100 * configure.ac: Check for libdl, required for plugin support.
9101 (PLUGIN_SUPPORT): Define if plugins are supported.
9102 (enable_offload_targets): Support Intel MIC targets.
9103 (OFFLOAD_TARGETS): List of target names suitable for offloading.
9104
ebf6d33b
FXC
91052014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9106
9107 PR target/63610
9108 * configure: Regenerate.
9109
8c768629
RO
91102014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9111
9112 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9113
c1d62412
MP
91142014-10-06 Marek Polacek <polacek@redhat.com>
9115
9116 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9117 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9118 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9119 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9120
44a0c6cb
MP
91212014-10-06 Marek Polacek <polacek@redhat.com>
9122
9123 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9124 * testsuite/libgomp.c/nqueens-1.c: Likewise.
9125 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9126 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9127 * testsuite/libgomp.c/pr36802-2.c: Likewise.
9128 * testsuite/libgomp.c/pr36802-3.c: Likewise.
9129 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9130 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9131 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9132 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9133 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9134 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9135 * testsuite/libgomp.c/omp-single-1.c: Likewise.
9136 * testsuite/libgomp.c/omp-single-2.c: Likewise.
9137 * testsuite/libgomp.c/omp_matvec.c: Likewise.
9138 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9139 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9140 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
9141 declarations.
9142
5771c391
JJ
91432014-10-03 Jakub Jelinek <jakub@redhat.com>
9144
9145 PR libgomp/61200
9146 * testsuite/libgomp.c/pr61200.c: New test.
9147
bce16b88
JJ
91482014-09-18 Jakub Jelinek <jakub@redhat.com>
9149
9150 PR c++/63248
9151 * testsuite/libgomp.c++/pr63248.C: New test.
9152
3696163c
JJ
91532014-08-04 Jakub Jelinek <jakub@redhat.com>
9154
9155 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9156 is not zero, but taskgroup->children is NULL and there are
9157 any task->children, schedule those instead of waiting.
9158 * testsuite/libgomp.c/depend-6.c: New test.
9159 * testsuite/libgomp.c/depend-7.c: New test.
9160 * testsuite/libgomp.c/depend-8.c: New test.
9161 * testsuite/libgomp.c/depend-9.c: New test.
9162 * testsuite/libgomp.c/depend-10.c: New test.
9163
0494285a
JJ
91642014-08-01 Jakub Jelinek <jakub@redhat.com>
9165
9166 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9167 (struct gomp_taskwait): New type.
9168 (struct gomp_task): Add taskwait and parent_depends_on, remove
9169 in_taskwait and taskwait_sem fields.
9170 (gomp_finish_task): Don't destroy taskwait_sem.
9171 * task.c (gomp_init_task): Don't init in_taskwait, instead init
9172 taskwait and parent_depends_on.
9173 (GOMP_task): For if (0) tasks with depend clause that depend on
9174 earlier tasks don't defer them, instead call
9175 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9176 Initialize redundant_out field, for redundant out entries just
9177 move them at the end of linked list instead of removing them
9178 completely, and set redundant_out flag instead of redundant.
9179 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9180 that task.
9181 (gomp_task_run_post_handle_dependers): If parent is in
9182 gomp_task_maybe_wait_for_dependencies and newly runnable task
9183 is not parent_depends_on, queue it in parent->children linked
9184 list after all runnable tasks with parent_depends_on set.
9185 Adjust for addition of taskwait indirection.
9186 (gomp_task_run_post_remove_parent): If parent is in
9187 gomp_task_maybe_wait_for_dependencies and task to be removed
9188 is parent_depends_on, decrement n_depend and if needed awake
9189 parent. Adjust for addition of taskwait indirection.
9190 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9191 (gomp_task_maybe_wait_for_dependencies): New function.
9192 * testsuite/libgomp.c/depend-5.c: New test.
9193
60ab4b44
TB
91942014-07-13 Tobias Burnus <burnus@net-b.de>
9195
9196 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 9197 with TS 18508/Fortran 2015.
60ab4b44 9198
773ec47f
MP
91992014-07-06 Marek Polacek <polacek@redhat.com>
9200
9201 PR c/6940
9202 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9203
f707da16
JJ
92042014-07-03 Jakub Jelinek <jakub@redhat.com>
9205
9206 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9207 matches regex $lang_source_re, add $lang_include_flags to options.
9208 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9209 * testsuite/libgomp.c++/c++.exp: Likewise.
9210 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9211 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9212 ALWAYS_CFLAGS.
9213 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9214
07b6c044
TS
92152014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9216
9217 * testsuite/libgomp.fortran/fortran.exp: Explain
9218 gfortran-dg-runtest usage.
9219
da6f124d
JJ
92202014-06-25 Jakub Jelinek <jakub@redhat.com>
9221
9222 * testsuite/libgomp.fortran/simd5.f90: New test.
9223 * testsuite/libgomp.fortran/simd6.f90: New test.
9224 * testsuite/libgomp.fortran/simd7.f90: New test.
9225
b46ebd6c
JJ
92262014-06-24 Jakub Jelinek <jakub@redhat.com>
9227
56ad0e38
JJ
9228 * testsuite/libgomp.c/for-2.c: Define SC to static for
9229 #pragma omp for simd testing.
9230 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9231 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9232 SC macro.
9233 * testsuite/libgomp.c/simd-14.c: New test.
9234 * testsuite/libgomp.c/simd-15.c: New test.
9235 * testsuite/libgomp.c/simd-16.c: New test.
9236 * testsuite/libgomp.c/simd-17.c: New test.
9237 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9238 #pragma omp for simd testing.
9239 * testsuite/libgomp.c++/simd10.C: New test.
9240 * testsuite/libgomp.c++/simd11.C: New test.
9241 * testsuite/libgomp.c++/simd12.C: New test.
9242 * testsuite/libgomp.c++/simd13.C: New test.
9243
b46ebd6c
JJ
9244 * testsuite/libgomp.fortran/aligned1.f03: New test.
9245 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9246 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9247 tasks with !$omp parallel !$omp single.
9248 * testsuite/libgomp.fortran/target8.f90: New test.
9249 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9250 not to use trim in the combiner, instead call elemental function.
9251 (fn): New elemental function.
9252 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9253 Make elemental.
9254 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9255 omp_in): Likewise.
9256 * testsuite/libgomp.fortran/udr12.f90: New test.
9257 * testsuite/libgomp.fortran/udr13.f90: New test.
9258 * testsuite/libgomp.fortran/udr14.f90: New test.
9259 * testsuite/libgomp.fortran/udr15.f90: New test.
9260
f014c653
JJ
92612014-06-18 Jakub Jelinek <jakub@redhat.com>
9262
9263 * omp_lib.f90.in (openmp_version): Set to 201307.
9264 * omp_lib.h.in (openmp_version): Likewise.
9265 * testsuite/libgomp.c/target-8.c: New test.
9266 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9267 and inbranch clauses.
9268 * testsuite/libgomp.fortran/depend-3.f90: New test.
9269 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9270 openmp_version.
9271 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9272 * testsuite/libgomp.fortran/target1.f90: New test.
9273 * testsuite/libgomp.fortran/target2.f90: New test.
9274 * testsuite/libgomp.fortran/target3.f90: New test.
9275 * testsuite/libgomp.fortran/target4.f90: New test.
9276 * testsuite/libgomp.fortran/target5.f90: New test.
9277 * testsuite/libgomp.fortran/target6.f90: New test.
9278 * testsuite/libgomp.fortran/target7.f90: New test.
9279
92d28cbb
JJ
92802014-06-10 Jakub Jelinek <jakub@redhat.com>
9281
9282 PR fortran/60928
9283 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9284 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9285 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9286 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9287 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9288 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9289 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9290 * testsuite/libgomp.fortran/associate1.f90: New test.
9291 * testsuite/libgomp.fortran/associate2.f90: New test.
9292 * testsuite/libgomp.fortran/procptr1.f90: New test.
9293
5f23671d
JJ
92942014-06-06 Jakub Jelinek <jakub@redhat.com>
9295
9296 * testsuite/libgomp.fortran/simd1.f90: New test.
9297 * testsuite/libgomp.fortran/udr1.f90: New test.
9298 * testsuite/libgomp.fortran/udr2.f90: New test.
9299 * testsuite/libgomp.fortran/udr3.f90: New test.
9300 * testsuite/libgomp.fortran/udr4.f90: New test.
9301 * testsuite/libgomp.fortran/udr5.f90: New test.
9302 * testsuite/libgomp.fortran/udr6.f90: New test.
9303 * testsuite/libgomp.fortran/udr7.f90: New test.
9304 * testsuite/libgomp.fortran/udr8.f90: New test.
9305 * testsuite/libgomp.fortran/udr9.f90: New test.
9306 * testsuite/libgomp.fortran/udr10.f90: New test.
9307 * testsuite/libgomp.fortran/udr11.f90: New test.
9308
0389fbb5
UB
93092014-05-27 Uros Bizjak <ubizjak@gmail.com>
9310
9311 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9312 vect_simd_clones effective target.
9313 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9314
decaaec8
JJ
93152014-05-21 Jakub Jelinek <jakub@redhat.com>
9316
9317 PR middle-end/61252
9318 * testsuite/libgomp.c++/simd-9.C: New test.
9319
72832460
UB
93202014-05-18 Uros Bizjak <ubizjak@gmail.com>
9321
9322 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9323 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9324 texts according to their @menu entry positions.
9325
dd2fc525
JJ
93262014-05-11 Jakub Jelinek <jakub@redhat.com>
9327
9328 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9329 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9330 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9331 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9332 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9333 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9334 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9335 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9336 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9337 * testsuite/libgomp.fortran/depend-1.f90: New test.
9338 * testsuite/libgomp.fortran/depend-2.f90: New test.
9339 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9340 * testsuite/libgomp.fortran/simd1.f90: New test.
9341 * testsuite/libgomp.fortran/simd2.f90: New test.
9342 * testsuite/libgomp.fortran/simd3.f90: New test.
9343 * testsuite/libgomp.fortran/simd4.f90: New test.
9344 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9345
95782571
JJ
93462014-05-02 Jakub Jelinek <jakub@redhat.com>
9347
9348 * testsuite/libgomp.c/simd-10.c: New test.
9349 * testsuite/libgomp.c/simd-11.c: New test.
9350 * testsuite/libgomp.c/simd-12.c: New test.
9351 * testsuite/libgomp.c/simd-13.c: New test.
9352
f7468577
JJ
93532014-04-24 Jakub Jelinek <jakub@redhat.com>
9354
42056eac
JJ
9355 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9356 atomic type clauses in any order and optional comma in between.
9357 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9358 * testsuite/libgomp.c/atomic-17.c: Likewise.
9359
f7468577
JJ
9360 * testsuite/libgomp.c/simd-7.c: New test.
9361 * testsuite/libgomp.c/simd-8.c: New test.
9362 * testsuite/libgomp.c/simd-9.c: New test.
9363 * testsuite/libgomp.c/loop-16.c: New test.
9364
ab18f2f5
RH
93652014-04-02 Richard Henderson <rth@redhat.com>
9366
9367 * config/linux/futex.h (futex_wait): Get error value from errno.
9368 (futex_wake): Likewise.
9369
8bcc90b0
JJ
93702014-03-25 Jakub Jelinek <jakub@redhat.com>
9371
9372 PR c++/60331
9373 * testsuite/libgomp.c++/udr-11.C: New test.
9374 * testsuite/libgomp.c++/udr-12.C: New test.
9375 * testsuite/libgomp.c++/udr-13.C: New test.
9376 * testsuite/libgomp.c++/udr-14.C: New test.
9377 * testsuite/libgomp.c++/udr-15.C: New test.
9378 * testsuite/libgomp.c++/udr-16.C: New test.
9379 * testsuite/libgomp.c++/udr-17.C: New test.
9380 * testsuite/libgomp.c++/udr-18.C: New test.
9381 * testsuite/libgomp.c++/udr-19.C: New test.
9382
18d73c7f
RS
93832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9384
9385 Update copyright years
9386
f9030485
RS
93872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9388
9389 * hashtab.h: Use the standard form for the copyright notice.
9390
98db73df
TB
93912014-01-02 Tobias Burnus <burnus@net-b.de>
9392
9393 * libgomp.texi: Bump @copying's copyright year.
9394
ae246f7f
AT
93952013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9396
93d90219 9397 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
9398 alloca () with __builtin_alloca ().
9399 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9400 * testsuite/libgomp.c/lock-3.c: Likewise.
9401 * testsuite/libgomp.c/pr48591.c: Likewise.
9402
fa00a5fe
JJ
94032013-12-17 Jakub Jelinek <jakub@redhat.com>
9404
9405 PR testsuite/59534
9406 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9407 comparisons.
9408
e9792e1d
JJ
94092013-12-16 Jakub Jelinek <jakub@redhat.com>
9410
9411 PR libgomp/58756
9412 * testsuite/libgomp.c/pr58756.c: New test.
9413
cab37c89
JJ
94142013-12-12 Jakub Jelinek <jakub@redhat.com>
9415
9416 PR libgomp/59467
9417 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9418 !$omp parallel.
9419
de14871c
TS
94202013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9421
1707a5de
TS
9422 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9423 ALWAYS_CFLAGS.
9424 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9425 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9426 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9427 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9428 Likewise.
9429
70f05c43
TS
9430 * libgomp_g.h: Include <stddef.h> for size_t.
9431
de14871c
TS
9432 * libgomp.spec.in: Update comment about libgomp's dependencies.
9433 * configure.ac: Likewise.
9434 * configure: Regenerate.
9435
83fd6c5b
TB
94362013-10-16 Tobias Burnus <burnus@net-b.de>
9437
9438 * libgomp.texi: (Runtime Library Routines): Update references for
9439 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9440 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9441 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9442 (Environment Variables): Update references for OpenMP 4.0. Add
9443 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9444 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9445 order.
9446
c8673881
JJ
94472013-10-14 Jakub Jelinek <jakub@redhat.com>
9448
9449 * env.c (parse_bind_var): Initialize value to avoid
9450 (false positive) warning.
9451
f89163fd
JJ
94522013-10-12 Jakub Jelinek <jakub@redhat.com>
9453
9454 PR libgomp/58691
9455 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9456 to check variable.
9457 (gomp_init_num_threads): Move i variable declaration into
9458 #ifdef CPU_ALLOC_SIZE block.
9459 * config/linux/affinity.c (gomp_affinity_init_level): Test
9460 gomp_places_list_len == 0 rather than gomp_places_list == 0
9461 when checking for topology reading error.
9462 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9463 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9464 gomp_places_list, only parse env var and always return false.
9465 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9466 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9467 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9468 and either of these variables were parsed correctly into a places
9469 list.
9470
1d340638
TS
94712013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9472 Jakub Jelinek <jakub@redhat.com>
9473
9474 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9475 of 5 loopfn matches.
9476 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9477 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9478 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9479 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9480 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9481 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9482 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9483 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9484
71a81c21
TS
94852013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9486
bd87f731
TS
9487 * Makefile.am (omp_lib.mod): Streamline rule.
9488 * Makefile.in: Regenerate.
9489
f5745bed
TS
9490 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9491 exceptions.
9492
b5512c66
TS
9493 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9494 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9495 * testsuite/libgomp.fortran/lib2.f: Likewise.
9496 * testsuite/libgomp.fortran/lib3.f: Likewise.
9497
451c19c4
TS
9498 * configure.ac: Typo fix.
9499 * configure: Regenerate.
9500
86a6016d
TS
9501 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9502 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9503
71a81c21
TS
9504 * omp.h.in: Don't touch the user's namespace.
9505
acf0174b
JJ
95062013-10-11 Jakub Jelinek <jakub@redhat.com>
9507 Tobias Burnus <burnus@net-b.de>
9508 Richard Henderson <rth@redhat.com>
9509
9510 * target.c: New file.
9511 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9512 * Makefile.in: Regenerated.
9513 * libgomp_g.h (GOMP_task): Add depend argument.
9514 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9515 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9516 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9517 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9518 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9519 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9520 GOMP_taskgroup_start, GOMP_taskgroup_end,
9521 GOMP_parallel_sections): New prototypes.
9522 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9523 (omp_is_initial_device_): New function.
9524 (ULP, STR1, STR2, ialias_redirect): Removed.
9525 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9526 omp_set_default_device_8_, omp_get_default_device_,
9527 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9528 functions.
9529 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9530 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9531 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9532 @@GOMP_4.0.
9533 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9534 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9535 omp_set_default_device, omp_set_default_device_,
9536 omp_set_default_device_8_, omp_get_default_device,
9537 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9538 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9539 omp_get_team_num_): Export @@OMP_4.0.
9540 * team.c (struct gomp_thread_start_data): Add place field.
9541 (gomp_thread_start): Clear thr->thread_pool and
9542 thr->task before returning. Use gomp_team_barrier_wait_final
9543 instead of gomp_team_barrier_wait. Initialize thr->place.
9544 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9545 team_cancelled and task_queued_count fields.
9546 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9547 before calling pthread_exit.
9548 (gomp_free_thread): No longer static. Use
9549 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9550 (gomp_team_start): Add flags argument. Set
9551 thr->thread_pool->threads_busy to nthreads immediately after creating
9552 new pool. Use gomp_managed_threads_lock instead of
9553 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9554 (gomp_team_end): Use gomp_managed_threads_lock instead of
9555 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9556 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 9557 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
9558 rather than thr->ts.work_share.
9559 (initialize_team): Don't call gomp_sem_init here.
9560 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9561 caller.
9562 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9563 * env.c (gomp_global_icv): Add default_device_var, target_data and
9564 bind_var initializers.
9565 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9566 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9567 gomp_places_list_len): New variables.
9568 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9569 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9570 sized places.
9571 (gomp_cancel_var): New global variable.
9572 (parse_int): New function.
9573 (handle_omp_display_env): New function.
9574 (initialize_env): Use it. Initialize default_device_var.
9575 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9576 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9577 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9578 been successfully parsed (and call gomp_init_affinity in that case).
9579 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9580 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9581 omp_get_team_num, omp_is_initial_device): New functions.
9582 * libgomp.h: Include stdlib.h.
9583 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9584 Define.
9585 (struct target_mem_desc): Forward declare.
9586 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9587 and thread_limit_var fields.
9588 (gomp_get_num_devices): New prototype.
9589 (gomp_cancel_var): New extern decl.
9590 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9591 team_cancelled and task_queued_count fields. Add comments about
9592 task_{,queued_,running_}count.
9593 (gomp_cancel_kind): New enum.
9594 (gomp_work_share_end_cancel): New prototype.
9595 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9596 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9597 and depend fields.
9598 (struct gomp_taskgroup): New type.
9599 (struct gomp_task_depend_entry,
9600 struct gomp_dependers_vec): New types.
9601 (gomp_finish_task): Free depend_hash if non-NULL.
9602 (struct gomp_team_state): Add place_partition_off
9603 and place_partition_len fields.
9604 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9605 gomp_places_list_len): New extern decls.
9606 (struct gomp_thread): Add place field.
9607 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9608 (gomp_init_thread_affinity): Add place argument.
9609 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9610 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9611 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9612 gomp_affinity_init_level, gomp_affinity_print_place): New
9613 prototypes.
9614 (gomp_team_start): Add flags argument.
9615 (gomp_thread_limit_var, gomp_remaining_threads_count,
9616 gomp_remaining_threads_lock): Remove.
9617 (gomp_managed_threads_lock): New variable.
9618 (struct gomp_thread_pool): Add threads_busy field.
9619 (gomp_free_thread): New prototype.
9620 * task.c: Include hashtab.h.
9621 (hash_entry_type): New typedef.
9622 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9623 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9624 copy_ctors_done and taskgroup fields.
9625 (GOMP_task): Add depend argument, handle depend clauses. If
9626 gomp_team_barrier_cancelled or if it's taskgroup has been
9627 cancelled, don't queue or start new tasks. Set copy_ctors_done
9628 field if needed. Initialize taskgroup field. If copy_ctors_done
9629 and already cancelled, don't discard the task. If taskgroup is
9630 non-NULL, enqueue the task into taskgroup queue. Increment
9631 num_children field in taskgroup. Increment task_queued_count.
9632 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9633 gomp_task_run_post_remove_taskgroup): New inline functions.
9634 (gomp_task_run_post_handle_depend_hash,
9635 gomp_task_run_post_handle_dependers,
9636 gomp_task_run_post_handle_depend): New functions.
9637 (GOMP_taskwait): Use them. If more than one new tasks
9638 have been queued, wake other threads if needed.
9639 (gomp_barrier_handle_tasks): Likewise. If
9640 gomp_team_barrier_cancelled, don't start any new tasks, just free
9641 all tasks.
9642 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9643 * omp_lib.f90.in
9644 (omp_proc_bind_kind, omp_proc_bind_false,
9645 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9646 omp_proc_bind_spread): New params.
9647 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9648 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9649 omp_get_team_num, omp_is_initial_device): New interfaces.
9650 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9651 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9652 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9653 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9654 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9655 useless use omp_lib_kinds.
9656 * omp.h.in (omp_proc_bind_t): New typedef.
9657 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9658 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9659 omp_get_team_num, omp_is_initial_device): New prototypes.
9660 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9661 through to gomp_team_start.
9662 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9663 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9664 Adjust gomp_parallel_loop_start callers.
9665 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9666 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9667 GOMP_loop_end_cancel): New functions.
9668 (GOMP_parallel_end): Add ialias_redirect.
9669 * hashtab.h: New file.
9670 * libgomp.texi (Environment Variables): Minor cleanup,
9671 update section refs to OpenMP 4.0rc2.
9672 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9673 environment variables.
9674 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9675 team->work_shares_to_free to thr->ts.work_share before calling
9676 free_work_share.
9677 (gomp_work_share_end_cancel): New function.
9678 * config/linux/proc.c: Include errno.h.
9679 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9680 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9681 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9682 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9683 gomp_cpuset_size is sizeof (cpu_set_t).
9684 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9685 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9686 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9687 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9688 contain any logical CPUs.
9689 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9690 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9691 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9692 pthread_getaffinity_np. Check gomp_places_list instead of
9693 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9694 * config/linux/bar.c (gomp_barrier_wait_end,
9695 gomp_barrier_wait_last): Use BAR_* defines.
9696 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9697 from state where needed. Set work_share_cancelled to 0 on last
9698 thread.
9699 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9700 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9701 functions.
9702 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9703 Add cpusetsize argument.
9704 (gomp_cpuset_size, gomp_cpusetp): Declare.
9705 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9706 (affinity_counter): Remove.
9707 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9708 if CPU_ALLOC_SIZE isn't defined.
9709 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9710 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9711 bind current thread to the first place.
9712 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9713 pthread_setaffinity_np to gomp_places_list[place].
9714 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9715 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9716 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9717 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9718 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9719 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9720 (gomp_barrier_t): Add awaited_final field.
9721 (gomp_barrier_init): Initialize awaited_final field.
9722 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9723 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9724 prototypes.
9725 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9726 defines.
9727 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9728 gomp_team_barrier_cancelled): New inline functions.
9729 (gomp_barrier_last_thread,
9730 gomp_team_barrier_set_task_pending,
9731 gomp_team_barrier_clear_task_pending,
9732 gomp_team_barrier_set_waiting_for_tasks,
9733 gomp_team_barrier_waiting_for_tasks,
9734 gomp_team_barrier_done): Use BAR_* defines.
9735 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9736 (gomp_barrier_wait_end): Use BAR_* defines.
9737 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9738 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9739 Use BAR_* defines.
9740 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9741 gomp_team_barrier_cancel): New functions.
9742 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9743 argument.
9744 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9745 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9746 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9747 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9748 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9749 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9750 (gomp_barrier_t): Add cancellable field.
9751 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9752 gomp_team_barrier_cancel): New prototypes.
9753 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9754 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9755 gomp_team_barrier_cancelled): New inline functions.
9756 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9757 gomp_team_barrier_set_task_pending,
9758 gomp_team_barrier_clear_task_pending,
9759 gomp_team_barrier_set_waiting_for_tasks,
9760 gomp_team_barrier_waiting_for_tasks,
9761 gomp_team_barrier_done): Use BAR_* defines.
9762 * barrier.c (GOMP_barrier_cancel): New function.
9763 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9764 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9765 omp_proc_bind_spread): New params.
9766 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9767 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9768 omp_get_team_num, omp_is_initial_device): New externals.
9769 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9770 New functions.
9771 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9772 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9773 infinity. If not nested, just return minimum of max_num_threads
9774 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9775 to the returned value. Otherwise, don't update atomically
9776 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9777 (GOMP_parallel_end): Adjust for thread_limit now being in
9778 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9779 infinity. Adjust threads_busy in the pool rather than
9780 gomp_remaining_threads_count. Remember team->nthreads and call
9781 gomp_team_end before adjusting threads_busy, if not nested
9782 afterwards, just set it to 1 non-atomically. Add ialias.
9783 (GOMP_parallel_start): Adjust gomp_team_start caller.
9784 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9785 * testsuite/libgomp.c/affinity-1.c: New test.
9786 * testsuite/libgomp.c/atomic-15.c: New test.
9787 * testsuite/libgomp.c/atomic-16.c: New test.
9788 * testsuite/libgomp.c/atomic-17.c: New test.
9789 * testsuite/libgomp.c/cancel-for-1.c: New test.
9790 * testsuite/libgomp.c/cancel-for-2.c: New test.
9791 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9792 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9793 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9794 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9795 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9796 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9797 * testsuite/libgomp.c/depend-1.c: New test.
9798 * testsuite/libgomp.c/depend-2.c: New test.
9799 * testsuite/libgomp.c/depend-3.c: New test.
9800 * testsuite/libgomp.c/depend-4.c: New test.
9801 * testsuite/libgomp.c/for-1.c: New test.
9802 * testsuite/libgomp.c/for-1.h: New file.
9803 * testsuite/libgomp.c/for-2.c: New test.
9804 * testsuite/libgomp.c/for-2.h: New file.
9805 * testsuite/libgomp.c/for-3.c: New test.
9806 * testsuite/libgomp.c/pr58392.c: New test.
9807 * testsuite/libgomp.c/simd-1.c: New test.
9808 * testsuite/libgomp.c/simd-2.c: New test.
9809 * testsuite/libgomp.c/simd-3.c: New test.
9810 * testsuite/libgomp.c/simd-4.c: New test.
9811 * testsuite/libgomp.c/simd-5.c: New test.
9812 * testsuite/libgomp.c/simd-6.c: New test.
9813 * testsuite/libgomp.c/target-1.c: New test.
9814 * testsuite/libgomp.c/target-2.c: New test.
9815 * testsuite/libgomp.c/target-3.c: New test.
9816 * testsuite/libgomp.c/target-4.c: New test.
9817 * testsuite/libgomp.c/target-5.c: New test.
9818 * testsuite/libgomp.c/target-6.c: New test.
9819 * testsuite/libgomp.c/target-7.c: New test.
9820 * testsuite/libgomp.c/taskgroup-1.c: New test.
9821 * testsuite/libgomp.c/thread-limit-1.c: New test.
9822 * testsuite/libgomp.c/thread-limit-2.c: New test.
9823 * testsuite/libgomp.c/thread-limit-3.c: New test.
9824 * testsuite/libgomp.c/udr-1.c: New test.
9825 * testsuite/libgomp.c/udr-2.c: New test.
9826 * testsuite/libgomp.c/udr-3.c: New test.
9827 * testsuite/libgomp.c++/affinity-1.C: New test.
9828 * testsuite/libgomp.c++/atomic-10.C: New test.
9829 * testsuite/libgomp.c++/atomic-11.C: New test.
9830 * testsuite/libgomp.c++/atomic-12.C: New test.
9831 * testsuite/libgomp.c++/atomic-13.C: New test.
9832 * testsuite/libgomp.c++/atomic-14.C: New test.
9833 * testsuite/libgomp.c++/atomic-15.C: New test.
9834 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9835 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9836 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9837 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9838 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9839 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9840 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9841 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9842 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9843 * testsuite/libgomp.c++/cancel-test.h: New file.
9844 * testsuite/libgomp.c++/for-9.C: New test.
9845 * testsuite/libgomp.c++/for-10.C: New test.
9846 * testsuite/libgomp.c++/for-11.C: New test.
9847 * testsuite/libgomp.c++/simd-1.C: New test.
9848 * testsuite/libgomp.c++/simd-2.C: New test.
9849 * testsuite/libgomp.c++/simd-3.C: New test.
9850 * testsuite/libgomp.c++/simd-4.C: New test.
9851 * testsuite/libgomp.c++/simd-5.C: New test.
9852 * testsuite/libgomp.c++/simd-6.C: New test.
9853 * testsuite/libgomp.c++/simd-7.C: New test.
9854 * testsuite/libgomp.c++/simd-8.C: New test.
9855 * testsuite/libgomp.c++/target-1.C: New test.
9856 * testsuite/libgomp.c++/target-2.C: New test.
9857 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9858 * testsuite/libgomp.c++/target-3.C: New test.
9859 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9860 * testsuite/libgomp.c++/udr-1.C: New test.
9861 * testsuite/libgomp.c++/udr-2.C: New test.
9862 * testsuite/libgomp.c++/udr-3.C: New test.
9863 * testsuite/libgomp.c++/udr-4.C: New test.
9864 * testsuite/libgomp.c++/udr-5.C: New test.
9865 * testsuite/libgomp.c++/udr-6.C: New test.
9866 * testsuite/libgomp.c++/udr-7.C: New test.
9867 * testsuite/libgomp.c++/udr-8.C: New test.
9868 * testsuite/libgomp.c++/udr-9.C: New test.
9869
bd599dea
JJ
98702013-09-20 Jakub Jelinek <jakub@redhat.com>
9871
9872 PR testsuite/57605
9873 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9874 ALWAYS_CFLAGS.
9875
3cbe17f7
AM
98762013-09-20 Alan Modra <amodra@gmail.com>
9877
9878 * configure: Regenerate.
9879
4befd127
JJ
98802013-09-19 Jakub Jelinek <jakub@redhat.com>
9881
9882 * testsuite/libgomp.c/sections-2.c: New test.
9883
946c8f7b
MS
98842013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9885
9886 * testsuite/libgomp.fortran/strassen.f90:
9887 Add dg-skip-if aarch64_tiny.
9888
1ef3b58e
IS
98892013-06-20 Iain Sandoe <iain@codesourcery.com>
9890 Cesar Philippidis <cesar@codesourcery.com>
9891
9892 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9893 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9894 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9895 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9896 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9897 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9898 Use dg-runtest rather than gfortran-dg-runtest.
9899
9275f73a
TS
99002013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9901
9902 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9903 Linux-based x86 systems to cover all GNU systems.
9904 * testsuite/libgomp.c/lock-3.c: Likewise.
9905 * testsuite/libgomp.c/pr48591.c: Likewise.
9906
492992e2
TS
99072013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9908
48df3acb
TS
9909 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9910 GNU/Hurd, as done for Linux-based systems.
9911
492992e2
TS
9912 * config/posix/ptrlock.h: Fix comment.
9913
4fed6b25
TB
99142013-05-27 Tobias Burnus <burnus@net-b.de>
9915
9916 PR fortran/57423
9917 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9918 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9919 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9920 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9921 omp_destroy_nest_lock): Correct arguments to match the one in
9922 the OpenMP spec.
9923 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9924 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9925 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9926 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9927
5a0f4dd3
JJ
99282013-05-16 Jakub Jelinek <jakub@redhat.com>
9929
9930 * testsuite/libgomp.c/loop-13.c: New test.
9931 * testsuite/libgomp.c/loop-14.c: New test.
9932 * testsuite/libgomp.c/loop-15.c: New test.
9933 * testsuite/libgomp.c++/loop-13.C: New test.
9934 * testsuite/libgomp.c++/loop-14.C: New test.
9935 * testsuite/libgomp.c++/loop-15.C: New test.
9936
6d840d99
JJ
99372013-02-06 Jakub Jelinek <jakub@redhat.com>
9938
9939 PR middle-end/56217
9940 * testsuite/libgomp.c++/pr56217.C: New test.
9941
bed8d8a6
AM
99422013-02-01 Alan Modra <amodra@gmail.com>
9943
9944 * task.c (GOMP_task, GOMP_taskwait): Comment.
9945
3b35cd04
DV
99462013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9947 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9948
9949 PR libgomp/55561
9950 * config/linux/wait.h (do_spin): Use atomic load for addr.
9951 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9952 for intptr and ptrlock.
9953 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9954 for ptrlock.
9955
9a647288
AM
99562013-01-22 Alan Modra <amodra@gmail.com>
9957
9958 PR libgomp/51376
9959 PR libgomp/56073
9960 * task.c (GOMP_task): Revert 2011-12-09 change.
9961 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9962 barrier to read task->children..
9963 (gomp_barrier_handle_tasks): ..and matching atomic store with
9964 release barrier here when setting parent->children to NULL.
9965
f34dea03
JJ
99662013-01-16 Jakub Jelinek <jakub@redhat.com>
9967 Tobias Burnus <burnus@net-b.de>
9968
9969 PR driver/55884
9970 * testsuite/libgomp.fortran/fortran.exp: Use
9971 -fintrinsic-modules-path= instead of
9972 -fintrinsic-modules-path.
9973
8129609c
RS
99742013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9975
9976 Update copyright years.
9977
aa86bf1e
TB
99782012-12-19 Tobias Burnus <burnus@net-b.de>
9979
9980 * testsuite/libgomp.fortran/fortran.exp: Set
9981 -fintrinsic-modules-path.
9982
2865ea66
TB
99832012-12-19 Tobias Burnus <burnus@net-b.de>
9984
9985 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9986 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9987
4c5ba8d0
JJ
99882012-11-21 Jakub Jelinek <jakub@redhat.com>
9989
9990 PR libgomp/55411
9991 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9992 if pool had any threads_used.
9993
e9f958c2
JH
99942012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9995
9996 * testsuite/libgomp.c++/pr24455.C: Use
9997 -Wl,-undefined,dynamic_lookup on darwin.
9998
a57d75dc
DE
99992012-11-07 David Edelsohn <dje.gcc@gmail.com>
10000
10001 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10002
c6c08485
DH
100032012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
10004
10005 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10006
c1f37c00
IB
100072012-10-23 Ian Bolton <ian.bolton@arm.com>
10008 Jim MacArthur <jim.macarthur@arm.com>
10009 Marcus Shawcroft <marcus.shawcroft@arm.com>
10010 Nigel Stephens <nigel.stephens@arm.com>
10011 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10012 Richard Earnshaw <rearnsha@arm.com>
10013 Sofiane Naci <sofiane.naci@arm.com>
10014 Stephen Thomas <stephen.thomas@arm.com>
10015 Tejas Belagod <tejas.belagod@arm.com>
10016 Yufeng Zhang <yufeng.zhang@arm.com>
10017
10018 * configure.tgt: Add AArch64.
10019
7c424acd
JM
100202012-10-04 Jason Merrill <jason@redhat.com>
10021
10022 * testsuite/libgomp.c++/tls-init1.C: New.
10023
6608378b
DE
100242012-09-14 David Edelsohn <dje.gcc@gmail.com>
10025
10026 * configure: Regenerated.
10027
c24dbebb
CLT
100282012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
10029
10030 * config/linux/mips/futex.h (sys_futex0): Change to static
10031 function with noinline, nomips16 attributes under MIPS16. Adjust
10032 asm statement to place 'li v0,SYS_futex' immediately before
10033 syscall insn.
10034
3d3949df
SL
100352012-07-04 Sandra Loosemore <sandra@codesourcery.com>
10036
10037 * libgomp.texi (Library Index): Renamed from "Index" to prevent
10038 conflict with index.html on case-insensitive file systems.
10039
68a12ef3
UB
100402012-07-03 Uros Bizjak <ubizjak@gmail.com>
10041
10042 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10043 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10044
33ad93b9 100452012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
10046 Michael Matz <matz@suse.de>
10047 Tobias Grosser <tobias@grosser.es>
10048 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
10049
10050 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10051 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10052 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10053 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10054
e6fdc918
AS
100552012-06-28 Andreas Schwab <schwab@linux-m68k.org>
10056
10057 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10058
62e0a1ed
RG
100592012-06-22 Richard Guenther <rguenther@suse.de>
10060
10061 Merge from graphite branch
10062 2012-01-13 Tobias Grosser <tobias@grosser.es>
10063
10064 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10065 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10066
26127932
JJ
100672012-06-07 Jakub Jelinek <jakub@redhat.com>
10068
10069 PR middle-end/53580
10070 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10071 use GOMP_barrier () call instead.
10072 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10073 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10074 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10075 call GOMP_barrier instead.
10076 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10077
43fa5db5
JJ
100782012-06-06 Jakub Jelinek <jakub@redhat.com>
10079
10080 PR libgomp/52993
10081 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10082 argument to memset call.
10083
e6d5f8c9
L
100842012-05-16 H.J. Lu <hongjiu.lu@intel.com>
10085
10086 * configure: Regenerated.
10087
559d990c
MLI
100882012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10089
10090 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10091
b9c23a61
L
100922012-03-31 H.J. Lu <hongjiu.lu@intel.com>
10093
10094 PR bootstrap/52812
10095 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10096
c140ddf3
JJ
100972012-03-22 Jakub Jelinek <jakub@redhat.com>
10098
10099 PR middle-end/52547
10100 * testsuite/libgomp.c/pr52547.c: New test.
10101
6a26a74d
BRF
101022012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10103
10104 * testsuite/lib/libgomp.exp: load fortran-modules.exp
10105
b24513a1
RO
101062012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10107
10108 * configure.tgt (mips-sgi-irix6*): Remove.
10109
5c30094f
RO
101102012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10111
10112 * configure.tgt (alpha*-dec-osf*): Remove.
10113
10114 * config/osf/sem.h: Remove.
10115 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10116
a339c9d6
EB
101172012-02-29 Eric Botcazou <ebotcazou@adacore.com>
10118
10119 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10120
cc2de92d
RO
101212012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10122
10123 PR libstdc++/52188
10124 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10125 Remove ENABLE_SYMVERS_SOL2.
10126 * configure: Regenerate.
10127 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10128 (PREPROCESS): New variable.
10129 (libgomp.ver): New target.
10130 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10131 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10132 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10133 Use libgomp.ver.
10134 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10135 * Makefile.in: Regenerate.
10136
dd552284
WL
101372012-02-14 Walter Lee <walt@tilera.com>
10138
10139 * configure.tgt: Handle tilegx and tilepro.
10140 * config/linux/tile/futex.h: New file.
10141
31432e21
RG
101422012-02-08 Richard Guenther <rguenther@suse.de>
10143
10144 PR tree-optimization/46886
10145 * testsuite/libgomp.c/pr46886.c: New testcase.
10146
b9264b5f
MK
101472012-01-25 Matthias Klose <doko@ubuntu.com>
10148
10149 * config/linux/arm: Remove empty directory.
10150 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10151
fbf7be80
AM
101522011-12-09 Alan Modra <amodra@gmail.com>
10153
10154 PR libgomp/51376
10155 * task.c (GOMP_taskwait): Don't access task->children outside of
10156 task_lock mutex region.
10157 (GOMP_task): Likewise.
10158
5de62d00
JJ
101592011-12-06 Jakub Jelinek <jakub@redhat.com>
10160
10161 PR libgomp/51132
10162 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10163 to file scope.
10164 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10165 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10166 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10167 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10168 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10169
45608a43
AM
101702011-12-02 Alan Modra <amodra@gmail.com>
10171
10172 * config/linux/affinity.c: Use atomic rather than sync builtin.
10173 * config/linux/lock.c: Likewise.
10174 * config/linux/ptrlock.h: Likewise.
10175 * config/linux/ptrlock.c: Likewise.
10176 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10177 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10178 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10179 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10180 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10181 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10182 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10183 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10184 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10185 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10186
ab6dd406
AM
101872011-11-30 Alan Modra <amodra@gmail.com>
10188
10189 PR libgomp/51298
10190 * config/linux/bar.h: Use atomic rather than sync builtins.
10191 * config/linux/bar.c: Likewise. Add missing acquire
10192 synchronisation on generation field.
10193 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10194 double unlock.
10195
b40c885f
AM
101962011-11-30 Alan Modra <amodra@gmail.com>
10197
10198 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10199 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10200 * config/linux/mutex.h: Use atomic rather than sync builtins.
10201 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10202 * config/linux/omp-lock.h: Comment fix.
10203 * config/linux/arm/mutex.h: Delete.
10204 * config/linux/powerpc/mutex.h: Delete.
10205 * config/linux/ia64/mutex.h: Delete.
10206 * config/linux/mips/mutex.h: Delete.
10207
3e348fcc
AM
102082011-11-30 Alan Modra <amodra@gmail.com>
10209
10210 PR libgomp/51249
10211 * config/linux/sem.h: Rewrite.
10212 * config/linux/sem.c: Rewrite.
10213
cef86eb2
RH
102142011-11-28 Richard Henderson <rth@redhat.com>
10215
10216 * libgomp.h (enum memmodel): New.
10217
c6084f68
AT
102182011-11-21 Andreas Tobler <andreast@fgznet.ch>
10219
10220 * configure: Regenerate.
10221
06fe026c
MK
102222011-10-10 Matthias Klose <doko@ubuntu.com>
10223
10224 * config/posix95: Remove empty directory.
10225
a6c975bd
JJ
102262011-08-26 Jakub Jelinek <jakub@redhat.com>
10227
10228 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10229
c26dffff
JJ
102302011-08-19 Jakub Jelinek <jakub@redhat.com>
10231
10232 PR fortran/49792
10233 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10234 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10235
ddaad3c8
RO
102362011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10237
10238 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10239
98d03683
RO
102402011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10241
10242 PR libgomp/49965
10243 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10244
e0b23d9f
UB
102452011-08-03 Uros Bizjak <ubizjak@gmail.com>
10246
10247 * config/linux/proc.h: New.
10248 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10249 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10250 (gomp_init_num_threads): Update call to cpuset_popcount.
10251 (get_num_procs): Ditto.
10252 * config/linux/affinity.c (gomp_init_affinity): Call
10253 gomp_cpuset_popcount.
10254
20906c66
JJ
102552011-08-02 Jakub Jelinek <jakub@redhat.com>
10256
10257 PR fortran/42041
10258 PR fortran/46752
10259 * omp.h.in (omp_in_final): New prototype.
10260 * omp_lib.f90.in (omp_in_final): New interface.
10261 (omp_integer_kind, omp_logical_kind): Remove
10262 and replace all its uses in the module with 4.
10263 (openmp_version): Change to 201107.
10264 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10265 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10266 kind for the parameters.
10267 (omp_in_final): New external.
10268 (openmp_version): Change to 201107.
10269 * task.c (omp_in_final): New function.
10270 (gomp_init_task): Initialize final_task.
10271 (GOMP_task): Remove unused attribute from flags. Handle final
10272 tasks.
10273 (GOMP_taskyield): New function.
10274 (omp_in_final): Return true if if (false) or final (true) task
10275 or descendant of final (true).
10276 * fortran.c (omp_in_final_): New function.
10277 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10278 (GOMP_3.0): Export GOMP_taskyield.
10279 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10280 variables.
10281 (parse_unsigned_long_list): New function.
10282 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10283 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10284 even if parse_affinity returned false.
10285 * config/linux/affinity.c (gomp_init_affinity): Handle
10286 gomp_cpu_affinity_len == 0.
10287 * libgomp_g.h (GOMP_taskyield): New prototype.
10288 * libgomp.h (struct gomp_task): Add final_task field.
10289 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10290 * team.c (gomp_team_start): Override new task's nthreads_var icv
10291 if list form OMP_NUM_THREADS has been used and it has value for
10292 the new nesting level.
10293
10294 * testsuite/libgomp.c/atomic-11.c: New test.
10295 * testsuite/libgomp.c/atomic-12.c: New test.
10296 * testsuite/libgomp.c/atomic-13.c: New test.
10297 * testsuite/libgomp.c/atomic-14.c: New test.
10298 * testsuite/libgomp.c/reduction-6.c: New test.
10299 * testsuite/libgomp.c/task-5.c: New test.
10300 * testsuite/libgomp.c++/atomic-2.C: New test.
10301 * testsuite/libgomp.c++/atomic-3.C: New test.
10302 * testsuite/libgomp.c++/atomic-4.C: New test.
10303 * testsuite/libgomp.c++/atomic-5.C: New test.
10304 * testsuite/libgomp.c++/atomic-6.C: New test.
10305 * testsuite/libgomp.c++/atomic-7.C: New test.
10306 * testsuite/libgomp.c++/atomic-8.C: New test.
10307 * testsuite/libgomp.c++/atomic-9.C: New test.
10308 * testsuite/libgomp.c++/task-8.C: New test.
10309 * testsuite/libgomp.c++/reduction-4.C: New test.
10310 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10311 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10312 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10313 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10314 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10315 * testsuite/libgomp.fortran/pointer1.f90: New test.
10316 * testsuite/libgomp.fortran/pointer2.f90: New test.
10317 * testsuite/libgomp.fortran/task4.f90: New test.
10318
103192011-08-02 Tobias Burnus <burnus@net-b.de>
10320
10321 * libgomp.texi: Update OpenMP spec references to 3.1.
10322 (omp_in_final,OMP_PROC_BIND): New sections.
10323 (OMP_NUM_THREADS): Document that the value can be now a list.
10324 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10325
c01ecafc
L
103262011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10327
10328 * config/linux/x86/futex.h: Check __x86_64__ instead of
10329 __LP64__.
10330
25142650
JJ
103312011-07-29 Jakub Jelinek <jakub@redhat.com>
10332
10333 PR middle-end/49897
10334 PR middle-end/49898
10335 * testsuite/libgomp.c/pr49897-1.c: New test.
10336 * testsuite/libgomp.c/pr49897-2.c: New test.
10337 * testsuite/libgomp.c/pr49898-1.c: New test.
10338 * testsuite/libgomp.c/pr49898-2.c: New test.
10339
f53d712f
L
103402011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10341
10342 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10343 for ia32 instead of ilp32.
10344
10345 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10346 * testsuite/libgomp.c/atomic-6.c: Likewise.
10347
3689198d
SP
103482011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10349
10350 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10351 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10352
1a79cb73
RO
103532011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10354
10355 PR libgomp/45351
10356 * config/osf/sem.h: New file.
10357 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10358
c1f51484
RO
103592011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10360
10361 PR target/49541
10362 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10363 ldflags.
10364
bfee0724
JJ
103652011-07-15 Jakub Jelinek <jakub@redhat.com>
10366
10367 * config/linux/wait.h (do_spin): New inline, largely copied
10368 from do_wait, just don't do futex_wait here, instead return true if
10369 it should be done.
10370 (do_wait): Implement using do_spin.
10371 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10372 to prototype.
10373 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10374 __sync_bool_compare_and_swap, pass the oldval to
10375 gomp_mutex_lock_slow.
10376 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10377 If all mutex contenders are just spinning and not sleeping, don't
10378 change state to 2 unnecessarily. Optimize the loop when state has
10379 already become 2 to use just one atomic operation per loop instead
10380 of two.
10381 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10382 to prototype.
10383 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10384 __sync_bool_compare_and_swap, pass the oldval to
10385 gomp_mutex_lock_slow.
10386
fb79f500
JJ
103872011-06-22 Jakub Jelinek <jakub@redhat.com>
10388
10389 PR libgomp/49490
10390 * iter.c (gomp_iter_static_next): For chunk size 0
10391 only use n ceil/ nthreads size for the first
10392 n % nthreads threads in the team instead of
10393 all threads except for the last few ones which
10394 get less work or none at all.
10395 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10396 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10397 chunk argument, set run_sched_modifier to 0 for static
10398 resp. 1 for other kinds. If chunk argument is 0
10399 and not static, set value to 1.
10400
4577f730
JJ
104012011-05-19 Jakub Jelinek <jakub@redhat.com>
10402
ea93a47b
JJ
10403 PR c++/49043
10404 * testsuite/libgomp.c++/pr49043.C: New test.
10405
4577f730
JJ
10406 PR c++/48869
10407 * testsuite/libgomp.c++/pr48869.C: New test.
10408
e7385332
JJ
104092011-05-06 Jakub Jelinek <jakub@redhat.com>
10410
10411 PR fortran/48894
10412 * fortran.c: Include limits.h.
10413 (TO_INT): Define.
10414 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10415 *set.
10416 (omp_set_num_threads_8_, omp_set_schedule_8_,
10417 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10418 omp_get_team_size_8_): Use TO_INT macro.
10419 * testsuite/libgomp.fortran/pr48894.f90: New test.
10420
20790697
JJ
104212011-04-13 Jakub Jelinek <jakub@redhat.com>
10422
10423 PR middle-end/48591
10424 * testsuite/libgomp.c/pr48591.c: New test.
10425
bf382f5f
RO
104262011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10427
10428 PR bootstrap/48135
10429 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10430 * configure: Regenerate.
10431
113a53c1
JJ
104322011-02-27 Jakub Jelinek <jakub@redhat.com>
10433
10434 PR fortran/47886
10435 * testsuite/libgomp.fortran/task3.f90: New test.
10436
0024f1af
TB
104372011-02-24 Tobias Burnus <burnus@net-b.de>
10438
10439 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10440
21e1e594
JJ
104412011-02-23 Jakub Jelinek <jakub@redhat.com>
10442
10443 PR libgomp/47854
10444 * libgomp.texi (omp_get_wtime): Don't say time in the past
10445 must be Unix Epoch.
10446
67962076
JJ
104472011-02-18 Jakub Jelinek <jakub@redhat.com>
10448
10449 PR libgomp/47804
10450 * testsuite/libgomp.fortran/fortran.exp: Check for both
10451 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10452 but $blddir != "", still append ${blddir}/${lang_library_path}
10453 to ld_library_path.
10454
3808007c
TB
104552011-02-16 Tobias Burnus <burnus@net-b.de>
10456
10457 PR libgomp/47758
10458 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10459 of libquadmath.a before adding its libpath to ldflags.
10460
53b4d41d
JJ
104612011-02-14 Jakub Jelinek <jakub@redhat.com>
10462
10463 PR libgomp/47731
10464 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10465 to FUTEX_WAIT futex syscall.
10466 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10467
029c8f3e
RW
104682011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10469
10470 * configure: Regenerate.
10471
bddd6626
BK
104722011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10473
10474 PR libstdc++/36104
10475 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10476
f1d4ab26
GP
104772011-01-16 Gerald Pfeifer
10478
10479 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10480
2b503136
JJ
104812010-12-14 Jakub Jelinek <jakub@redhat.com>
10482
10483 PR fortran/46874
10484 * libgomp.fortran/allocatable6.f90: New test.
10485
c0f9d583
RO
104862010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10487
10488 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10489 * configure: Regenerate.
10490
7de6ba7a
DK
104912010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10492
10493 PR target/40125
10494 PR lto/46695
10495 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10496 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10497 * aclocal.m4: Regenerate.
10498 * configure: Regenerate.
10499 * Makefile.in: Regenerate.
10500 * testsuite/Makefile.in: Regenerate.
10501
b7516041
JJ
105022010-12-02 Jakub Jelinek <jakub@redhat.com>
10503
edaadf74
JJ
10504 PR fortran/46753
10505 * libgomp.fortran/pr46753.f90: New test.
10506
4c698cf8
JJ
10507 PR libgomp/43706
10508 * env.c (initialize_env): Default to spin count 300000
10509 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10510 is specified.
10511
b7516041
JJ
10512 PR libgomp/45240
10513 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10514 at the end if sync builtins aren't supported.
10515
6b43a34c
RO
105162010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10517
10518 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10519
950691fa
RO
105202010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10521
10522 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10523
fb9041ea
IS
105242010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10525
10526 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10527
1ec601bf
FXC
105282010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10529 Tobias Burnus <burnus@net-b.de>
10530
10531 PR fortran/32049
3e348fcc 10532 * configure.ac:
1ec601bf
FXC
10533 * configure: Regenerate.
10534
d213e92e
MS
105352010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10536
10537 * config/linux/futex.h: New.
10538 * config/linux/arm/mutex.h: New.
10539 * configure.tgt (arm*-*-linux*): Add config path.
10540
89d5c66f
SP
105412010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10542
10543 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10544
87350d4a
TB
105452010-09-23 Tobias Burnus <burnus@net-b.de>
10546
10547 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10548 Change Fortran datatype to LOGICAL.
10549 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10550 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10551
75bc9e5e
RW
105522010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10553
10554 * configure: Regenerate.
10555
acb5c916
JJ
105562010-07-26 Jakub Jelinek <jakub@redhat.com>
10557
10558 * libgomp.texi: Add function keyword to a couple of Fortran
10559 interfaces, use integer instead of int for Fortran.
10560
6a2ba183
AH
105612010-07-26 Aldy Hernandez <aldyh@redhat.com>
10562
10563 * libgomp.texi: Fix spelling and pasto problems throughout.
10564 Adjust prototypes to match code.
10565
df161b69
TB
105662010-07-24 Tobias Burnus <burnus@net-b.de>
10567
10568 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10569 silence -fwhole-file warning.
10570
16c9d3b1
RO
105712010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10572
10573 * configure.tgt (*-*-solaris2.[56]*): Removed.
10574
6d28b933
RO
105752010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10576
10577 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10578 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10579 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10580 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10581 targetting solaris2*.
10582 * configure: Regenerate.
10583 * config.h.in: Regenerate.
10584
10585 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10586 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10587 Add libgomp_version_dep.
10588 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10589 versioning.
10590 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10591 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10592 * Makefile.in: Regenerate.
10593
10594 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10595 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10596 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10597 to common block, protected by
10598 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10599
07a67d6a
GP
106002010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10601
10602 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10603
dbd34b89
IS
106042010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10605
10606 PR bootstrap/43170
10607 * configure: Regenerate.
10608
13917ae3
RW
106092010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10610
10611 PR other/43620
10612 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10613 * configure: Regenerate.
10614 * Makefile.in: Regenerate.
10615 * testsuite/Makefile.in: Regenerate.
10616
b83a701b
JJ
106172010-04-26 Jakub Jelinek <jakub@redhat.com>
10618
10619 PR c/43893
10620 * testsuite/libgomp.c/pr43893.c: New test.
10621 * testsuite/libgomp.c++/pr43893.C: New test.
10622
78db7d92
JJ
106232010-04-21 Jakub Jelinek <jakub@redhat.com>
10624
10625 PR middle-end/43570
10626 * testsuite/libgomp.fortran/vla8.f90: New test.
10627
5221d7a9
JJ
106282010-04-20 Jakub Jelinek <jakub@redhat.com>
10629
e4ba7a60
JJ
10630 PR libgomp/43706
10631 * config/linux/affinity.c (gomp_init_affinity): Decrease
10632 gomp_available_cpus if affinity mask confines the process to fewer
10633 CPUs.
10634 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10635 non-NULL, just return gomp_available_cpus.
10636
5221d7a9
JJ
10637 PR libgomp/43569
10638 * sections.c (gomp_sections_init): Initialize ws->mode.
10639
289a9f86
UB
106402010-04-14 Uros Bizjak <ubizjak@gmail.com>
10641
10642 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10643 not unused bar variable.
10644 * configure: Regenerate.
10645
4d9e8446
RW
106462010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10647
10648 * Makefile.in: Regenerate.
10649 * aclocal.m4: Regenerate.
10650 * testsuite/Makefile.in: Regenerate.
10651
80f046cc
JJ
106522010-03-22 Jakub Jelinek <jakub@redhat.com>
10653
10654 PR libgomp/42942
10655 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10656 (initialize_env): Adjust callers.
10657 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10658 when the argument is 0.
10659
10660 * testsuite/libgomp.c/pr42942.c: New test.
10661
b58543c3
SP
106622010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10663
10664 PR middle-end/42644
10665 PR middle-end/42130
10666 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10667 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10668
41d1138f
RO
106692010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10670
10671 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10672 * testsuite/libgomp.c++/task-6.C: Likewise.
10673
6684eb28
SE
106742010-01-28 Steve Ellcey <sje@cup.hp.com>
10675
10676 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10677
2122aa97
PB
106782010-01-26 Paolo Bonzini <bonzini@gnu.org>
10679
10680 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10681 * configure: Regenerate.
10682
057dd91d
JJ
106832010-01-26 Jakub Jelinek <jakub@redhat.com>
10684
10685 PR fortran/42866
10686 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10687
d0709b6a
PB
106882010-01-20 Paolo Bonzini <bonzini@gnu.org>
10689
10690 * configure.ac: Test for executability of GFORTRAN.
10691 * configure: Regenerate.
10692
b9497ab5
RO
106932010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10694
10695 * configure: Regenerate.
10696
45de5648
L
106972010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10698
10699 PR libgomp/42602
10700 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10701
e74003a1
RG
107022010-01-03 Richard Guenther <rguenther@suse.de>
10703
10704 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10705
1b3abda8
SP
107062009-12-23 Sebastian Pop <sebpop@gmail.com>
10707
10708 * testsuite/libgomp.graphite/pr4118.c: New.
10709
e19977d3
IS
107102009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10711
10712 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10713 for darwin, protect the test with require-effective-target tls_runtime.
10714 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10715
1d32a772
IS
107162009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10717
10718 PR target/41605
10719 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10720 link spec %s substitutions for static libraries.
10721
deb109b2
JH
107222009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10723
10724 PR testsuite/42135
10725 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10726
43e02a8a
RW
107272009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10728
10729 * Makefile.in: Regenerate.
10730 * configure: Regenerate.
10731 * testsuite/Makefile.in: Regenerate.
10732
17f35e23
DK
107332009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10734
10735 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10736 settings for LC_ALL and LANG.
10737
281e33e1
JJ
107382009-11-25 Jakub Jelinek <jakub@redhat.com>
10739
10740 PR fortran/42162
10741 * testsuite/libgomp.fortran/pr42162.f90: New test.
10742
2b32c27d
JJ
107432009-11-13 Jakub Jelinek <jakub@redhat.com>
10744
10745 PR middle-end/42029
281e33e1 10746 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10747
89c74f4a
JJ
107482009-10-26 Jakub Jelinek <jakub@redhat.com>
10749
10750 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10751 *s. Accept ld version without text in ()s.
10752 * configure: Regenerated.
10753
7e06c3d6
EB
107542009-10-22 Razya Ladelsky <razya@il.ibm.com>
10755
10756 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10757
0046b1a7
RW
107582009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10759
10760 PR libgomp/41418
10761 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10762 or a hyphen (happens with fortran language disabled).
10763 * configure: Regenerate.
10764
c82852f7
RW
107652009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10766
10767 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10768 use sed script portable to Solaris /bin/sed for extracting ld
10769 version.
10770 * configure: Regenerate.
10771
98f3eb1f
AM
107722009-09-17 Alexander Monakov <amonakov@ispras.ru>
10773
10774 * testsuite/libgomp.graphite/bounds.c: New test.
10775
878f62e5
RW
107762009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10777
10778 * Makefile.am (libgomp_la_LINK): New.
10779 * Makefile.in: Regenerate.
10780
df58e648
RW
107812009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10782
10783 * configure.ac (AC_PREREQ): Bump to 2.64.
10784
5213506e
RW
107852009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10786
70fa0efa
RW
10787 * Makefile.am (install-html, install-pdf): Remove.
10788 * Makefile.in: Regenerate.
10789
5213506e
RW
10790 * Makefile.in: Regenerate.
10791 * aclocal.m4: Regenerate.
10792 * config.h.in: Regenerate.
10793 * configure: Regenerate.
10794 * testsuite/Makefile.in: Regenerate.
10795
84fec8a5
RW
107962009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10797
10798 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10799 * Makefile.in: Regenerate.
10800
197c68cc
DK
108012009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10802
10803 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10804 * Makefile.in: Regenerate.
10805
693d54f2
TB
108062009-08-19 Tobias Burnus <burnus@net-b.de>
10807
10808 PR fortran/41102
10809 omp_lib.h.in: Fix -std=f95 errors.
10810
8cac884c
DE
108112009-08-14 David Edelsohn <edelsohn@gnu.org>
10812
10813 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10814 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10815 * testsuite/libgomp.graphite/graphite.exp: New.
10816
78729ee2
AT
108172009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10818
10819 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10820 only build.
10821
b13b7f39
DD
108222009-08-04 David Daney <ddaney@caviumnetworks.com>
10823
10824 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10825 needed memory barrier semantics.
10826 * config/linux/mips/mutex.h: New file.
10827
1b3b24c2
RW
108282009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10829
10830 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10831
396b7fa4
JM
108322009-07-16 Joseph Myers <joseph@codesourcery.com>
10833
10834 * configure: Regenerate.
10835
33cde516
RS
108362009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10837
10838 PR testsuite/40699
10839 PR testsuite/40707
10840 PR testsuite/40709
10841 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10842 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10843 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10844
bc21bfa5
RS
108452009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10846
10847 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10848 options when choosing a multilib.
10849
b30bfd40
RS
108502009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10851
10852 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10853 ld_library_path. Use add_path. Add just find_libgcc_s to
10854 ld_library_path, not every libgcc multilib directory.
10855 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10856 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10857 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10858 Use add_path.
10859 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10860
479c15c2
NF
108612009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10862
10863 * Makefile.am (LTLDFLAGS): Define.
10864 (LINK): Define.
10865 * Makefile.in: Regenerate.
10866
667e6f89
JB
108672009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10868
10869 PR fortran/39718
10870 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10871 libgfortranbegin, check existence of libgfortran.a instead of
10872 libgfortranbegin.a.
10873
6dea8e99
JJ
108742009-05-20 Jakub Jelinek <jakub@redhat.com>
10875
10876 PR libgomp/40174
10877 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10878 (gomp_free_pool_helper): Likewise.
10879
34d01e1d
VL
108802009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10881 Jakub Jelinek <jakub@redhat.com>
10882
10883 PR fortran/35423
10884 * testsuite/libgomp.fortran/workshare2.f90: New test.
10885
748086b7
JJ
108862009-04-09 Nick Clifton <nickc@redhat.com>
10887
10888 * iter.c: Change copyright header to refer to version 3 of the
10889 GNU General Public License with version 3.1 of the GCC Runtime
10890 Library Exception and to point readers at the COPYING3 and
10891 COPYING3.RUNTIME files and the FSF's license web page.
10892 * alloc.c: Likewise.
10893 * barrier.c: Likewise.
10894 * config/bsd/proc.c: Likewise.
10895 * config/linux/affinity.c: Likewise.
10896 * config/linux/alpha/futex.h: Likewise.
10897 * config/linux/bar.c: Likewise.
10898 * config/linux/bar.h: Likewise.
10899 * config/linux/ia64/futex.h: Likewise.
10900 * config/linux/ia64/mutex.h: Likewise.
10901 * config/linux/lock.c: Likewise.
10902 * config/linux/mips/futex.h: Likewise.
10903 * config/linux/mutex.c: Likewise.
10904 * config/linux/mutex.h: Likewise.
10905 * config/linux/powerpc/futex.h: Likewise.
10906 * config/linux/proc.c: Likewise.
10907 * config/linux/ptrlock.c: Likewise.
10908 * config/linux/ptrlock.h: Likewise.
10909 * config/linux/s390/futex.h: Likewise.
10910 * config/linux/sem.c: Likewise.
10911 * config/linux/sem.h: Likewise.
10912 * config/linux/sparc/futex.h: Likewise.
10913 * config/linux/wait.h: Likewise.
10914 * config/linux/x86/futex.h: Likewise.
10915 * config/mingw32/proc.c: Likewise.
10916 * config/mingw32/time.c: Likewise.
10917 * config/posix/affinity.c: Likewise.
10918 * config/posix/bar.c: Likewise.
10919 * config/posix/bar.h: Likewise.
10920 * config/posix/lock.c: Likewise.
10921 * config/posix/mutex.h: Likewise.
10922 * config/posix/proc.c: Likewise.
10923 * config/posix/ptrlock.h: Likewise.
10924 * config/posix/sem.c: Likewise.
10925 * config/posix/sem.h: Likewise.
10926 * config/posix/time.c: Likewise.
10927 * config/posix95/lock.c: Likewise.
10928 * critical.c: Likewise.
10929 * env.c: Likewise.
10930 * error.c: Likewise.
10931 * fortran.c: Likewise.
10932 * iter_ull.c: Likewise.
10933 * libgomp.h: Likewise.
10934 * libgomp_f.h.in: Likewise.
10935 * libgomp_g.h: Likewise.
10936 * loop.c: Likewise.
10937 * loop_ull.c: Likewise.
10938 * omp.h.in: Likewise.
10939 * omp_lib.f90.in: Likewise.
10940 * omp_lib.h.in: Likewise.
10941 * ordered.c: Likewise.
10942 * parallel.c: Likewise.
10943 * sections.c: Likewise.
10944 * single.c: Likewise.
10945 * task.c: Likewise.
10946 * team.c: Likewise.
10947 * work.c: Likewise.
10948
109492009-04-09 Jakub Jelinek <jakub@redhat.com>
10950
10951 * testsuite/config/default.exp: Change copyright header to refer to
10952 version 3 of the GNU General Public License and to point readers
10953 at the COPYING3 file and the FSF's license web page.
10954
4f0ae266
JJ
109552009-04-08 Jakub Jelinek <jakub@redhat.com>
10956
10957 PR middle-end/39573
10958 * libgomp.c++/pr39573.C: New test.
10959
03742a9b
JJ
109602009-04-01 Jakub Jelinek <jakub@redhat.com>
10961
10962 PR other/39591
10963 * testsuite/libgomp.c/pr39591-1.c: New test.
10964 * testsuite/libgomp.c/pr39591-2.c: New test.
10965 * testsuite/libgomp.c/pr39591-3.c: New test.
10966
e50ea10b
UB
109672009-03-25 Uros Bizjak <ubizjak@gmail.com>
10968
10969 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10970 * testsuite/libgomp.c/atomic-6.c: Ditto.
10971
c5cdb03f
JJ
109722009-03-23 Jakub Jelinek <jakub@redhat.com>
10973
10974 PR c/39495
10975 * testsuite/libgomp.c/loop-12.c: New test.
10976 * testsuite/libgomp.c/loop-11.c: New test.
10977 * testsuite/libgomp.c++/loop-11.C: New test.
10978 * testsuite/libgomp.c++/loop-12.C: New test.
10979 * testsuite/libgomp.c++/for-8.C: New test.
10980
7a9d3fe8
RW
109812009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10982
10983 * configure: Regenerate.
10984
3ad6b266
JJ
109852009-02-11 Jakub Jelinek <jakub@redhat.com>
10986
10987 PR middle-end/39154
10988 * testsuite/libgomp.c/pr39154.c: New test.
10989
b39dea08
ILT
109902009-01-30 Ian Lance Taylor <iant@google.com>
10991
10992 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10993 libgomp_ld_is_gold. Get gold version number.
10994 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10995 * configure: Rebuild.
10996
72c66596
IS
109972009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10998
e50ea10b 10999 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
11000 use libgfortran.a%s in their specs.
11001
876080ff
JJ
110022009-01-07 Jakub Jelinek <jakub@redhat.com>
11003
11004 PR libgomp/38086
11005 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11006 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11007 HAVE_AS_SYMVER_DIRECTIVE is not defined.
11008 * configure: Regenerated.
11009 * config.h.in: Likewise.
11010
e4ebaef3
JJ
110112008-12-28 Jakub Jelinek <jakub@redhat.com>
11012
11013 PR c++/38650
11014 * testsuite/libgomp.c/pr38650.c: New test.
11015 * testsuite/libgomp.c++/pr38650.C: New test.
11016
382017a6
JJ
110172008-12-27 Jakub Jelinek <jakub@redhat.com>
11018
11019 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11020
79644b27
UB
110212008-12-26 Uros Bizjak <ubizjak@gmail.com>
11022
11023 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11024
baafc534
RW
110252008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11026
11027 * configure: Regenerate.
11028
d9c194cb
JJ
110292008-12-08 Jakub Jelinek <jakub@redhat.com>
11030
11031 PR middle-end/36802
11032 * testsuite/libgomp.c/pr36802-1.c: New test.
11033 * testsuite/libgomp.c/pr36802-2.c: New test.
11034 * testsuite/libgomp.c/pr36802-3.c: New test.
11035
86a182bf
JJ
110362008-12-01 Janis Johnson <janis187@us.ibm.com>
11037
11038 PR libgomp/38270
11039 * config/linux/powerpc/mutex.h: New.
11040
956adfaf
JJ
110412008-12-01 Jakub Jelinek <jakub@redhat.com>
11042
a2d4cdc9
JJ
11043 PR c++/38257
11044 * testsuite/libgomp.c++/for-7.C: New test.
11045
956adfaf
JJ
11046 PR c++/38348
11047 * testsuite/libgomp.c++/for-6.C: New test.
11048
d4038ca2
JJ
110492008-11-26 Janis Johnson <janis187@us.ibm.com>
11050
11051 PR testsuite/28870
11052 * testsuite/lib/libgomp.exp: Include new timeout library files.
11053 (libgomp_target_compile): Set timeout value from new proc.
11054
8b159eea
SE
110552008-11-13 Steve Ellcey <sje@cup.hp.com>
11056
11057 PR libgomp/37938
11058 * config/linux/ia64/mutex.h: New.
11059
5c6ed53a
TB
110602008-11-04 Tobias Burnus <burnus@net-b.de>
11061
11062 PR libgomp/37935
11063 * libgomp.texi (Runtime library routines, environment variables):
11064 Update for OpenMP version 3.0.
11065
6b4a97ed
PG
110662008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
11067 Steve Ellcey <sje@cup.hp.com>
11068
11069 * configure: Regenerate for new libtool.
11070 * Makefile.in: Ditto.
11071 * testsuite/Makefile.in: Ditto.
11072
e2b34106
JJ
110732008-09-19 Jakub Jelinek <jakub@redhat.com>
11074 Andreas Tobler <a.tobler@schweiz.org>
11075
11076 * config/bsd/proc.c: New file.
8c3b3600 11077 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
11078 * configure.ac: Check for header <sys/sysctl.h>
11079 * configure: Regenerate.
11080 * config.h.in: Likewise.
11081
3606b8bf
JJ
110822008-09-05 Janis Johnson <janis187@us.ibm.com>
11083
11084 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11085
6528b88d
AL
110862008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
11087
11088 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11089 * Makefile.in: Regenerated.
11090 * testsuite/Makefile.in: Regenerated.
11091
d9b14b12 110922008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 11093
a16b68bb 11094 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
11095 depend on blddir if blddir exists.
11096 (libgomp_target_compile): Likewise.
11097 * testsuite/libgomp.c++/c++.exp: Likewise.
11098 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11099
70b1e376
RW
111002008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11101
11102 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
11103 Do not list GPL as Invariant Section.
11104
318e8c3f
IG
111052008-07-28 Ilie Garbacea <ilie@mips.com>
11106 Chao-ying Fu <fu@mips.com>
11107
11108 * configure.tgt: Enable futex for MIPS.
11109 * config/linux/mips/futex.h: New file.
11110
4db72361
JJ
111112008-07-16 Jakub Jelinek <jakub@redhat.com>
11112
11113 * team.c (gomp_team_end): Free team immediately if it has
11114 just one thread.
11115
87bd23b8
DE
111162008-07-08 David Edelsohn <edelsohn@gnu.org>
11117
11118 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11119 * testsuite/libgomp.fortran/fortran.exp: Same.
11120 * testsuite/libgomp.c/c.exp: Same.
11121 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11122 directory to library path first.
11123
323ff903
KW
111242008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
11125
11126 * env.c (parse_stacksize): Add cast to avoid warning.
11127 (parse_spincount): Likewise.
11128
b357f682
JJ
111292008-06-27 Jakub Jelinek <jakub@redhat.com>
11130
ca2b1311
JJ
11131 * testsuite/libgomp.c/loop-10.c: New test.
11132 * libgomp.c/loop-3.c (main): Add lastprivate clause.
11133 * libgomp.c++/loop-6.C (main): Likewise.
11134
b357f682
JJ
11135 PR debug/36617
11136 * testsuite/libgomp.c/debug-1.c: New test.
11137
09a46078
JJ
111382008-06-19 Jakub Jelinek <jakub@redhat.com>
11139
11140 * testsuite/libgomp.c/nqueens-1.c: New test.
11141
2368a460
JJ
11142 PR c++/36523
11143 * testsuite/libgomp.c++/task-7.C: New function.
11144
18c04407
RW
111452008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11146
11147 * configure: Regenerate.
11148
9c4e59e0
JDA
111492008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11150
11151 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11152 mutex when HAVE_SYNC_BUILTINS isn't defined.
11153
6ccde948
RW
111542008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11155
11156 * libgomp.texi (omp_test_lock): Fix typo.
11157
b896f9fd
TB
111582008-06-12 Tobias Burnus <burnus@net-b.de>
11159
11160 * omp_lib.f90.in: Add "implicit none".
11161
c34938a8
JJ
111622008-06-12 Jakub Jelinek <jakub@redhat.com>
11163
11164 PR middle-end/36506
11165 * testsuite/libgomp.c/reduction-5.c: New test.
11166
976e44e3
JJ
111672008-06-11 Jakub Jelinek <jakub@redhat.com>
11168
5f836cbb
JJ
11169 * libgomp.h (struct gomp_task): Add in_tied_task field.
11170 * task.c (gomp_init_task): Initialize it.
11171 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
11172 unconditionally. Don't call gomp_team_barrier_wake if
11173 current task is implicit or if(0) from implicit and number of
11174 running tasks is equal to nthreads - 1.
11175
01501fc8
JJ
11176 PR libgomp/36471
11177 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11178 omp_get_team_size_8): Fix pastos.
11179
976e44e3
JJ
11180 PR libgomp/36469
11181 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11182 * configure: Regenerated.
11183 * config.h.in: Regenerated.
11184 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11185 defined.
11186
e919209b
AT
111872008-06-06 Andreas Tobler <a.tobler@schweiz.org>
11188
11189 PR bootstrap/36452
11190 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11191 (GOMP_loop_ull_dynamic_start): Likewise.
11192 (GOMP_loop_ull_guided_start): Likewise.
11193 (GOMP_loop_ull_ordered_static_start): Likewise.
11194 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11195 (GOMP_loop_ull_ordered_guided_start): Likewise.
11196
a68ab351
JJ
111972008-06-06 Jakub Jelinek <jakub@redhat.com>
11198 Richard Henderson <rth@redhat.com>
11199 Ulrich Drepper <drepper@redhat.com>
11200 Jakob Blomer <jakob.blomer@ira.uka.de>
11201
11202 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11203 Substitute also OMP_*LOCK_25*.
11204 * configure: Regenerated.
11205 * config.h.in: Regenerated.
11206 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11207 ptrlock.c and task.c.
11208 * Makefile.in: Regenerated.
11209 * testsuite/Makefile.in: Regenerated.
11210 * task.c: New file.
11211 * loop_ull.c: New file.
11212 * iter_ull.c: New file.
11213 * libgomp.h: Include ptrlock.h.
11214 (enum gomp_task_kind): New type.
11215 (struct gomp_team): Add task_lock, task_queue, task_count,
11216 task_running_count, single_count fields. Add
11217 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11218 Remove work_share_lock, generation_mask,
11219 oldest_live_gen, num_live_gen and init_work_shares fields, add
11220 work work_share_list_alloc, work_share_list_free and work_share_chunk
11221 fields. Change work_shares from pointer to pointers into an array.
11222 Change ordered_release field into gomp_sem_t ** from flexible array
11223 member. Add implicit_task and initial_work_shares fields.
11224 Move close to the end of the struct.
11225 (struct gomp_team_state): Add single_count, last_work_share,
11226 active_level and level fields, remove work_share_generation.
11227 (gomp_barrier_handle_tasks): New prototype.
11228 (gomp_finish_task): New inline function.
11229 (struct gomp_work_share): Move chunk_size, end, incr into
11230 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11231 next_ll fields. Reshuffle fields. Add next_alloc,
11232 next_ws, next_free and inline_ordered_team_ids fields, change
11233 ordered_team_ids into pointer from flexible array member.
11234 Add mode field. Put lock and next into a different cache line
11235 from most of the write-once fields.
11236 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11237 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11238 gomp_iter_ull_guided_next): New prototypes.
11239 (gomp_new_icv): New prototype.
11240 (struct gomp_thread): Add thread_pool and task fields.
11241 (struct gomp_thread_pool): New type.
11242 (gomp_new_team): New prototype.
11243 (gomp_team_start): Change type of last argument.
11244 (gomp_new_work_share): Removed.
11245 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11246 (gomp_work_share_init_done): New static inline.
11247 (gomp_throttled_spin_count_var, gomp_available_cpus,
11248 gomp_managed_threads): New extern decls.
11249 (gomp_init_task): New prototype.
11250 (gomp_spin_count_var): New extern var decl.
11251 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11252 or no alias support, or if not PIC.
11253 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11254 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11255 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11256 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11257 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11258 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11259 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11260 gomp_test_nest_lock_25): New prototypes.
11261 (omp_lock_symver, strong_alias): Define.
11262 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11263 decls.
11264 (gomp_end_task): New.
11265 (struct gomp_task_icv, gomp_global_icv): New.
11266 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11267 (struct gomp_task): New.
11268 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11269 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11270 (gomp_icv): New.
11271 (gomp_schedule_type): Reorder enum to match
11272 omp_sched_t.
11273 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11274 fields.
11275 (gomp_thread_start): Add gomp_team_barrier_wait call.
11276 For non-nested case remove clearing of docked thread thr fields.
11277 Use pool fields instead of global gomp_* variables. Use
11278 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11279 Create tasks for each member thread.
11280 (free_team): Only destroy team barrier, task_lock here and free it.
11281 (gomp_free_thread): Free last_team if non-NULL.
11282 (gomp_team_end): Call gomp_team_barrier_wait instead of
11283 gomp_barrier_wait. For nested case call one extra
11284 gomp_barrier_wait. Move here some destruction from free_team.
11285 Call free_team on pool->last_team if any, rather than freeing
11286 current team. Destroy work_share_list_free_lock ifndef
11287 HAVE_SYNC_BUILTINS.
11288 (gomp_new_icv): New function.
11289 (gomp_threads, gomp_threads_size, gomp_threads_used,
11290 gomp_threads_dock): Removed.
11291 (gomp_thread_destructor): New variable.
11292 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11293 functions.
11294 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 11295 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
11296 Initialize thread_pool field for new threads. Clear single_count.
11297 Change last argument from ws to team, don't create
11298 new team, set ts.work_share to &team->work_shares[0] and clear
11299 ts.last_work_share. Don't clear ts.work_share_generation.
11300 If number of threads changed, adjust atomically gomp_managed_threads.
11301 Use gomp_init_task instead of gomp_new_task,
11302 set thr->task to the corresponding implicit_task array entry.
11303 Create tasks for each member thread. Initialize ts.level.
11304 (initialize_team): Call pthread_key_create on
11305 gomp_thread_destructor.
11306 (team_destructor): New function.
11307 (new_team): Removed.
11308 (gomp_new_team): New function.
11309 (free_team): Free gomp_work_share blocks chained through next_alloc,
11310 instead of freeing work_shares and destroying work_share_lock.
11311 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11312 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11313 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11314 of gomp_barrier_wait.
11315 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11316 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11317 if gomp_work_share_start returned true. Don't unlock ws->lock.
11318 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11319 of gomp_barrier_wait.
11320 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11321 gomp_work_share_init_done if gomp_work_share_start returned true.
11322 Don't unlock ws->lock.
11323 * work.c: Include stddef.h.
11324 (free_work_share): Use work_share_list_free_lock instead
11325 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11326 Call gomp_fini_work_share and then either free ws if orphaned, or
11327 put it into work_share_list_free list of the current team.
11328 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11329 functions.
11330 (gomp_work_share_start, gomp_work_share_end,
11331 gomp_work_share_end_nowait): Rewritten.
11332 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11333 (openmp_version): Set to 200805.
11334 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11335 omp_sched_guided, omp_sched_auto): New parameters.
11336 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11337 omp_set_max_active_levels, omp_get_max_active_levels,
11338 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11339 omp_get_active_level): New interfaces.
11340 * omp_lib.h.in (openmp_version): Set to 200805.
11341 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11342 omp_sched_guided, omp_sched_auto): New parameters.
11343 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11344 omp_set_max_active_levels, omp_get_max_active_levels,
11345 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11346 omp_get_active_level): New externals.
11347 * loop.c: Include limits.h.
11348 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11349 GFS_AUTO.
11350 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11351 Likewise. Use gomp_icv.
11352 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11353 ts.static_trip here.
11354 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11355 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11356 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11357 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11358 don't unlock ws->lock, otherwise lock it.
11359 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11360 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11361 (gomp_parallel_loop_start): Call gomp_new_team instead of
11362 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11363 Adjust gomp_team_start caller. Pass 0 as second argument to
11364 gomp_resolve_num_threads.
11365 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11366 If adding ws->chunk_size nthreads + 1 times after end won't
11367 overflow, set ws->mode to 1.
11368 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11369 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11370 GOMP_loop_ull_ordered_static_start,
11371 GOMP_loop_ull_ordered_dynamic_start,
11372 GOMP_loop_ull_ordered_guided_start,
11373 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11374 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11375 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11376 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11377 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11378 prototypes.
11379 * libgomp.map: Export lock routines also @@OMP_2.0.
11380 (GOMP_loop_ordered_dynamic_first,
11381 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11382 GOMP_loop_ordered_static_first): Remove.
11383 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11384 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11385 GOMP_loop_ull_ordered_dynamic_next,
11386 GOMP_loop_ull_ordered_dynamic_start,
11387 GOMP_loop_ull_ordered_guided_next,
11388 GOMP_loop_ull_ordered_guided_start,
11389 GOMP_loop_ull_ordered_runtime_next,
11390 GOMP_loop_ull_ordered_runtime_start,
11391 GOMP_loop_ull_ordered_static_next,
11392 GOMP_loop_ull_ordered_static_start,
11393 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11394 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11395 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11396 (omp_set_schedule, omp_get_schedule,
11397 omp_get_thread_limit, omp_set_max_active_levels,
11398 omp_get_max_active_levels, omp_get_level,
11399 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11400 omp_set_schedule_, omp_set_schedule_8_,
11401 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11402 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11403 omp_get_max_active_levels_, omp_get_level_,
11404 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11405 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11406 New exports @@OMP_3.0.
11407 * omp.h.in (omp_sched_t): New type.
11408 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11409 omp_set_max_active_levels, omp_get_max_active_levels,
11410 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11411 omp_get_active_level): New prototypes.
11412 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11413 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11414 gomp_thread_limit_var, gomp_remaining_threads_count,
11415 gomp_remaining_threads_lock): New variables.
11416 (parse_spincount): New function.
11417 (initialize_env): Call gomp_init_num_threads unconditionally.
11418 Initialize gomp_available_cpus. Call parse_spincount,
11419 initialize gomp_{,throttled_}spin_count_var
11420 depending on presence and value of OMP_WAIT_POLICY and
11421 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11422 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11423 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11424 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11425 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11426 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11427 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11428 (gomp_global_icv): New.
11429 (parse_schedule): Use it. Parse "auto".
11430 (omp_set_num_threads): Use gomp_icv.
11431 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11432 Likewise.
11433 (omp_get_max_threads): Move from parallel.c.
11434 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11435 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11436 add ialias.
11437 (parse_stacksize, parse_wait_policy): New functions.
11438 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11439 both wrappers for compatibility and new locks.
11440 (omp_set_schedule, omp_get_schedule,
11441 omp_get_thread_limit, omp_set_max_active_levels,
11442 omp_get_max_active_levels, omp_get_level,
11443 omp_get_ancestor_thread_num, omp_get_team_size,
11444 omp_get_active_level): New ialias_redirect.
11445 (omp_set_schedule_, omp_set_schedule_8_,
11446 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11447 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11448 omp_get_max_active_levels_, omp_get_level_,
11449 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11450 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11451 New functions.
11452 * parallel.c: Include limits.h.
11453 (gomp_resolve_num_threads): Add count argument. Rewritten.
11454 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11455 argument to gomp_team_start. Pass 0 as second argument to
11456 gomp_resolve_num_threads.
11457 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11458 if gomp_thread_limit_var != ULONG_MAX.
11459 (omp_in_parallel): Implement using ts.active_level.
11460 (omp_get_max_threads): Move to env.c.
11461 (omp_get_level, omp_get_ancestor_thread_num,
11462 omp_get_team_size, omp_get_active_level): New functions,
11463 add ialias.
11464 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11465 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11466 gomp_iter_dynamic_next instead of the _locked variant and don't take
11467 lock around it, otherwise acquire it before calling
11468 gomp_iter_dynamic_next_locked.
11469 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11470 gomp_iter_dynamic_next instead of the _locked variant and don't take
11471 lock around it.
11472 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11473 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11474 Adjust gomp_team_start caller. Pass count as second argument to
11475 gomp_resolve_num_threads, don't adjust num_threads after the call.
11476 Use gomp_icv.
11477 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11478 ws->chunk_size by incr.
11479 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11480 code.
11481 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11482 types.
11483 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11484 (omp_check_defines): Check even the compat defines.
11485 * config/linux/ptrlock.c: New file.
11486 * config/linux/ptrlock.h: New file.
11487 * config/linux/wait.h: New file.
11488 * config/posix/ptrlock.c: New file.
11489 * config/posix/ptrlock.h: New file.
11490 * config/linux/bar.h (gomp_team_barrier_wait,
11491 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11492 (gomp_team_barrier_set_task_pending,
11493 gomp_team_barrier_clear_task_pending,
11494 gomp_team_barrier_set_waiting_for_tasks,
11495 gomp_team_barrier_waiting_for_tasks,
11496 gomp_team_barrier_done): New inlines.
11497 (gomp_barrier_t): Rewritten.
11498 (gomp_barrier_state_t): New typedef.
11499 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11500 gomp_barrier_wait_start): Rewritten.
11501 (gomp_barrier_wait_end): Change second argument to
11502 gomp_barrier_state_t.
11503 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11504 inlines.
11505 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11506 futex.h.
11507 (gomp_barrier_wait_end): Rewritten.
11508 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11509 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11510 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11511 (gomp_barrier_state_t): New typedef.
11512 (gomp_team_barrier_wait,
11513 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11514 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11515 into the return value. Return gomp_barrier_state_t.
11516 (gomp_team_barrier_set_task_pending,
11517 gomp_team_barrier_clear_task_pending,
11518 gomp_team_barrier_set_waiting_for_tasks,
11519 gomp_team_barrier_waiting_for_tasks,
11520 gomp_team_barrier_done): New inlines.
11521 (gomp_barrier_wait_end): Change second argument to
11522 gomp_barrier_state_t.
11523 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11524 inlines.
11525 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11526 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11527 gomp_barrier_state_t.
a68ab351
JJ
11528 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11529 gomp_team_barrier_wake): New functions.
11530 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11531 futex.h.
11532 (gomp_futex_wake, gomp_futex_wait): New variables.
11533 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11534 * config/linux/lock.c: Rewrite to make locks task owned,
11535 for backwards compatibility provide the old entrypoints
11536 if symbol versioning. Include wait.h instead of libgomp.h and
11537 futex.h.
11538 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11539 * config/posix95/lock.c: Rewrite to make locks task owned,
11540 for backwards compatibility provide the old entrypoints
11541 if symbol versioning.
11542 * config/posix/lock.c: Rewrite to make locks task owned,
11543 for backwards compatibility provide the old entrypoints
11544 if symbol versioning.
11545 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11546 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11547 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11548 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11549 (sys_futex0): Return error code.
11550 (futex_wake, futex_wait): If ENOSYS was returned, clear
11551 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11552 (cpu_relax, atomic_write_barrier): New static inlines.
11553 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11554 (futex_wake, futex_wait): If ENOSYS was returned, clear
11555 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11556 (cpu_relax, atomic_write_barrier): New static inlines.
11557 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11558 (sys_futex0): Return error code.
11559 (futex_wake, futex_wait): If ENOSYS was returned, clear
11560 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11561 (cpu_relax, atomic_write_barrier): New static inlines.
11562 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11563 (sys_futex0): Return error code.
11564 (futex_wake, futex_wait): If ENOSYS was returned, clear
11565 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11566 (cpu_relax, atomic_write_barrier): New static inlines.
11567 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11568 (sys_futex0): Return error code.
11569 (futex_wake, futex_wait): If ENOSYS was returned, clear
11570 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11571 (cpu_relax, atomic_write_barrier): New static inlines.
11572 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11573 (sys_futex0): Return error code.
11574 (futex_wake, futex_wait): If ENOSYS was returned, clear
11575 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11576 (cpu_relax, atomic_write_barrier): New static inlines.
11577 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11578 futex.h.
11579 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11580 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11581 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11582 types.
11583 (omp_nest_lock_t): Change owner into void *, add lock field.
11584 * config/posix95/omp-lock.h: Include semaphore.h.
11585 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11586 (omp_lock_t): Use sem_t instead of mutex if semaphores
11587 aren't broken.
11588 (omp_nest_lock_t): Likewise. Change owner to void *.
11589 * config/posix/omp-lock.h: Include semaphore.h.
11590 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11591 (omp_lock_t): Use sem_t instead of mutex if semaphores
11592 aren't broken.
11593 (omp_nest_lock_t): Likewise. Add owner field.
11594
115952008-06-06 Jakub Jelinek <jakub@redhat.com>
11596
11597 * testsuite/libgomp.c/collapse-1.c: New test.
11598 * testsuite/libgomp.c/collapse-2.c: New test.
11599 * testsuite/libgomp.c/collapse-3.c: New test.
11600 * testsuite/libgomp.c/icv-1.c: New test.
11601 * testsuite/libgomp.c/icv-2.c: New test.
11602 * testsuite/libgomp.c/lib-2.c: New test.
11603 * testsuite/libgomp.c/lock-1.c: New test.
11604 * testsuite/libgomp.c/lock-2.c: New test.
11605 * testsuite/libgomp.c/lock-3.c: New test.
11606 * testsuite/libgomp.c/loop-4.c: New test.
11607 * testsuite/libgomp.c/loop-5.c: New test.
11608 * testsuite/libgomp.c/loop-6.c: New test.
11609 * testsuite/libgomp.c/loop-7.c: New test.
11610 * testsuite/libgomp.c/loop-8.c: New test.
11611 * testsuite/libgomp.c/loop-9.c: New test.
11612 * testsuite/libgomp.c/nested-3.c: New test.
11613 * testsuite/libgomp.c/nestedfn-6.c: New test.
11614 * testsuite/libgomp.c/sort-1.c: New test.
11615 * testsuite/libgomp.c/task-1.c: New test.
11616 * testsuite/libgomp.c/task-2.c: New test.
11617 * testsuite/libgomp.c/task-3.c: New test.
11618 * testsuite/libgomp.c/task-4.c: New test.
11619 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11620 to C++ testsuite default compiler options.
11621 * testsuite/libgomp.c++/collapse-1.C: New test.
11622 * testsuite/libgomp.c++/collapse-2.C: New test.
11623 * testsuite/libgomp.c++/ctor-10.C: New test.
11624 * testsuite/libgomp.c++/for-1.C: New test.
11625 * testsuite/libgomp.c++/for-2.C: New test.
11626 * testsuite/libgomp.c++/for-3.C: New test.
11627 * testsuite/libgomp.c++/for-4.C: New test.
11628 * testsuite/libgomp.c++/for-5.C: New test.
11629 * testsuite/libgomp.c++/loop-8.C: New test.
11630 * testsuite/libgomp.c++/loop-9.C: New test.
11631 * testsuite/libgomp.c++/loop-10.C: New test.
11632 * testsuite/libgomp.c++/task-1.C: New test.
11633 * testsuite/libgomp.c++/task-2.C: New test.
11634 * testsuite/libgomp.c++/task-3.C: New test.
11635 * testsuite/libgomp.c++/task-4.C: New test.
11636 * testsuite/libgomp.c++/task-5.C: New test.
11637 * testsuite/libgomp.c++/task-6.C: New test.
11638 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11639 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11640 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11641 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11642 * testsuite/libgomp.fortran/collapse1.f90: New test.
11643 * testsuite/libgomp.fortran/collapse2.f90: New test.
11644 * testsuite/libgomp.fortran/collapse3.f90: New test.
11645 * testsuite/libgomp.fortran/collapse4.f90: New test.
11646 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11647 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11648 * testsuite/libgomp.fortran/lib4.f90: New test.
11649 * testsuite/libgomp.fortran/lock-1.f90: New test.
11650 * testsuite/libgomp.fortran/lock-2.f90: New test.
11651 * testsuite/libgomp.fortran/nested1.f90: New test.
11652 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11653 * testsuite/libgomp.fortran/strassen.f90: New test.
11654 * testsuite/libgomp.fortran/tabs1.f90: New test.
11655 * testsuite/libgomp.fortran/tabs2.f: New test.
11656 * testsuite/libgomp.fortran/task1.f90: New test.
11657 * testsuite/libgomp.fortran/task2.f90: New test.
11658 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11659 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11660 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11661 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11662 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11663
7a0112e7
JJ
116642008-05-23 Jakub Jelinek <jakub@redhat.com>
11665
11666 PR c++/36308
11667 * testsuite/libgomp.c++/ctor-11.C: New test.
11668 * testsuite/libgomp.c++/ctor-12.C: New test.
11669
91a5b394
JJ
116702008-05-15 Janis Johnson <janis187@us.ibm.com>
11671
11672 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11673
c18c98c0
JJ
116742008-05-07 Jakub Jelinek <jakub@redhat.com>
11675
11676 PR middle-end/36106
11677 * testsuite/libgomp.c/atomic-5.c: New test.
11678 * testsuite/libgomp.c/atomic-6.c: New test.
11679 * testsuite/libgomp.c/autopar-1.c: New test.
11680
6d26724a
RW
116812008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11682
11683 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11684 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11685 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11686 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11687 * configure: Regenerate.
11688 * Makefile.in, testsuite/Makefile.in: Likewise.
11689
deb984e6
PB
116902008-04-18 Paolo Bonzini <bonzini@gnu.org>
11691
11692 PR bootstrap/35457
11693 * aclocal.m4: Regenerate.
11694 * configure: Regenerate.
11695
9e775963
JJ
116962008-03-18 Jakub Jelinek <jakub@redhat.com>
11697
8119fc93
JJ
11698 PR middle-end/35611
11699 * testsuite/libgomp.c/atomic-4.c: New test.
11700
9e775963
JJ
11701 PR libgomp/35625
11702 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11703 (gomp_iter_guided_next): Likewise.
11704 * testsuite/libgomp.c/pr35625.c: New test.
11705
38d24731
RW
117062008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11707
11708 * aclocal.m4: Regenerate.
11709 * configure: Likewise.
11710 * Makefile.in: Likewise.
11711 * testsuite/Makefile.in: Likewise.
11712
d0fb20be
JJ
117132008-03-13 Jakub Jelinek <jakub@redhat.com>
11714
11715 PR middle-end/35185
11716 * testsuite/libgomp.c++/pr35185.C: New test.
11717
7c8f7639
JJ
117182008-03-12 Jakub Jelinek <jakub@redhat.com>
11719
11720 PR middle-end/35549
11721 * testsuite/libgomp.c/pr35549.c: New test.
11722
251923f5
JJ
117232008-03-06 Jakub Jelinek <jakub@redhat.com>
11724
11725 * testsuite/libgomp.c/atomic-3.c: New test.
11726
f489fba1
FXC
117272008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11728
11729 PR fortran/33197
251923f5 11730 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11731 .F08 file suffixes.
11732
a1b25e49
PG
117332008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11734
11735 PR libgomp/33131
11736 * configure.ac: Add ACX_HEADER_STRING.
11737 * env.c: Include strings.h.
11738 * aclocal.m4: Regenerate.
11739 * config.h.in: Regenerate.
11740 * configure: Regenerate.
11741 * Makefile.in: Regenerate.
11742 * testsuite/Makefile.in: Regenerate.
11743
6837b3b8
JJ
117442008-02-15 Jakub Jelinek <jakub@redhat.com>
11745
ac84c062
JJ
11746 PR middle-end/35196
11747 * testsuite/libgomp.c/pr35196.c: New test.
11748
6837b3b8
JJ
11749 PR middle-end/35130
11750 * testsuite/libgomp.fortran/pr35130.f90: New test.
11751 * testsuite/libgomp.c/pr35130.c: New test.
11752
c256730c
JJ
117532008-01-25 Jakub Jelinek <jakub@redhat.com>
11754
11755 PR middle-end/33880
11756 * testsuite/libgomp.c/pr33880.c: New test.
11757 * testsuite/libgomp.fortran/pr33880.f90: New test.
11758
c8e95542 117592008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
11760
11761 * configure: Regenerate.
11762
0f3e711e
JJ
117632008-01-08 Jakub Jelinek <jakub@redhat.com>
11764
11765 * configure.ac: Move futex checking into ../config/futex.m4.
11766 * configure: Rebuilt.
11767 * aclocal.m4: Rebuilt.
11768 * Makefile.in: Rebuilt.
11769
11770 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11771 2007-10-15 ../config/tls.m4 change.
11772
5259c813
JJ
117732007-12-19 Jakub Jelinek <jakub@redhat.com>
11774
11775 PR c++/34513
11776 * testsuite/libgomp.c/pr34513.c: New test.
11777 * testsuite/libgomp.c++/pr34513.C: New test.
11778
ae8d8879
JH
117792007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11780
11781 PR target/32765
11782 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11783
2b4cf991
JJ
117842007-12-04 Jakub Jelinek <jakub@redhat.com>
11785
11786 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11787
d2dda7fe
JJ
117882007-12-03 Jakub Jelinek <jakub@redhat.com>
11789
11790 * testsuite/libgomp.c/private-1.c: New test.
11791
d683ec81
PB
117922007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11793 Paolo Bonzini <bonzini@gnu.org>
11794
11795 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11796 instead of 'VPATH ='.
11797 * Makefile.in: Regenerate.
11798
a7415017
MK
117992007-11-23 Matthias Klose <doko@ubuntu.com>
11800
11801 * configure.ac: Adjust makeinfo version check.
11802 * configure: Regenerate.
11803
78e47463
JJ
118042007-11-10 Jakub Jelinek <jakub@redhat.com>
11805
11806 PR fortran/34020
11807 * testsuite/libgomp.fortran/pr34020.f90: New test.
11808
239371f9
JJ
118092007-11-06 Jakub Jelinek <jakub@redhat.com>
11810
11811 PR c++/33894
11812 * testsuite/libgomp.c++/atomic-1.C: New test.
11813
98a5fa94
JJ
118142007-10-25 Jakub Jelinek <jakub@redhat.com>
11815
11816 PR libgomp/33275
11817 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11818 Make x and y integers rather than (implicit) reals. Add private (j)
11819 clause to the last omp parallel.
11820
3afcaaf4
MR
118212007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11822
11823 * configure: Regenerate following changes to ../config/tls.m4.
11824
bd69daef
JJ
118252007-09-28 Jakub Jelinek <jakub@redhat.com>
11826
11827 * testsuite/libgomp.fortran/stack.f90: New test.
11828
1d0bd356
DS
118292007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11830
11831 * config/mingw32/proc.c: New file.
11832
b3172cab
UB
118332007-09-05 Uros Bizjak <ubizjak@gmail.com>
11834
11835 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11836 (main): Use __get_cpuid to get i386 target fetaures.
11837 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11838 (main): Use __get_cpuid to get x86_64 target fetaures.
11839
6da17392
JH
118402007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11841
11842 PR target/32765
11843 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11844 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11845
e1c82219
JJ
118462007-07-12 Jakub Jelinek <jakub@redhat.com>
11847
11848 PR fortran/32550
11849 * testsuite/libgomp.fortran/pr32550.f90: New test.
11850 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11851
12a27363
L
118522007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11853
11854 * aclocal.m4: Regenerated.
11855
5349080d
TB
118562007-07-05 Tobias Burnus <burnus@net-b.de>
11857
11858 PR fortran/32359
11859 * testsuite/libgomp.fortran/pr32359.f90: New.
11860
4f9c450c
JJ
118612007-07-02 Jakub Jelinek <jakub@redhat.com>
11862
11863 PR libgomp/32468
11864 * sections.c (GOMP_parallel_sections_start): Only decrease
11865 number of threads to COUNT if dyn_var is true.
11866 * testsuite/libgomp.c/pr32468.c: New test.
11867
28c67ed7
RO
118682007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11869
11870 PR libgomp/26308
11871 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11872
64964499
JJ
118732007-06-21 Jakub Jelinek <jakub@redhat.com>
11874
11875 PR middle-end/32362
11876 * testsuite/libgomp.c/pr32362-1.c: New test.
11877 * testsuite/libgomp.c/pr32362-2.c: New test.
11878 * testsuite/libgomp.c/pr32362-3.c: New test.
11879
46d8fbd1
JJ
118802007-06-07 Jakub Jelinek <jakub@redhat.com>
11881
11882 * team.c (gomp_team_start): Fix setting up thread_attr
11883 stack size.
11884
82a6cadf
PB
118852007-06-02 Paolo Bonzini <bonzini@gnu.org>
11886
11887 * configure: Regenerate.
11888
1cf3d07d
SE
118892007-05-23 Steve Ellcey <sje@cup.hp.com>
11890
11891 * Makefile.in: Regenerate.
11892 * configure: Regenerate.
11893 * aclocal.m4: Regenerate.
11894 * testsuite/Makefile.in: Regenerate.
11895
12aac30b
JJ
118962007-05-04 Jakub Jelinek <jakub@redhat.com>
11897
11898 * config/linux/proc.c: New file.
11899
f1028b02
JJ
11900 PR libgomp/28482
11901 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11902
06785a48
DF
119032007-04-19 Daniel Franke <franke.daniel@gmail.com>
11904
11905 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11906
b3b08ba0
MK
119072007-04-16 Matthias Klose <doko@debian.org>
11908
11909 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11910 flags if not building with -m64.
11911 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11912 flag for i?86-*-* targets, if current target matches -m64.
11913
6b2c5ce0
SE
119142007-04-14 Steve Ellcey <sje@cup.hp.com>
11915
11916 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11917 * Makefile.in: Regenerate.
11918
dd56fe7c
JDA
119192007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11920
11921 PR testsuite/31369
11922 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11923 ld_library_path.
11924 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11925
a0884cf0
JJ
119262007-04-04 Jakub Jelinek <jakub@redhat.com>
11927
11928 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11929 decls.
11930 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11931 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11932 (parse_affinity): New function.
11933 (initialize_env): Call it and gomp_init_affinity.
11934 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11935 create new pthread_attr_t and call gomp_init_thread_affinity
11936 on it for each thread before passing the attribute to pthread_create.
11937 * config/linux/affinity.c: New file.
11938 * config/posix/affinity.c: New file.
11939 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11940 * configure: Rebuilt.
11941 * config.h.in: Rebuilt.
11942 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11943 * Makefile.in: Rebuilt.
11944
1850744b
AT
119452007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11946
11947 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11948 *-*-darwin*.
11949 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11950 and use it if found.
11951
516f1ed8
UB
119522007-03-18 Uros Bizjak <ubizjak@gmail.com>
11953
11954 * testsuite/config/default.exp: New file.
11955 * testsuite/lib/libgomp.exp: New file.
11956 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11957 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11958 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11959 (libgomp_load): Remove.
11960 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11961 always_ld_library_path, not ld_library_path. Set additional_flags
11962 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11963 (target_compile): Do not call libgomp_init. Append lang_library_path
11964 and lang_link_flags to options.
11965 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11966 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11967 here.
11968 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11969 always_ld_library_path. Set LD_LIBRARY_PATH here.
11970 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11971 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11972 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11973 CX8 flag.
11974 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11975 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11976 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11977 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11978 * testsuite/libgomp.c/atomic-10.c: Ditto.
11979
2ada56f5
JJ
119802007-03-21 Jakub Jelinek <jakub@redhat.com>
11981
11982 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11983 dg-final cleanup-modules line.
11984 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11985 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11986 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11987 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11988 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11989 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11990 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11991
f210f1cd
AS
119922007-03-18 Andreas Schwab <schwab@suse.de>
11993
11994 * acinclude.m4: Adjust regular expression for ld version
11995 extraction.
11996 * configure: Regenerate.
11997
c4dc950d
BM
119982007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11999
12000 * Makefile.am: Add install-pdf target as copied from
12001 automake v1.10 rules.
12002 * Makefile.in: Regenerate
12003
e02a048f
JJ
120042007-02-07 Jakub Jelinek <jakub@redhat.com>
12005
78e075d4
JJ
12006 PR libgomp/28486
12007 * configure: Regenerate.
12008
e02a048f
JJ
12009 PR c++/30703
12010 * testsuite/libgomp.c++/pr30703.C: New test.
12011
60def7ed
JJ
120122007-02-02 Jakub Jelinek <jakub@redhat.com>
12013
12014 Revert:
12015 2006-07-05 Eric Christopher <echristo@apple.com>
12016 * configure.ac: Depend addition of -pthread on host OS.
12017 * configure: Regenerate.
12018
f1b0882e
RW
120192007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12020
12021 * libgomp.texi: Fix spacing after abbreviations.
12022
748b9d7c
DF
120232007-01-31 Daniel Franke <franke.daniel@gmail.com>
12024
12025 PR libgomp/30546
12026 * configure.ac: Add check for makeinfo
12027 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 12028 if an appropriate version of makeinfo is found.
748b9d7c
DF
12029 * aclocal.m4: Regenerated.
12030 * configure: Regenerated.
12031 * Makefile.in: Regenerated.
12032 * testsuite/Makefile.in: Regenerated.
12033
14734fc7
DF
120342007-01-29 Daniel Franke <franke.daniel@gmail.com>
12035
12036 PR libgomp/30540
12037 * libgomp.texi: More about implementation-dependent settings.
12038
7befd5d2
TB
120392007-01-26 Tobias Burnus <burnus@net-b.de>
12040
12041 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12042
4288fea2
JJ
120432007-01-24 Jakub Jelinek <jakub@redhat.com>
12044
12045 PR middle-end/30494
12046 * testsuite/libgomp.c/pr30494.c: New test.
12047
627ab4b8
TT
120482007-01-15 Tom Tromey <tromey@redhat.com>
12049
12050 * configure: Rebuilt.
12051 * configure.ac: Fixed comment.
12052
7c2b7f45
DF
120532007-01-14 Daniel Franke <franke.daniel@gmail.com>
12054
12055 * libgomp.texi: Document implementation specific default values of
12056 environment variables.
12057
3721b9e1
DF
120582006-12-21 Daniel Franke <franke.daniel@gmail.com>
12059
12060 PR libgomp/28209
12061 * libgomp.texi: New file.
12062 * configure.ac: Add --enable-generated-files-in-srcdir option.
12063 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12064 files to srcdir.
12065 * Makefile.in: Regenerated.
12066 * config.h.in: Regenerated.
12067 * testsuite/Makefile.in: Regenerated.
12068 * NOTES: Removed.
12069
62bd6216
DF
120702006-12-04 Daniel Franke <franke.daniel@gmail.com>
12071
12072 PR libgomp/29949
12073 * env.c (omp_set_num_threads): Set illegal thread count to 1.
12074
aad741f4
EB
120752006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
12076
12077 * configure: Regenerate.
12078
22568cc6
JJ
120792006-12-04 Jakub Jelinek <jakub@redhat.com>
12080
12081 PR libgomp/29947
12082 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
12083 start if there shouldn't be any loop iterations.
12084 (gomp_loop_ordered_static_start): Remove start == end test.
12085 * testsuite/libgomp.c/pr29947-1.c: New test.
12086 * testsuite/libgomp.c/pr29947-2.c: New test.
12087
a9690009
EB
120882006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12089
12090 * configure.tgt: Force initial-exec TLS model on Linux only.
12091
597c25e6
DJ
120922006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
12093
12094 * configure: Regenerated.
12095
6acf0b38
UB
120962006-11-09 Uros Bizjak <ubizjak@gmail.com>
12097
12098 * env.c (parse_schedule): Reject out of range values.
12099 (parse_unsigned_long): Reject out of range, negative or zero values.
12100
a7a53ca5
JJ
121012006-10-29 Jakub Jelinek <jakub@redhat.com>
12102
12103 PR fortran/29629
12104 * testsuite/libgomp.fortran/pr29629.f90: New test.
12105
6d4d216a
EB
121062006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
12107
12108 PR libgomp/29494
12109 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12110 * config/posix95: New directory.
12111 * config/posix95/omp-lock.h: New file.
12112 * config/posix95/lock.c: Likewise.
12113
5b043f08
GK
121142006-10-14 Geoffrey Keating <geoffk@apple.com>
12115
12116 * aclocal.m4: Regenerate.
12117 * configure: Regenerate.
12118
b50019f0
DS
121192006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12120
12121 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12122 '<' to '<='.
12123
8887708e
DS
121242006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12125
12126 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12127 test.
12128 * configure: Regenerate.
12129 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12130
9b9e4cd6
JJ
121312006-09-26 Jakub Jelinek <jakub@redhat.com>
12132
a70ad3bb
JJ
12133 PR middle-end/25261
12134 PR middle-end/28790
12135 * testsuite/libgomp.c/nestedfn-4.c: New test.
12136 * testsuite/libgomp.c/nestedfn-5.c: New test.
12137 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12138
9b9e4cd6
JJ
12139 PR fortran/29097
12140 * testsuite/libgomp.fortran/condinc1.f: New test.
12141 * testsuite/libgomp.fortran/condinc2.f: New test.
12142 * testsuite/libgomp.fortran/condinc3.f90: New test.
12143 * testsuite/libgomp.fortran/condinc4.f90: New test.
12144 * testsuite/libgomp.fortran/condinc1.inc: New file.
12145
2fb31455
TT
121462006-09-18 Tom Tromey <tromey@redhat.com>
12147
12148 * configure: Rebuilt.
12149
c663e301
JM
121502006-09-13 Joseph S. Myers <joseph@codesourcery.com>
12151
12152 PR c/28768
12153 PR preprocessor/14634
12154 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12155 to AC_DEFINE.
12156 * configure: Regenerate.
12157
38371be9
SK
121582006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
12159
12160 * testsuite/libgomp.fortran/reduction3.f90: Change
12161 -2147483648 to -huge(i)-1 to avoid overflow.
12162 * testsuite/libgomp.fortran/reduction4.f90: Change
12163 Z'ffffffff' to not(0) to avoid overflow.
12164
571d5ac5
JM
121652006-08-26 Joseph S. Myers <joseph@codesourcery.com>
12166
12167 PR libgomp/25938
12168 * Makefile.am (libsubincludedir): New.
12169 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12170 * Makefile.in: Regenerate.
12171
89b3e3cd
JJ
121722006-08-17 Jakub Jelinek <jakub@redhat.com>
12173
12174 PR libgomp/28725
12175 * env.c: Include ctype.h.
12176 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12177 leading and/or trailing whitespace and compare strings case
12178 insensitively.
12179
742fae05
JJ
121802006-07-16 Jakub Jelinek <jakub@redhat.com>
12181
12182 PR fortran/28390
12183 * testsuite/libgomp.fortran/pr28390.f: New test.
12184
a1daed2d
EC
121852006-07-05 Eric Christopher <echristo@apple.com>
12186
12187 * configure.ac: Depend addition of -pthread on host OS.
12188 * configure: Regenerate.
12189
5d7b5199
JJ
121902006-06-21 Jakub Jelinek <jakub@redhat.com>
12191
12192 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12193 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12194 defined.
12195
fe5568e9
JJ
121962006-06-20 Jakub Jelinek <jakub@redhat.com>
12197
12198 PR libgomp/26175
12199 PR libgomp/26477
12200 * configure.ac: If neither --enable-linux-futex nor
12201 --disable-linux-futex is passed, determine the default by checking
12202 for compiling and/or running against NPTL. With --enable-linux-futex,
12203 check if SYS_gettid and SYS_futex are defined.
12204 * configure: Rebuilt.
12205
c3b11a40
RH
122062006-06-14 Richard Henderson <rth@redhat.com>
12207
12208 PR libgomp/28008
12209 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12210 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12211
d0d1b24d
RH
122122006-06-09 Richard Henderson <rth@redhat.com>
12213
12214 * env.c (gomp_nthreads_var): Change to unsigned long.
12215 (gomp_run_sched_chunk): Likewise.
12216 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12217 (initialize_env): Initialize gomp_thread_attr.
12218 * libgomp.h (gomp_nthreads_var): Update decl.
12219 (gomp_run_sched_chunk): Likewise.
12220 (gomp_thread_attr): Declare.
12221 * team.c (gomp_thread_attr): Export.
12222 (initialize_team): Don't initialize it.
12223
cd75853e
JJ
122242006-06-09 Jakub Jelinek <jakub@redhat.com>
12225
12226 PR fortran/27916
12227 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12228 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12229
33815e0c
FXC
122302006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12231
12232 * config/mingw32/time.c: New file.
12233 * configure.tgt: Use it.
12234
6667de0d
CD
122352006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12236
12237 * Makefile.am: Add install-html target. Add install-html to .PHONY
12238 * Makefile.in: Regenerate.
12239
e962c46b
JDA
122402006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12241
12242 PR libgomp/27612
12243 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12244 * testsuite/libgomp.c/critical-1.c: Likewise.
12245 * testsuite/libgomp.c/loop-1.c: Likewise.
12246 * testsuite/libgomp.c/loop-2.c: Likewise.
12247 * testsuite/libgomp.c/single-1.c: Likewise.
12248 * testsuite/libgomp.c/ordered-1.c: Likewise.
12249 * testsuite/libgomp.c/ordered-2.c: Likewise.
12250
eeb1d9e0
JJ
122512006-05-15 Jakub Jelinek <jakub@redhat.com>
12252
12253 PR middle-end/27416
12254 * libgomp.fortran/pr27416-1.f90: New test.
12255
693d710f
JJ
122562006-05-03 Jakub Jelinek <jakub@redhat.com>
12257
12258 PR fortran/27395
12259 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12260 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12261
8ca5b2a2
JJ
122622006-05-02 Jakub Jelinek <jakub@redhat.com>
12263
12264 PR c++/26943
12265 * testsuite/libgomp.c/pr26943-1.c: New test.
12266 * testsuite/libgomp.c/pr26943-2.c: New test.
12267 * testsuite/libgomp.c/pr26943-3.c: New test.
12268 * testsuite/libgomp.c/pr26943-4.c: New test.
12269 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12270 * testsuite/libgomp.c++/pr26943.C: New test.
12271
077b0dfb
JJ
122722006-05-02 Jakub Jelinek <jakub@redhat.com>
12273
12274 PR middle-end/27337
12275 * testsuite/libgomp.c++/pr27337.C: New test.
12276
91b6c26d
JJ
122772006-04-26 Jakub Jelinek <jakub@redhat.com>
12278
12279 PR c/26171
12280 * testsuite/libgomp.c/pr26171.c: New test.
12281
60e1758f
RH
122822006-04-25 Richard Henderson <rth@redhat.com>
12283
12284 PR libgomp/25865
12285 * configure.ac: Use GCC_CHECK_TLS.
12286 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12287 * Makefile.in, aclocal.m4, configure: Regenerate.
12288
615baed7
MK
122892006-04-10 Matthias Klose <doko@debian.org>
12290
12291 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12292 directory names containing underscores.
12293
fae2b46b
JJ
122942006-03-21 Jakub Jelinek <jakub@redhat.com>
12295
12296 PR c++/26691
12297 * testsuite/libgomp.c++/pr26691.C: New test.
12298
11a5f608
JJ
122992006-03-13 Jakub Jelinek <jakub@redhat.com>
12300
12301 * testsuite/libgomp.fortran/retval2.f90: New test.
12302
1799e5d5
RH
123032006-03-09 Diego Novillo <dnovillo@redhat.com>
12304
12305 * testsuite/libgomp.c++: New directory.
12306
d349482e
AT
123072006-02-25 Shantonu Sen <ssen@opendarwin.org>
12308
12309 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12310 * config/posix/sem.c: Implement the above.
12311
123122006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12313
12314 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12315 define HAVE_BROKEN_POSIX_SEMAPHORES.
12316 * configure: Rebuilt.
12317 * config.h.in: Rebuilt.
12318
124452c9
FXC
123192006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12320
12321 PR bootstrap/26161
12322 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12323 for the other pthread check.
12324 * configure: Regenerate.
12325 * config.h.in: Regenerate.
12326
dd8d6dfe
JJ
123272006-02-15 Jakub Jelinek <jakub@redhat.com>
12328
12329 PR libgomp/25938
12330 PR libgomp/25984
12331 * Makefile.am (fincludedir): New variable.
12332 (nodist_include_HEADERS): Remove Fortran files.
12333 (nodist_finclude_HEADERS): New variable.
12334 * Makefile.in: Regenerated.
12335
6c7a4dfd
JJ
123362006-02-13 Jakub Jelinek <jakub@redhat.com>
12337
12338 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12339 Remove tests for returning assumed character length arrays.
12340
5142e08b
RS
123412006-02-12 Roger Sayle <roger@eyesopen.com>
12342 John David Anglin <dave@hiauly1.hia.nrc.ca>
12343
12344 PR libgomp/25936
12345 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 12346
5821fba8
UW
123472006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12348
12349 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12350
cb2bbc67
EB
123512006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12352
12353 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12354 part of LD_LIBRARY_PATH manually.
12355
f05ee80c
L
123562006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12357
12358 PR libgomp/25852
12359 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12360 libgomp_init.
12361
03b8fe49
PB
123622005-01-25 Paolo Bonzini <bonzini@gnu.org>
12363
12364 PR libgomp/25884
f05ee80c
L
12365 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12366 * configure.ac (PERL): Don't set.
12367 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12368 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12369 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12370 * omp.h.in: Wrap the new configure substitutions with @ characters.
12371 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12372 * aclocal.m4, configure, Makefile.in: Regenerate.
12373 * mkomp_h.pl: Delete.
03b8fe49 12374
18cbfd85
PB
123752005-01-24 Paolo Bonzini <bonzini@gnu.org>
12376
12377 PR libgomp/25259
12378 * configure.ac: Use GCC_HEADER_STDINT.
12379 * libgomp.h: Include gstdint.h.
12380 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12381 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12382
c41303c6
RH
123832006-01-24 Richard Henderson <rth@redhat.com>
12384
12385 PR libgomp/25942
12386 * configure.ac: Add AM_MAINTAINER_MODE.
12387 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12388
149b9553
DN
123892006-01-24 Diego Novillo <dnovillo@redhat.com>
12390
12391 * Makefile.in: Regenerate.
12392 * testsuite/Makefile.in: Regenerate.
12393 * aclocal.m4: Regenerate.
12394
192a50ad
AT
123952006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12396
12397 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12398 Solaris.
12399 * configure.ac: Add check for loadavg.h.
12400 (link_gomp): Adjust comment.
12401 * configure: Regenerate.
12402 * config.h.in: Regenerate.
12403
a55b8e18
SE
124042006-01-21 Steve Ellcey <sje@cup.hp.com>
12405
12406 PR libgomp/25877
12407 * configure.ac: Remove check for alloca.h.
12408 * configure: Regenerate.
12409 * config.h.in: Regenerate.
12410 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12411 * team.c: Remove use of alloca.h.
12412 Call gomp_alloca instead of alloca.
12413
692eeb34
SE
124142006-01-20 Steve Ellcey <sje@cup.hp.com>
12415
12416 PR libgomp/25877
12417 * team.c: Add include of alloca.h.
12418 * configure.ac: Add check for alloca.h.
12419 * configure: Regenerate.
12420 * config.h.in: Regenerate.
12421
953ff289
DN
124222006-01-17 Jakub Jelinek <jakub@redhat.com>
12423
12424 PR fortran/25219
12425 * testsuite/libgomp.fortran/pr25219.f90: New test.
12426
124272005-12-05 Uros Bizjak <uros@kss-loka.si>
12428
12429 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12430 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12431 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12432 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12433 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12434 testsuite/libgomp.fortran/threadprivate1.f90,
12435 testsuite/libgomp.fortran/threadprivate2.f90,
12436 testsuite/libgomp.fortran/threadprivate3.f90,
12437 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12438 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12439 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12440 effective-target to TLS runtime.
12441
12442 * testsuite/libgomp.fortran/pr25162.f: Require
12443 effective-target TLS runtime.
12444
124452005-12-01 Jakub Jelinek <jakub@redhat.com>
12446
12447 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12448 * testsuite/libgomp.c/nestedfn-3.c: New test.
12449
124502005-11-30 Jakub Jelinek <jakub@redhat.com>
12451
12452 PR fortran/25162
12453 * testsuite/libgomp.fortran/pr25162.f: New test.
12454
124552005-11-28 Jakub Jelinek <jakub@redhat.com>
12456
12457 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12458 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12459
124602005-11-25 Jakub Jelinek <jakub@redhat.com>
12461
12462 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12463 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12464 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12465 single.c, team.c, work.c, config/linux/alpha/futex.h,
12466 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12467 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12468 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12469 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12470 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12471 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12472 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12473 FSF address.
12474
124752005-11-18 Jakub Jelinek <jakub@redhat.com>
12476
12477 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12478 to nodist_noinst_HEADERS.
12479 * Makefile.in: Rebuilt.
12480
12481 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12482 add integer count field.
12483 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12484 omp_nest_lock_t type change.
12485 (omp_init_nest_lock): Likewise. Initialize count to 0.
12486 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12487 Increment count.
12488 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12489 Decrement count.
12490 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12491 Increment count if successful and return the new nesting level.
12492 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12493 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12494 * testsuite/libgomp.c/lib-1.c: New test.
12495 * testsuite/libgomp.fortran/lib1.f90: New test.
12496 * testsuite/libgomp.fortran/lib2.f: New test.
12497 * testsuite/libgomp.fortran/lib3.f: New test.
12498
124992005-11-17 Richard Henderson <rth@redhat.com>
12500
12501 PR 24845
12502 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12503 * configure.ac (link_gomp): New. Substitute it.
12504 (AC_CONFIG_FILES): Add libgomp.spec.
12505 * libgomp.spec.in: New file.
12506 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12507 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12508
125092005-11-18 Jakub Jelinek <jakub@redhat.com>
12510
12511 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12512 reduction(-:var) behaving the same as reduction(+:var).
12513 * testsuite/libgomp.c/reduction-4.c: New test.
12514
125152005-11-15 Uros Bizjak <uros@kss-loka.si>
12516
12517 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12518 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12519 testsuite/libgomp.c/copyin-3.c,
12520 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12521 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12522 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12523 testsuite/libgomp.c++/pr24455.C,
12524 testsuite/libgomp.fortran/threadprivate1.f90,
12525 testsuite/libgomp.fortran/threadprivate2.f90,
12526 testsuite/libgomp.fortran/threadprivate3.f90,
12527 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12528 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12529 testsuite/libgomp.fortran/omp_parse3.f90: Require
12530 effective-target TLS.
12531
125322005-11-14 Diego Novillo <dnovillo@redhat.com>
12533
12534 * HEADER: Remove.
12535
125362005-11-13 Jakub Jelinek <jakub@redhat.com>
12537
12538 PR libgomp/24797
12539 * team.c (initialize_team): Pass NULL rather than free as
12540 pthread_key_create destructor. Initialize thread specific data
12541 pointer in initial thread to a static local variable rather than
12542 malloced memory.
12543
125442005-11-11 Uros Bizjak <uros@kss-loka.si>
12545
12546 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12547 its location to ld_library_path.
12548
125492005-11-10 Diego Novillo <dnovillo@redhat.com>
12550
12551 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12552
125532005-11-10 Diego Novillo <dnovillo@redhat.com>
12554
12555 * testsuite/libgomp.c: Rename from libgomp.dg.
12556
125572005-11-09 Diego Novillo <dnovillo@redhat.com>
12558
12559 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12560 threadprivate variable 'i'.
12561
125622005-11-09 Jakub Jelinek <jakub@redhat.com>
12563
12564 * config/linux/s390/futex.h: New file.
12565 * configure.tgt: Use it.
12566
12567 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12568 before the parallel.
12569
125702005-11-08 Jakub Jelinek <jakub@redhat.com>
12571
12572 PR c++/24734
12573 * testsuite/libgomp.c++/master-1.C: New test.
12574
125752005-11-07 Jakub Jelinek <jakub@redhat.com>
12576
12577 * testsuite/libgomp.dg/copyin-3.c: New test.
12578
125792005-11-07 Jakub Jelinek <jakub@redhat.com>
12580
12581 * testsuite/libgomp.fortran/retval1.f90: New test.
12582 * testsuite/libgomp.fortran/vla7.f90: New test.
12583
125842005-11-06 Jakub Jelinek <jakub@redhat.com>
12585
12586 * testsuite/libgomp.fortran/vla2.f90: New test.
12587 * testsuite/libgomp.fortran/vla3.f90: New test.
12588 * testsuite/libgomp.fortran/vla4.f90: New test.
12589 * testsuite/libgomp.fortran/vla5.f90: New test.
12590 * testsuite/libgomp.fortran/vla6.f90: New test.
12591
125922005-11-01 Jakub Jelinek <jakub@redhat.com>
12593
12594 * config/linux/sparc/futex.h: New file.
12595 * configure.tgt: Use it.
12596 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12597
12598 * critical.c: Include stdlib.h.
12599 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12600 ignoring return value.
12601 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12602 LIBGOMP_CHECK_SYNC_BUILTINS check.
12603 * configure: Rebuilt.
12604
126052005-10-31 Jakub Jelinek <jakub@redhat.com>
12606
12607 * testsuite/libgomp.fortran/vla1.f90: New test.
12608
126092005-10-31 Richard Henderson <rth@redhat.com>
12610
12611 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12612 setting 's' in different threads.
12613
126142005-10-31 Jakub Jelinek <jakub@redhat.com>
12615
12616 * libgomp.h (attribute_hidden, ialias): Define.
12617 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12618 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12619 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12620 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12621 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12622 omp_test_lock, omp_test_nest_lock): Likewise.
12623 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12624 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12625 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12626 omp_test_lock, omp_test_nest_lock): Likewise.
12627 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12628 omp_get_dynamic, omp_get_nested): Likewise.
12629 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12630 omp_get_thread_num, omp_in_parallel): Likewise.
12631 * fortran.c (ialias_redirect): Define.
12632 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12633 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12634 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12635 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12636 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12637 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12638 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12639 omp_get_wtime): Add ialias_redirect.
12640
126412005-10-30 Jakub Jelinek <jakub@redhat.com>
12642
12643 * fortran.c: Include stdlib.h.
12644
126452005-10-29 Jakub Jelinek <jakub@redhat.com>
12646
12647 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12648 * Makefile.in: Regenerated.
12649
126502005-10-28 Jakub Jelinek <jakub@redhat.com>
12651
12652 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12653 * libgomp_f.h.in (omp_check_defines): New function.
12654 * env.c: Include libgomp_f.h.
12655 (initialize_env): Call omp_check_defines.
12656
12657 * testsuite/libgomp.dg/copyin-2.c: New test.
12658 * testsuite/libgomp.c++/copyin-2.C: New test.
12659 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12660
12661 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12662 * testsuite/libgomp.fortran/sharing2.f90: New test.
12663
12664 * testsuite/libgomp.dg/copyin-1.c: New test.
12665 * testsuite/libgomp.c++/copyin-1.C: New test.
12666
126672005-10-26 Jakub Jelinek <jakub@redhat.com>
12668
12669 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12670
12671 * testsuite/libgomp.fortran/workshare1.f90: New test.
12672
12673 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12674 only test.
12675 * libgomp.fortran/sharing1.f90: New test.
12676
126772005-10-24 Jakub Jelinek <jakub@redhat.com>
12678
12679 PR c++/24502
12680 * testsuite/libgomp.c++/loop-7.C: New test.
12681
12682 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12683
12684 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12685 * testsuite/libgomp.fortran/reduction6.f90: New test.
12686 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12687
126882005-10-23 Richard Henderson <rth@redhat.com>
12689
12690 * testsuite/libgomp.c++/ctor-1.C: New.
12691 * testsuite/libgomp.c++/ctor-2.C: New.
12692 * testsuite/libgomp.c++/ctor-3.C: New.
12693 * testsuite/libgomp.c++/ctor-4.C: New.
12694 * testsuite/libgomp.c++/ctor-5.C: New.
12695 * testsuite/libgomp.c++/ctor-6.C: New.
12696 * testsuite/libgomp.c++/ctor-7.C: New.
12697 * testsuite/libgomp.c++/ctor-8.C: New.
12698 * testsuite/libgomp.c++/ctor-9.C: New.
12699
127002005-10-21 Diego Novillo <dnovillo@redhat.com>
12701
12702 PR 24455
12703 * testsuite/libgomp.c++/pr24455-1.C: New test.
12704 * testsuite/libgomp.c++/pr24455.C: New test.
12705 * testsuite/libgomp.dg/pr24455-1.c: New test.
12706 * testsuite/libgomp.dg/pr24455.c: New test.
12707
127082005-10-20 Richard Henderson <rth@redhat.com>
12709
12710 * testsuite/libgomp.c++/loop-6.C: New.
12711 * testsuite/libgomp.dg/loop-3.c: New.
12712
127132005-10-20 Jakub Jelinek <jakub@redhat.com>
12714
12715 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12716 explicitly private.
12717 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12718 explicitly shared.
12719
127202005-10-19 Diego Novillo <dnovillo@redhat.com>
12721
12722 * testsuite/libgomp.fortran/jacobi.f: New test.
12723
127242005-10-19 Richard Henderson <rth@redhat.com>
12725
12726 * configure.tgt (i?86-linux): Default to with_arch instead of
12727 CFLAGS. Add -mtune to match target_cpu.
12728 (x86_64-linux): Tune to i686.
12729
12730 * fortran.c (omp_test_nest_lock_): Fix typo.
12731
127322005-10-19 Jakub Jelinek <jakub@redhat.com>
12733
12734 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12735 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12736 * testsuite/libgomp.dg/ordered-3.c: New test.
12737
12738 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12739 Remove volatile keyword.
12740
12741 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12742 in COMMON block to avoid warnings on 64-bit targets.
12743
127442005-10-18 Diego Novillo <dnovillo@redhat.com>
12745
12746 * testsuite/libgomp.dg/shared-3.c: New test.
12747
127482005-10-18 Jakub Jelinek <jakub@redhat.com>
12749
12750 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12751 * testsuite/libgomp.fortran/reduction5.f90: New test.
12752
127532005-10-18 Jakub Jelinek <jakub@redhat.com>
12754
12755 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12756 dg-options.
12757 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12758 flush loop now that __sync_synchronize has proper memory barrier.
12759 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12760 Add -ffixed-form to dg-options.
12761
127622005-10-17 Diego Novillo <dnovillo@redhat.com>
12763
12764 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12765 from subdirectories.
12766 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12767 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12768 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12769 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12770 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12771 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12772 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12773 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12774 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12775 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12776 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12777 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12778 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12779 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12780 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12781 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12782 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12783 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12784 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12785 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12786 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12787 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12788 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12789 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12790 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12791
127922005-10-17 Jakub Jelinek <jakub@redhat.com>
12793
12794 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12795 lang_library_path exists. Use find instead of glob to gather tests.
12796 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12797
127982005-10-17 Diego Novillo <dnovillo@redhat.com>
12799
12800 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12801 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12802 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12803 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12804 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12805 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12806 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12807 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12808 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12809 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12810 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12811 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12812 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12813
128142005-10-15 Jakub Jelinek <jakub@redhat.com>
12815
12816 * testsuite/libgomp.dg/vla-1.c: New test.
12817
12818 * testsuite/libgomp.fortran/reference2.f90: New test.
12819
12820 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12821 declaration of omp_get_thread_num.
12822 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12823 use omp_lib.
12824
12825 * testsuite/libgomp.fortran/reduction1.f90: New test.
12826 * testsuite/libgomp.fortran/reduction2.f90: New test.
12827 * testsuite/libgomp.fortran/reduction3.f90: New test.
12828 * testsuite/libgomp.fortran/reduction4.f90: New test.
12829
128302005-10-13 Richard Henderson <rth@redhat.com>
12831
12832 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12833 * Makefile.in: Regenerate.
12834 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12835 * libgomp.h: Include bar.h.
12836 (struct gomp_barrier): Remove.
12837 (struct gomp_team): Add barrier. Replace master_barrier with
12838 master_release. Replace threads with ordered_release.
12839 (struct gomp_thread): Replace barrier with release.
12840 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12841 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12842 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12843 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12844 (GOMP_single_copy_end): Likewise.
12845 * team.c (gomp_threads_dock): New.
12846 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12847 (gomp_thread_start): Use gomp_barrier_wait.
12848 (new_team, free_team): Update for gomp_team changes.
12849 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12850 (gomp_team_end): Use gomp_barrier_wait.
12851 (initialize_team): Update for gomp_thread changes.
12852 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12853 (gomp_work_share_end_nowait): Use atomic ops when available.
12854 * config/linux/bar.c, config/linux/bar.h: New files.
12855 * config/posix/bar.c, config/posix/bar.h: New files.
12856
128572005-10-13 Jakub Jelinek <jakub@redhat.com>
12858
12859 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12860 * testsuite/libgomp.dg/single-2.c: New test.
12861
12862 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12863 lang_link_flags): Unset, so that they aren't inherited from previously
12864 sourced *.exp.
12865
12866 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12867
128682005-10-12 Richard Henderson <rth@redhat.com>
12869
12870 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12871 (libgomp_init): Use lang_test_file, lang_library_path, and
12872 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12873
12874 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12875 (lang_test_file, lang_link_flags): New.
12876 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12877
12878 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12879 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12880 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12881 testsuite/libgomp.c++/parallel-1.C,
12882 testsuite/libgomp.c++/reduction-1.C,
12883 testsuite/libgomp.c++/reduction-2.C,
12884 testsuite/libgomp.c++/reduction-3.C,
12885 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12886 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12887 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12888 New files, largely cribbed from the C testsuite.
12889
128902005-10-12 Jakub Jelinek <jakub@redhat.com>
12891
12892 * testsuite/libgomp.fortran/character1.f90: New test.
12893 * testsuite/libgomp.fortran/character2.f90: New test.
12894
12895 * testsuite/libgomp.dg/nested-1.c: New test.
12896 * testsuite/libgomp.dg/nested-2.c: New test.
12897 * testsuite/libgomp.fortran/do1.f90: New test.
12898 * testsuite/libgomp.fortran/do2.f90: New test.
12899
12900 * testsuite/libgomp.fortran/reference1.f90: New test.
12901
129022005-10-11 Jakub Jelinek <jakub@redhat.com>
12903
12904 * testsuite/libgomp.dg/reduction-1.c: New test.
12905 * testsuite/libgomp.dg/reduction-2.c: New test.
12906 * testsuite/libgomp.dg/reduction-3.c: New test.
12907
129082005-10-10 Jakub Jelinek <jakub@redhat.com>
12909
12910 * testsuite/libgomp.dg/atomic-1.c: New test.
12911 * testsuite/libgomp.dg/atomic-2.c: New test.
12912
129132005-10-09 Richard Henderson <rth@redhat.com>
12914
12915 * critical.c (atomic_lock): New.
12916 (initialize_critical): Initialize it.
12917 (GOMP_atomic_start, GOMP_atomic_end): New.
12918 * libgomp.map: Export them.
12919 * libgomp_g.h: Declare them.
12920
12921 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12922
129232005-10-02 Richard Henderson <rth@redhat.com>
12924
12925 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12926 to XCFLAGS instead of CFLAGS.
12927
129282005-09-30 Richard Henderson <rth@redhat.com>
12929
12930 * configure.ac: Determine whether -pthread or -lpthread is needed.
12931 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 12932 * Makefile.in, configure: Rebuild.
953ff289
DN
12933
129342005-09-28 Richard Henderson <rth@redhat.com>
12935
12936 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12937 * testsuite/libgomp.dg/omp-single-3.c: New test.
12938
129392005-09-28 Diego Novillo <dnovillo@redhat.com>
12940
12941 * testsuite/libgomp.dg/omp-single-2.c: New test.
12942 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12943
129442005-09-27 Richard Henderson <rth@redhat.com>
12945
12946 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12947 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12948
129492005-09-27 Jakub Jelinek <jakub@redhat.com>
12950
12951 * testsuite/libgomp.dg/omp-loop03.c: New test.
12952
129532005-09-27 Diego Novillo <dnovillo@redhat.com>
12954
12955 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12956
129572005-09-27 Diego Novillo <dnovillo@redhat.com>
12958
12959 * testsuite/libgomp.dg/omp-single-1.c: New test.
12960 * testsuite/libgomp.dg/shared-1.c: Return 0.
12961 Add prototype for abort.
12962 * testsuite/libgomp.dg/shared-2.c: Likewise.
12963
129642005-09-26 Jakub Jelinek <jakub@redhat.com>
12965
12966 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12967 constructs.
12968
129692005-09-26 Diego Novillo <dnovillo@redhat.com>
12970
12971 * testsuite/libgomp.dg/shared-1.c: New test.
12972 * testsuite/libgomp.dg/shared-2.c: New test.
12973
129742005-09-24 Richard Henderson <rth@redhat.com>
12975
12976 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12977
129782005-09-24 Richard Henderson <rth@redhat.com>
12979
12980 * iter.c (gomp_iter_static_next): Round up when computing number
12981 of iterations. Don't bother distributing a remainder equally.
12982
12983 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12984 Don't call srand. Zero b before testing.
12985 (main): New.
12986
129872005-09-24 Jakub Jelinek <jakub@redhat.com>
12988
12989 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12990 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12991
129922005-09-23 Jakub Jelinek <jakub@redhat.com>
12993
12994 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12995 without !$omp end do, followed immediately by subroutine end.
12996
129972005-09-23 Diego Novillo <dnovillo@redhat.com>
12998
12999 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13000
130012005-09-22 Richard Henderson <rth@redhat.com>
13002
13003 * critical.c (GOMP_critical_name_start): Change argument to void**.
13004 Reuse the pointer space if the mutex fits.
13005 (GOMP_critical_name_end): Likewise.
13006 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13007 * libgomp_g.h (GOMP_critical_name_start): Update decl.
13008 (GOMP_critical_name_end): Likewise.
13009 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13010 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13011
130122005-09-20 Richard Henderson <rth@redhat.com>
13013
13014 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13015 (create_lock_lock): New.
13016 (initialize_critical): Initialize it.
13017 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13018 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13019
130202005-09-20 Diego Novillo <dnovillo@redhat.com>
13021
13022 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13023
130242005-09-20 Diego Novillo <dnovillo@redhat.com>
13025
13026 * testsuite/libgomp.dg/omp-loop01.c: New test.
13027 * testsuite/libgomp.dg/omp-loop02.c: New test.
13028
130292005-09-20 Jakub Jelinek <jakub@redhat.com>
13030
13031 * configure.ac (AC_PROG_FC): Add.
13032 (USE_FORTRAN): New automake conditional.
13033 * configure: Rebuilt.
13034 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13035 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13036 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13037 Add rules to build them.
13038 * Makefile.in: Rebuilt.
13039 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13040 OMP_NEST_LOCK_KIND.
13041 * libgomp.map: Add Fortran wrappers.
13042 * libgomp_f.h.in: New file.
13043 * omp_lib.h.in: New file.
13044 * omp_lib.f90.in: New file.
13045 * fortran.c: New file.
13046 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13047 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13048 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13049 libgfortran has been built.
13050 * testsuite/libgomp.fortran/fortran.exp: New file.
13051 * testsuite/libgomp.fortran/omp_cond1.f: New test.
13052 * testsuite/libgomp.fortran/omp_cond2.f: New test.
13053 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13054 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13055 * testsuite/libgomp.fortran/omp_hello.f: New test.
13056 * testsuite/libgomp.fortran/omp_orphan.f: New test.
13057 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13058 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13059 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13060 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13061 * testsuite/libgomp.fortran/omp_reduction.f: New test.
13062 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13063 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13064
130652005-08-30 Richard Henderson <rth@redhat.com>
13066
13067 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13068 function for when aliases are not usable.
13069 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13070 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13071 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13072 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13073 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13074 GOMP_loop_ordered_guided_next): Likewise.
13075 * ordered.c (GOMP_ordered_start): Likewise.
13076
130772005-08-01 Diego Novillo <dnovillo@redhat.com>
13078
13079 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13080 * testsuite/libgomp.dg/omp_hello.c: Fix return code
13081 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13082 * testsuite/libgomp.dg/omp_orphan.c: Likewise
13083 * testsuite/libgomp.dg/omp_reduction.c: Likewise
13084 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13085 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13086 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13087 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13088
130892005-07-07 Eric Christopher <echristo@redhat.com>
13090 Diego Novillo <dnovillo@redhat.com>
13091
13092 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13093 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13094 up code.
13095 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13096 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13097 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13098 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13099 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13100 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13101 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13102
131032005-06-13 Diego Novillo <dnovillo@redhat.com>
13104
13105 * TOPLEVEL.patch: Remove.
13106
131072005-05-16 Richard Henderson <rth@redhat.com>
13108
13109 * configure.ac: Test for clock_gettime.
13110 * config.h.in, configure: Rebuild.
13111 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13112 (omp_get_wtime): Use clock_gettime if available.
13113 (omp_get_wtick): Use clock_getres if available.
13114
131152005-05-11 Richard Henderson <rth@redhat.com>
13116
13117 * config/linux/ia64/futex.h: New file.
13118 * configure.tgt: Use it.
13119
13120 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13121
131222005-05-07 Richard Henderson <rth@redhat.com>
13123
13124 * config/linux/powerpc/futex.h: New file.
13125 * configure.tgt: Use it.
13126
13127 * config/linux/i486/futex.h: Merge ...
13128 * config/linux/x86_64/futex.h: ... into ...
13129 * config/linux/x86/futex.h: ... here.
13130 * configure.tgt: Update to match.
13131
131322005-05-06 Richard Henderson <rth@redhat.com>
13133
13134 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13135 * config/linux/i486/futex.h: Likewise.
13136 * config/linux/x86_64/futex.h: Likewise.
13137
13138 * config/linux/lock.c: New file.
13139 * config/linux/omp-lock.h: New file.
13140
13141 * critical.c, env.h: Don't include omp.h
13142 * config/posix/lock.c: Include libgomp.h instead of omp.h.
13143 * config/posix/time.c: Likewise.
13144 * config/posix/omp-lock.h: New file.
13145 * libgomp.h: Include omp-lock.h and omp.h.
13146 * Makefile.am (nodist_include_HEADERS): New.
13147 (omp.h): New rule.
13148 * configure.ac (PERL): New.
13149 * mkomp_h.pl: New file.
13150 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13151 with templates.
13152 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13153
13154 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13155 build directory. Re-add -march=i486 hack.
13156
13157 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13158 (libgomp_link_flags): Remove.
13159 (libgomp_initialized): Remove.
13160 (libgomp_init): Don't protect from reinitialization. Copy code
13161 from libstdc++ for getting the multilib set correctly.
13162
131632005-05-05 Richard Henderson <rth@redhat.com>
13164
13165 * config/linux/alpha/futex.h: New file.
13166 * configure.tgt (alpha*-*-linux*): Use it.
13167
13168 * config/posix/mutex.c: New file.
13169 * config/posix/sem.c: Use libgomp.h.
13170
13171 * configure.tgt (x86_64-linux): Also test CC for -m32.
13172 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13173
a1daed2d 13174 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
13175 after $gccpath.
13176
13177 * Makefile.am (SUBDIRS): New.
13178 (libgomp_la_LDFLAGS): Add -lpthread.
13179 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13180 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13181
13182 * libgomp_g.h: New file.
13183 * libgomp.h: Split out all public declarations to libgomp_g.h.
13184 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13185 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13186 * config/linux/sem.h: Likewise.
13187 * config/posix/sem.h: Likewise.
13188
13189 * Makefile.am (AM_LDFLAGS): New.
13190 (libgomp_version_script): Split out from ...
13191 (libgomp_la_LDFLAGS): ... here.
13192 (libgomp_version_info): New.
13193 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13194 (LIBGOMP_ENABLE): New.
13195 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13196 (LIBGOMP_ENABLE_SYMVERS): New.
13197 * configure.ac (AC_INIT): Version 1.0.
13198 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13199 (enable-linux-futex): Likewise. Rename from enable-futex.
13200 (libtool_VERSION): New.
13201 (LIBGOMP_ENABLE_SYMVERS): Use it.
13202 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13203 * Makefile.in, aclocal.m4, configure: Rebuild.
13204
13205 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13206 (gomp_mutex_unlock_slow): Fix typo.
13207 * config/linux/sem.c: Similarly.
13208 (gomp_sem_post_slow): Fix typo.
13209 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13210 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13211 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13212
13213 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13214 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13215 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13216 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13217 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13218 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13219 LDFLAGS. Pull enable_futex check to top-level.
13220 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13221 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13222
13223 First attempt at real configury.
13224 * Makefile, config.h: Remove file.
13225 * Makefile.am, Makefile.in: New file.
13226 * acinclude.m4 aclocal.m4: New file.
13227 * configure.ac, configure.tgt, configure: New file.
13228
13229 * config/posix/lock.c: Rename from sys-lock.c.
13230 * config/posix/mutex.h: Rename from sys-mutex.h.
13231 * config/posix/sem.c: Rename from sys-sem.c.
13232 * config/posix/sem.h: Rename from sys-sem.h.
13233 * config/posix/proc.c: Rename from sys-proc.c.
13234 * config/posix/time.c: Rename from sys-proc.c.
13235
13236 * config/linux/mutex.c: New file.
13237 * config/linux/mutex.h: New file.
13238 * config/linux/sem.c: New file.
13239 * config/linux/sem.h: New file.
13240 * config/linux/i486/futex.h: New file.
13241 * config/linux/x86_64/futex.h: New file.
13242
132432005-05-04 Richard Henderson <rth@redhat.com>
13244
13245 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13246 * libgomp.h: Declare them.
13247 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13248 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13249
132502005-05-04 Richard Henderson <rth@redhat.com>
13251
13252 * libgomp-1 code drop
13253
132542005-05-04 Richard Henderson <rth@redhat.com>
13255
13256 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13257 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13258 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13259 (gomp_iter_static_next): Update.
13260 (gomp_ordered_static_next): Update.
13261 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13262 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13263 totally empty range.
13264 (gomp_loop_ordered_static_next): Refine test for calling
13265 gomp_ordered_static_next.
13266 * testsuite/ordered-1.c: Add case for more threads than iterations.
13267
13268 * iter.c (gomp_iter_runtime_next_locked): Remove.
13269 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 13270 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
13271 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13272 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13273 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13274 gomp_loop_ordered_guided_next): Downcase name, make static, add
13275 an external alias with the old name.
13276 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13277 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13278 switch and call one of the above static functions.
13279 * libgomp.h: Update.
13280
13281 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13282 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13283 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13284 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13285 GOMP_loop_ordered_guided_start): Update to match.
13286 * sections.c (GOMP_sections_start): Likewise.
13287 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13288
13289 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13290 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13291 Use bounds check instead of modulus.
13292 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13293 (gomp_ordered_last): Don't sync with ordered_owner here.
13294 (gomp_ordered_next): Likewise.
13295 (gomp_ordered_static_loop_next): Likewise.
13296 * loop.c, libgomp.h: Update to match.
13297
13298 * libgomp.h (GOMP_barrier): Declare.
13299
13300 * testsuite/barrier-1.c: New file.
13301 * testsuite/critical-1.c: New file.
13302 * testsuite/ordered-2.c: New file.
13303 * testsuite/ordered-1.c: New file.
13304 * testsuite/sections-1.c: New file.
13305 * testsuite/single-1.c: New file.
13306 * testsuite/Makefile (TESTS): Add them.
13307
133082005-05-04 Richard Henderson <rth@redhat.com>
13309
13310 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13311 * loop.c (GOMP_loop_static_start): If not the startup thread,
13312 acquire the mutex to wait for initialization complete.
13313 (GOMP_loop_ordered_static_start): Likewise.
13314 (GOMP_loop_ordered_runtime_start): Likewise.
13315 (GOMP_loop_ordered_static_first): Remove.
13316 (GOMP_loop_ordered_dynamic_first): Remove.
13317 (GOMP_loop_ordered_guided_first): Remove.
13318 (GOMP_loop_ordered_runtime_first): Remove.
13319 * ordered.c (gomp_ordered_loop_first): Post to own release when
13320 we're the first thread.
13321 (gomp_ordered_loop_last): Wait on release if not owner.
13322 (gomp_ordered_loop_next): Likewise.
13323 (gomp_ordered_static_loop_init): New.
13324 (gomp_ordered_static_loop_next): Use ordered_owner.
13325 (GOMP_ordered_start): Likewise.
13326 * work.c (gomp_new_work_share): Initialize ordered_owner.
13327
133282005-05-03 Richard Henderson <rth@redhat.com>
13329
13330 * Makefile (OPT): New.
13331 (CFLAGS): Use it.
13332
13333 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13334 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13335 * libgomp.h, libgomp.map, NOTES: Update to match.
13336
13337 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13338 Add initialized and thr members.
13339 (gomp_thread_start): Pause when initially spawned to wait for
13340 the whole team to be created.
13341 (gomp_team_start): Release team members at the end.
13342
13343 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13344 (f_foo_1): Use GOMP_loop_end.
13345 (f_foo_2): Use GOMP_loop_end_nowait.
13346
13347 * testsuite/loop-2.c: New file.
13348 * testsuite/Makefile (TESTS): Add it.
13349
133502005-05-03 Richard Henderson <rth@redhat.com>
13351
13352 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13353 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13354 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13355 initial work_share.
13356
13357 * testsuite/Makefile: New file.
13358 * testsuite/loop-1.c: New file.
13359
133602005-05-03 Richard Henderson <rth@redhat.com>
13361
13362 Initial implementation and checkin.
21fa2a29 13363\f
8d9254fc 13364Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
13365
13366Copying and distribution of this file, with or without modification,
13367are permitted in any medium without royalty provided the copyright
13368notice and this notice are preserved.