]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[gcn] Set 'UI_NONE' for 'TARGET_EXCEPT_UNWIND_INFO' [PR94282]
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
b9dc11b6
TS
12020-04-29 Thomas Schwinge <thomas@codesourcery.com>
2
7f198924
TS
3 PR target/94282
4 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
5 'dg-allow-blank-lines-in-output'.
6
4912a04f
TS
7 * oacc-init.c (get_openacc_name): Handle 'gcn'.
8 * testsuite/lib/libgomp.exp
9 (offload_target_to_openacc_device_type) [amdgcn*]: Return
10 'radeon'. Adjust all users.
11 (check_effective_target_openacc_amdgcn_accel_present): Rename
12 to...
13 (check_effective_target_openacc_radeon_accel_present): ... this.
14 Adjust all users.
15 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
16 (check_effective_target_openacc_radeon_accel_selected): ... this.
17 Adjust all users.
18
b9dc11b6
TS
19 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
20 'dg-do run'.
21
966de09b
AS
222020-04-23 Andrew Stubbs <ams@codesourcery.com>
23
24 PR other/94629
25
26 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
27 hsa_iterate_agents.
28 (GOMP_OFFLOAD_init_device): Check return values from both calls to
29 hsa_agent_iterate_regions.
30
3f5d94c1
TS
312020-04-20 Thomas Schwinge <thomas@codesourcery.com>
32
33 PR middle-end/94635
34 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
35 run'.
36
85d8c05a
TB
372020-04-20 Tobias Burnus <tobias@codesourcery.com>
38
39 PR middle-end/94120
40 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
41 test case.
42
af557050
TB
432020-04-17 Tobias Burnus <tobias@codesourcery.com>
44
45 PR middle-end/94635
46 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
47
af4c9257
TS
482020-04-13 Thomas Schwinge <thomas@codesourcery.com>
49
50 PR libgomp/92843
51 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
52 Rename to...
53 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
54 ... this.
55 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
56 Rename to...
57 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
58 ... this.
59 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
60 Rename to...
61 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
62 ... this.
63 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
64 Rename to...
65 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
66 ... this.
67 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
68 Rename to...
69 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
70 ... this.
71 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
72 Rename to...
73 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
74 ... this.
75 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
76 Rename to...
77 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
78 ... this.
79 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
80 Rename to...
81 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
82 ... this.
83 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
84 Rename to...
85 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
86 ... this.
87 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
88 Rename to...
89 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
90 ... this.
91 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
92 Rename to...
93 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
94 ... this.
95 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
96 Rename to...
97 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
98 ... this.
99 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
100 Rename to...
101 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
102 ... this.
103 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
104 Rename to...
105 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
106 ... this.
107 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
108 Rename to...
109 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
110 ... this.
111 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
112 Rename to...
113 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
114 ... this.
115
be9862dd
JB
1162020-04-10 Julian Brown <julian@codesourcery.com>
117 Thomas Schwinge <thomas@codesourcery.com>
118
119 PR libgomp/92843
120 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
121 New file.
122 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
123 Likewise.
124 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
125 Likewise.
126 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
127 Likewise.
128 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
129 Likewise.
130 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
131 Likewise.
132 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
133 Likewise.
134 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
135 Likewise.
136 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
137 Likewise.
138 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
139 Likewise.
140 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
141 Likewise.
142 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
143 Likewise.
144 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
145 Likewise.
146 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
147 Likewise.
148 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
149 Likewise.
150 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
151 Likewise.
152
6b816a5f
TS
1532020-04-10 Thomas Schwinge <thomas@codesourcery.com>
154
155 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
156 run'.
157
13e41d8b
TB
1582020-04-08 Tobias Burnus <tobias@codesourcery.com>
159
160 PR middle-end/94120
161 * libgomp.oacc-c++/declare-pr94120.C: New.
162
749bd22d
MR
1632020-04-06 Maciej W. Rozycki <macro@wdc.com>
164
165 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
166 files.
167 * configure: Regenerate.
168 * testsuite/libgomp-site-extra.exp.in: New file.
169 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
170 variable.
171 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
172 variable.
173 * testsuite/Makefile.in: Regenerate.
174
2b1e849b
TS
1752020-04-03 Thomas Schwinge <thomas@codesourcery.com>
176
177 PR tree-optimization/89713
178 PR c/94392
179 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
180 'bar.sync'.
181 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
182
689418b9
TB
1832020-03-31 Tobias Burnus <tobias@codesourcery.com>
184
185 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
186 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
187
c2211a60
TB
1882020-03-24 Tobias Burnus <tobias@codesourcery.com>
189
190 PR libgomp/81689
191 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
192
4897bb00
TB
1932020-03-20 Tobias Burnus <tobias@codesourcery.com>
194
195 PR libgomp/94251
196 * target.c (gomp_load_image_to_device): Fix link
197 variable handling.
198
02f7334a
JJ
1992020-03-19 Jakub Jelinek <jakub@redhat.com>
200
201 PR c++/93931
202 * testsuite/libgomp.c++/pr93931.C: New test.
203
bb83e069
TB
2042020-03-19 Tobias Burnus <tobias@codesourcery.com>
205
206 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
207 dg-allow-blank-lines-in-output.
208
26cbcfe5
TB
2092020-03-18 Julian Brown <julian@codesourcery.com>
210 Tobias Burnus <tobias@codesourcery.com>
211
212 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
213 it work concurrently.
214
4da92887
TB
2152020-03-18 Tobias Burnus <tobias@codesourcery.com>
216
217 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
218 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
219 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
220
9c3cdb43
JJ
2212020-03-14 Jakub Jelinek <jakub@redhat.com>
222
223 PR middle-end/93566
224 * testsuite/libgomp.c/pr93566.c: New test.
225
83d45e1d
FH
2262020-02-21 Frederik Harwath <frederik@codesourcery.com>
227
228 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
229 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
230 integer(acc_device_property) for the type of the return value of
231 acc_get_property.
232
8d1a1cb1
TB
2332020-02-19 Tobias Burnus <tobias@codesourcery.com>
234
235 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
236 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
237 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
238 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
239 (acc_set_device_num): Fix Fortran argument name, use same name for C.
240 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
241 corrections; add note about the previous interface and named constant.
242 (OpenACC library and environment variables): Fix two typos.
243 * openacc.f90: Use for all procedures the argument names from the spec
244 as for …_h they are user visible.
245 (openacc_kinds): Rename acc_device_property to
246 acc_device_property_kinds and change value to int32 ; and update users.
247 Re-add acc_device_property for for backward compatibility.
248 (acc_get_property_string_h): Clean up as acc_device_property_kind
249 changed.
250 (acc_get_property_h): Likewise and return c_size_t instead of
251 acc_device_property.
252 (openacc): Also export acc_device_property_kinds.
253 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
254 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
255 handling; check against /= 0 instead of == 1 to match C.
256 * openacc_lib.h: Use for all procedures the argument names from the spec
257 as for …_h they are user visible. Place !GCC$ into the first column to
258 be active also for fixed-form souce form.
259 (acc_device_current, acc_device_property_kind, acc_device_property,
260 acc_property_memory, acc_property_free_memory, acc_property_name,
261 acc_property_vendor, acc_property_driver): New named constants.
262 (acc_get_property, acc_get_property_string): New generic interface.
263
2d9eb4e4
FH
2642020-02-13 Frederik Harwath <frederik@codesourcery.com>
265
266 PR libgomp/93481
267 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
268 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
269 optional.
270 (gomp_target_task_fn): Assert "devicep->async_run_func".
271 (clear_unsupported_flags): New function to remove unsupported flags
272 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
273 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
274 * testsuite/libgomp.c/target-33.c:
275 Remove xfail for offload_target_nvptx.
276 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
277
2782020-02-10 Frederik Harwath <frederik@codesourcery.com>
279
280 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
281 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
282 * testsuite/libgomp.c/target-34.c: Likewise.
283 * testsuite/libgomp.c/target-link-1.c: Add xfail for
284 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
285
9bc3b95d
JJ
2862020-02-09 Jakub Jelinek <jakub@redhat.com>
287
288 * testsuite/libgomp.c/target-38.c: New test.
289
cb3f0648
JJ
2902020-02-06 Jakub Jelinek <jakub@redhat.com>
291
292 PR libgomp/93515
293 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
294
91bc3c98
TB
2952020-02-05 Tobias Burnus <tobias@codesourcery.com>
296
297 * testsuite/lib/libgomp.exp
298 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
299 and not as 'source' argument to libgomp_target_compile.
300
591f869a
AS
3012020-02-03 Andrew Stubbs <ams@codesourcery.com>
302
303 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
304 (gcn_gfx801_s): Remove.
305 (isa_hsa_name): Remove gfx801.
306 (isa_gcc_name): Remove gfx801/carizzo.
307 (isa_code): Remove gfx801.
308
e464fc90
TB
3092020-02-03 Julian Brown <julian@codesourcery.com>
310 Tobias Burnus <tobias@codesourcery.com>
311
312 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
313 and *_finalize variants; document acc_attach and acc_detach; update
314 references from OpenACC 2.0 to 2.6.
315 * openacc.f90 (openacc_version): Update to 201711.
316 * openacc_lib.h (openacc_version): Update to 201711.
317 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
318 openacc_version to 201711.
319 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
320
5a28e272
KCY
3212020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
322
323 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
324 and vgpr_count fields.
325 (struct kernel_info): Add a field for a hsa_kernel_description.
326 (run_kernel): Reduce the number of threads/workers if the requested
327 number would require too many VGPRs.
328 (init_basic_kernel_info): Initialize description field with
329 the hsa_kernel_description entry for the kernel.
330
5ab5d81b
TB
3312020-01-29 Tobias Burnus <tobias@codesourcery.com>
332
333 PR bootstrap/93409
334 * plugin/configfrag.ac (enable_offload_targets): Skip
335 HSA and GCN plugin besides -m32 also for -mx32.
336 * configure: Regenerate.
337
989a5fb3
FH
3382020-01-29 Frederik Harwath <frederik@codesourcery.com>
339
340 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
341
3422020-01-29 Frederik Harwath <frederik@codesourcery.com>
343
344 * plugin-gcn.c (struct agent_info): Add fields "name" and
345 "vendor_name" ...
346 (GOMP_OFFLOAD_init_device): ... and init from here.
347 (struct hsa_context_info): Add field "driver_version_s" ...
348 (init_hsa_contest): ... and init from here.
349 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
350 implementation.
351 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
352 Enable test execution for amdgcn and host offloading targets.
353 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
354 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
355 (expect_device_properties): Split function into ...
356 (expect_device_string_properties): ... this new function ...
357 (expect_device_memory): ... and this new function.
358 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
359 Add test.
360
278c3214
JB
3612020-01-28 Julian Brown <julian@codesourcery.com>
362
363 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
364 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
365 component/non-component variable refs in a single directive.
366 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
367
e8e66971
MR
3682020-01-24 Maciej W. Rozycki <macro@wdc.com>
369
370 * configure.ac: Handle `--with-toolexeclibdir='.
371 * Makefile.in: Regenerate.
372 * aclocal.m4: Regenerate.
373 * configure: Regenerate.
374 * testsuite/Makefile.in: Regenerate.
375
9e424d97
FH
3762020-01-24 Frederik Harwath <frederik@codesourcery.com>
377
378 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
379 (expect_device_properties): Remove "expected_free_mem" argument,
380 change "expected_total_mem" argument type to size_t;
381 change types of acc_get_property results to size_t,
382 adapt format strings.
383 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
384 Use %zu instead of %zd to print size_t values.
385 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
386 rename to ...
387 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
388 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
389 rename to ...
390 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
391
14e5e746
AS
3922020-01-23 Andrew Stubbs <ams@codesourcery.com>
393
394 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
395 the device id.
396
09e0ad62
AS
3972020-01-20 Andrew Stubbs <ams@codesourcery.com>
398
399 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
400 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
401 Adjust test dimensions for amdgcn.
402 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
403 gang/worker/vector expectations dynamically.
404 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
405 (main): Likewise.
406 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
408 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
410 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
411 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
412 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
413 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
414 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
415 (acc_gang): Recognise acc_device_radeon.
416 (acc_worker): Likewise.
417 (acc_vector): Likewise.
418 (main): Set expectations for amdgcn.
419 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
420 (main): Adjust gang/worker/vector expectations dynamically.
421 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
422 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
423 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
424 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
425 for amdgcn.
426
6687d13a
AS
4272020-01-17 Andrew Stubbs <ams@codesourcery.com>
428
429 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
430 acc_device_radeon.
431 (openacc): Likewise.
432 * openacc.f90 (openacc_kinds): Likewise.
433 (openacc): Likewise.
434 * openacc.h (acc_device_t): Likewise.
435 * openacc_lib.h: Likewise.
436 * testsuite/lib/libgomp.exp
437 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
438 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
439 (cb_compute_construct_end): Likewise.
440 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
441 (cb_enqueue_launch_start): Likewise.
442 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
443 (cb_enter_data_end): Likewise.
444 (cb_exit_data_start): Likewise.
445 (cb_exit_data_end): Likewise.
446 (cb_compute_construct_end): Likewise.
447 (cb_enqueue_launch_start): Likewise.
448 (cb_enqueue_launch_end): Likewise.
449 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
450 (main): Likewise.
451
b3b75e66
TS
4522020-01-10 Thomas Schwinge <thomas@codesourcery.com>
453
6fc0385c
TS
454 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
455 to use this instead of 'enum gomp_device_property'.
456 (GOMP_OFFLOAD_get_property): Rename to...
457 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
458 * libgomp.h (struct gomp_device_descr): Move
459 'GOMP_OFFLOAD_openacc_get_property'...
460 (struct acc_dispatch_t): ... here. Adjust all users.
461 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
462
b3b75e66
TS
463 * target.c (gomp_map_vars_internal)
464 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
465 paths.
466
91df4397
JJ
4672020-01-10 Jakub Jelinek <jakub@redhat.com>
468
469 PR libgomp/93219
470 * libgomp.h (gomp_print_string): Change return type from void to int.
471 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
472 not all characters have been written.
473
df2c0d36
TB
4742020-01-08 Tobias Burnus <tobias@codesourcery.com>
475
476 * libgomp.texi: Fix typos, use https.
477
f760c0c7
TB
4782020-01-03 Tobias Burnus <tobias@codesourcery.com>
479
480 * testsuite/libgomp.fortran/optional-map.f90: Add test for
481 unallocated/disassociated actual arguments to nonallocatable/nonpointer
482 dummy arguments; those are/shall be regarded as absent arguments.
483 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
484 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
485
7e7065b9
JJ
4862020-01-01 Jakub Jelinek <jakub@redhat.com>
487
8d9254fc
JJ
488 Update copyright years.
489
7e7065b9
JJ
490 * libgomp.texi: Bump @copying's copyright year.
491
2c829799
AM
4922019-12-31 Ayush Mittal <ayush.m@samsung.com>
493
494 PR libgomp/93065
495 * oacc-init.c (goacc_runtime_deinitialize): New function.
496
e9dcb75e
JJ
4972019-12-28 Jakub Jelinek <jakub@redhat.com>
498
499 PR bootstrap/93074
500 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
501 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
502
6c84c8bf
MR
5032019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
504 Frederik Harwath <frederik@codesourcery.com>
505 Thomas Schwinge <tschwinge@codesourcery.com>
506
507 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
508 * libgomp-plugin.h (gomp_device_property_value): New union.
509 (gomp_device_property_value): New prototype.
510 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
511 constant.
512 (acc_device_property_t): New enum.
513 (acc_get_property, acc_get_property_string): New prototypes.
514 * oacc-init.c (acc_get_device_type): Also assert that result
515 is not `acc_device_current'.
516 (get_property_any, acc_get_property, acc_get_property_string):
517 New functions.
518 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
519 `acc_property_memory', `acc_property_free_memory',
520 `acc_property_name', `acc_property_vendor' and
521 `acc_property_driver' constants. Add `acc_device_property' data
522 type.
523 (openacc_internal): Add `acc_get_property' and
524 `acc_get_property_string' interfaces. Add `acc_get_property_h',
525 `acc_get_property_string_h', `acc_get_property_l' and
526 `acc_get_property_string_l'.
527 * oacc-host.c (host_get_property): New function.
528 (host_dispatch): Wire it.
529 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
530 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
531 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
532 * libgomp.texi (OpenACC Runtime Library Routines): Add
533 `acc_get_property'.
534 (acc_get_property): New node.
535 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
536 function (stub).
537 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
538 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
539 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
540 calls.
541 (GOMP_OFFLOAD_get_property): New function.
542 (struct ptx_device): Add new field "name".
543 (cuda_driver_version_s): Add new static variable ...
544 (nvptx_init): ... and init from here.
545
546 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
547 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
548 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
549 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
550 with test helper functions.
551
552 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
553
c8e759b4
MR
5542019-12-22 Maciej W. Rozycki <macro@wdc.com>
555
556 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
557 variable.
558
b092fb3b
TS
5592019-12-21 Thomas Schwinge <thomas@codesourcery.com>
560
561 * target.c (gomp_map_vars_internal): Restore 'omp declare target
562 link' handling.
563
9be3ac5d
JB
5642019-12-19 Julian Brown <julian@codesourcery.com>
565
566 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
567 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
568 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
569
02817027
JB
5702019-12-19 Julian Brown <julian@codesourcery.com>
571 Cesar Philippidis <cesar@codesourcery.com>
572
573 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
574 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
575 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
576 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
577 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
578 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
579 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
580 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
581 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
582 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
583 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
584 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
585 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
586
c2eb021f
JB
5872019-12-19 Julian Brown <julian@codesourcery.com>
588
589 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
590 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
591 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
592 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
593 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
594 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
595 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
596 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
597 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
598 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
599 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
600 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
601
8e7e71ff
JB
6022019-12-19 Julian Brown <julian@codesourcery.com>
603
604 * libgomp.h (struct target_var_desc): Add do_detach flag.
605 * oacc-init.c (acc_shutdown_1): Free aux block if present.
606 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
607 struct components. Tidy up and add some new checks.
608 (goacc_enter_data_internal): Update call to find_group_last.
609 (goacc_exit_data_internal): Support detach operations and
610 GOMP_MAP_STRUCT.
611 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
612 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
613 attach/detach in enter/exit data detection code.
614 * target.c (gomp_map_vars_existing): Initialise do_detach field of
615 tgt_var_desc.
616 (gomp_map_vars_internal): Support attach.
617 (gomp_unmap_vars_internal): Support detach.
618
5d5be7bf
JB
6192019-12-19 Julian Brown <julian@codesourcery.com>
620 Thomas Schwinge <thomas@codesourcery.com>
621
622 * libgomp.h (struct splay_tree_aux): Add attach_count field.
623 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
624 * libgomp.map (OACC_2.6): New section. Add acc_attach,
625 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
626 acc_detach_finalize_async.
627 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
628 acc_detach, acc_detach_async, acc_detach_finalize,
629 acc_detach_finalize_async): New functions.
630 * openacc.h (acc_attach, acc_attach_async, acc_detach,
631 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
632 prototypes.
633 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
634 (gomp_remove_var_internal): Free attachment counts if present.
635 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
636 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
637
5bcd470b
JB
6382019-12-19 Julian Brown <julian@codesourcery.com>
639 Cesar Philippidis <cesar@codesourcery.com>
640
641 * libgomp.h (gomp_map_val): Add prototype.
642 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
643 open-coding device-address calculation.
644 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
645 non-present case.
646
378da98f
JB
6472019-12-19 Julian Brown <julian@codesourcery.com>
648
649 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
650 field for virtual_refcount.
651 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
652 (gomp_free_memmap): Remove prototype.
653 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
654 instead of calling gomp_free_memmap.
655 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
656 dynamic_refcount.
657 (acc_unmap_data): Open code instead of forcing target_mem_desc's
658 to_free field to NULL then calling gomp_unmap_vars. Handle
659 REFCOUNT_INFINITY on target blocks.
660 (goacc_enter_data): Rename to...
661 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
662 handling for mapping groups. Use virtual_refcount instead of
663 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
664 map_map_vars_async call. Re-do lookup for target pointer return value.
665 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
666 renamed goacc_enter_datum function.
667 (goacc_exit_data): Rename to...
668 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
669 (acc_delete, acc_delete_async, acc_delete_finalize,
670 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
671 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
672 goacc_exit_datum function.
673 (gomp_acc_remove_pointer, find_pointer): Remove functions.
674 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
675 New functions.
676 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
677 goacc_exit_data_internal helper functions.
678 * target.c (gomp_map_vars_internal): Handle
679 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
680 semantics.
681 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
682 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
683 virtual_refcount field instead of dynamic_refcount.
684 (gomp_free_memmap): Remove function.
685 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
686 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
687 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
688
2a656a93
JB
6892019-12-19 Julian Brown <julian@codesourcery.com>
690 Thomas Schwinge <thomas@codesourcery.com>
691
692 * libgomp.h (struct splay_tree_aux): New.
693 (struct splay_tree_key_s): Replace link_key field with aux pointer.
694 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
695 to aux struct.
696 (gomp_remove_var_internal): Free aux block if present.
697 (gomp_load_image_to_device): Zero-initialise aux field instead of
698 link_key field.
699 (omp_target_associate_pointer): Zero-initialise aux field.
700
601399c0
JJ
7012019-12-18 Jakub Jelinek <jakub@redhat.com>
702
703 PR middle-end/86416
704 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
705 q or none.
706 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
707 L or none.
708
a6163563
JB
7092019-12-19 Julian Brown <julian@codesourcery.com>
710 Maciej W. Rozycki <macro@codesourcery.com>
711 Tobias Burnus <tobias@codesourcery.com>
712 Thomas Schwinge <thomas@codesourcery.com>
713
714 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
715 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
716 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
717 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
718 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
719 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
720 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
721 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
722 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
723
6278b549
TS
7242019-12-18 Thomas Schwinge <thomas@codesourcery.com>
725
77ce5555
TS
726 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
727 called...
728 (goacc_insert_pointer): ... from here, "present" case.
729 (goacc_insert_pointer): Inline function into...
730 (GOACC_enter_exit_data): ... here, and simplify.
731
9444a299
TS
732 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
733 called...
734 (goacc_insert_pointer): ... from here, "not present" case.
735
5031b619
TS
736 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
737 all users.
738
1a79b578
TS
739 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
740 'goacc_enter_data', 'goacc_exit_data'.
741
34cfe31e
TS
742 * oacc-mem.c (delete_copyout): Refactor into...
743 (goacc_exit_data): ... this. Adjust all users.
744
aaf0e9d7
TS
745 * oacc-mem.c (present_create_copy): Refactor into...
746 (goacc_enter_data): ... this. Adjust all users.
747
83d1d065
TS
748 * target.c (gomp_unmap_vars_internal): Add a safeguard to
749 'gomp_remove_var'.
750
cc3f11f5
TS
751 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
752 like 'GOMP_MAP_FROM'.
753
ddb25eb9
TS
754 PR libgomp/92726
755 PR libgomp/92970
756 PR libgomp/92984
757 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
758 fails.
759 (GOACC_enter_exit_data): Simplify accordingly.
760 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
761 subsuming...
762 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
763 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
764 file.
765 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
766 subsuming...
767 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
768 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
769 file.
770 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
771 subsuming...
772 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
773
32128577
TS
774 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
775 'finalize' handling.
776
ba40277f
TS
777 PR libgomp/92848
778 * oacc-mem.c (acc_map_data, present_create_copy)
779 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
780 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
781 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
782 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
783 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
784 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
785 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
786 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
787 Remove "XFAIL"s.
788
6278b549
TS
789 * target.c (gomp_unmap_tgt): Make it 'static'.
790 * libgomp.h (gomp_unmap_tgt): Remove.
791
c80c9e26
TB
7922019-12-18 Tobias Burnus <tobias@codesourcery.com>
793
794 PR middle-end/86416
795 * testsuite/libgomp.c/pr86416-1.c: New.
796 * testsuite/libgomp.c/pr86416-2.c: New.
797
0b8499a4
TB
7982019-12-17 Tobias Burnus <tobias@codesourcery.com>
799
800 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
801 all symbols as public except for the 'use …, only' imported symbol,
802 which is private.
803 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
804 all symbols from module openacc_kinds as PUBLIC
805 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
806 fix comment typo.
807 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
808
1cbd94e8
JB
8092019-12-13 Julian Brown <julian@codesourcery.com>
810
811 PR libgomp/92881
812
813 * libgomp.h (gomp_remove_var_async): Add prototype.
814 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
815 gomp_remove_var.
816 * target.c (gomp_unref_tgt): Change return type to bool, indicating
817 whether target_mem_desc was unmapped.
818 (gomp_unref_tgt_void): New.
819 (gomp_remove_var): Reimplement in terms of...
820 (gomp_remove_var_internal): ...this new helper function.
821 (gomp_remove_var_async): New, implemented using above helper function.
822 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
823 gomp_unref_tgt.
824
26b74ed0
AS
8252019-12-13 Andrew Stubbs <ams@codesourcery.com>
826
827 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
828 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
829 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
830 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
831 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
832 Likewise.
833 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
834 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
835
7858bb96
TB
8362019-12-13 Tobias Burnus <tobias@codesourcery.com>
837
838 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
839 as public except for the 'use …, only' imported symbol, which is
840 private.
841 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
842 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
843 attributes for acc_copyout_finalize and acc_delete_finalize.
844
f8ac7d8f
JJ
8452019-12-11 Jakub Jelinek <jakub@redhat.com>
846
847 PR fortran/92899
848 * testsuite/libgomp.fortran/atomic1.f90: New test.
849
3d1b5e71
TS
8502019-12-11 Thomas Schwinge <thomas@codesourcery.com>
851
d6e8c01c
TS
852 PR libgomp/92843
853 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
854 reference counting for structured 'REFCOUNT_INFINITY'. Add some
855 assertions.
856 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
857 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
858 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
859 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
860 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
861
57963e39
TS
862 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
863 * oacc-mem.c: ... here.
864 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
865 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
866 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
867 Remove.
868 * libgomp_g.h: Update.
869
c5578b56
TS
870 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
871 * oacc-async.c: ... here.
872 * oacc-int.h (goacc_wait): Declare.
873 * libgomp_g.h: Update
874
3d1b5e71
TS
875 PR libgomp/92854
876 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
877 New file.
878 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
879 Likewise.
880 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
881 Likewise.
882 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
883 Likewise.
884 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
885 Likewise.
886 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
887 Likewise.
888
5e939438
TS
8892019-12-11 Thomas Schwinge <thomas@codesourcery.com>
890 Julian Brown <julian@codesourcery.com>
891
892 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
893 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
894
93d90219
TB
8952019-12-11 Tobias Burnus <tobias@codesourcery.com>
896
897 * omp_lib.h.in: Fix spelling of function declaration
898 omp_get_cancell(l)ation.
899 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
900 Fix typos.
901 * env.c: Fix comment typos.
902 * oacc-host.c: Likewise.
903 * ordered.c: Likewise.
904 * task.c: Likewise.
905 * team.c: Likewise.
906 * config/gcn/task.c: Likewise.
907 * config/gcn/team.c: Likewise.
908 * config/nvptx/task.c: Likewise.
909 * config/nvptx/team.c: Likewise.
910 * plugin/plugin-gcn.c: Likewise.
911 * testsuite/libgomp.fortran/jacobi.f: Likewise.
912 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
913 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
914
a0221aee
TB
9152019-12-11 Tobias Burnus <tobias@codesourcery.com>
916
917 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
918 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
919 unnecessary 'dg-additional-options "-w"'.
920
47afc7b4
TS
9212019-12-09 Thomas Schwinge <thomas@codesourcery.com>
922 Julian Brown <julian@codesourcery.com>
923
924 PR libgomp/92116
925 PR libgomp/92877
926
927 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
928 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
929 Adjust all users.
930 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
931 Remove XFAIL.
932 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
933 Likewise.
934 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
935
b5859e40
TS
9362019-12-09 Thomas Schwinge <thomas@codesourcery.com>
937
cec41816
TS
938 PR libgomp/92503
939 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
940 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
941 file.
942 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
943 Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
945 Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
947 Likewise.
948 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
949 Likewise.
950 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
951 Likewise.
952 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
953 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
956 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
958 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
959 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
960 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
961 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
962
e103542b
TS
963 PR libgomp/92840
964 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
965 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
966 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
967 New file.
968 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
969 Likewise.
970 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
971 Likewise.
972 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
973 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
974
41f36f22
TS
975 PR libgomp/92511
976 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
977 this file...
978 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
979 this file...
980 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
981 file...
982 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
983 file...
984 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
985 ... with their content moved into, and extended in this new file.
986 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
987 New file.
988 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
989 Likewise.
990 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
991 Likewise.
992 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
993 Likewise.
994
6effebe1
TS
995 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
996
7d020473
TS
997 PR libgomp/92854
998 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
999
1e1fb715
TS
1000 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1001
b5859e40
TS
1002 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1003
11586ed9
TB
10042019-12-09 Tobias Burnus <tobias@codesourcery.com>
1005
1006 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1007 unique.
1008 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1009 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1010 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1011 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1012 Ditto.
1013 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1014 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1015
3ad4a03a
KCY
10162019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1017
1018 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1019
6e4d01d6
TB
10202019-12-06 Tobias Burnus <tobias@codesourcery.com>
1021 Kwok Cheung Yeung <kcy@codesourcery.com>
1022
1023 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1024 if input it a NULL pointer.
1025 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1026 diagnostic of NULL pointer.
1027 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1028 * testsuite/libgomp.fortran/optional-map.f90: New.
1029 * testsuite/libgomp.fortran/use_device_addr-1.f90
1030 (test_dummy_opt_callee_1_absent): New.
1031 (test_dummy_opt_call_1): Call it.
1032 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1033 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1034 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1035 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1036 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1037 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1038 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1039 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1040 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1041 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1042 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1043 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1044 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1045 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1046 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1047 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1048
ad80ec46
TB
10492019-12-05 Tobias Burnus <tobias@codesourcery.com>
1050
1051 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1052 expect dg-output of 'Error termination.' for GCN.
1053 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1054 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1055
a8a5f4cc
JJ
10562019-12-04 Jakub Jelinek <jakub@redhat.com>
1057
1058 PR fortran/92756
1059 * testsuite/libgomp.fortran/teams1.f90: New test.
1060 * testsuite/libgomp.fortran/teams2.f90: New test.
1061
d8f0024b
FH
10622019-12-03 Frederik Harwath <frederik@codesourcery.com>
1063
1064 * oacc-init.c (acc_known_device_type): Add function.
1065 (unknown_device_type_error): Add function.
1066 (name_of_acc_device_t): Change to call unknown_device_type_error
1067 on unknown type.
1068 (resolve_device): Use acc_known_device_type.
1069 (acc_init): Fail if acc_device_t argument is not valid.
1070 (acc_shutdown): Likewise.
1071 (acc_get_num_devices): Likewise.
1072 (acc_set_device_type): Likewise.
1073 (acc_get_device_num): Likewise.
1074 (acc_set_device_num): Likewise.
1075 (acc_on_device): Add comment that argument validity is not checked.
1076
83caa34e
AS
10772019-12-03 Andrew Stubbs <ams@codesourcery.com>
1078
1079 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1080 Recognize amdgcn.
1081 (check_effective_target_openacc_amdgcn_accel_present): New proc.
1082 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1083 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1084 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1085 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1086
00484365
SN
10872019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
1088
1089 PR libgomp/91938
1090 * configure.tgt: Avoid IE tls on *-*-musl*.
1091
9909a059
TB
10922019-11-29 Tobias Burnus <tobias@codesourcery.com>
1093
1094 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1095 adding a common-block test case.
1096
b3f44388
JJ
10972019-11-29 Jakub Jelinek <jakub@redhat.com>
1098
1099 PR c++/60228
1100 * testsuite/libgomp.c++/udr-20.C: New test.
1101 * testsuite/libgomp.c++/udr-21.C: New test.
1102
b1a73b48
TS
11032019-11-27 Thomas Schwinge <thomas@codesourcery.com>
1104
1105 * testsuite/lib/libgomp.exp
1106 (check_effective_target_offload_target_nvptx): New proc.
1107 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1108 'dg-skip-if'.
1109 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1110 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1111 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1112
b8e72446
RO
11132019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1114
1115 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1116 * testsuite/libgomp.c/pr39591-2.c: Likewise.
1117 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1118 * testsuite/libgomp.c/private-1.c: Likewise.
1119 * testsuite/libgomp.c/task-1.c: Likewise.
1120 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1121
d88b27da
JB
11222019-11-20 Julian Brown <julian@codesourcery.com>
1123
1124 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1125 aq->mutex here.
1126 (queue_push_launch): Lock aq->mutex before calling
1127 wait_for_queue_nonfull.
1128 (queue_push_callback): Likewise.
1129 (queue_push_asyncwait): Likewise.
1130 (queue_push_placeholder): Likewise.
1131
8d2f4ddf
JB
11322019-11-20 Julian Brown <julian@codesourcery.com>
1133
1134 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1135 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1136 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1137 return code.
1138
e307b05f
JB
11392019-11-20 Julian Brown <julian@codesourcery.com>
1140
1141 PR libgomp/92511
1142
1143 * oacc-mem.c (present_create_copy): Fix device pointer return value in
1144 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
1145 in non-present/create case.
1146 (delete_copyout): Change error condition to fail only on copies outside
1147 of mapped block. Adjust error message accordingly.
1148 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1149 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1150 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1151 message.
1152 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1153 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1154 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1155
83115e9e
MR
11562019-11-20 Maciej W. Rozycki <macro@wdc.com>
1157
1158 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1159 libatomic in build-tree testing.
1160
a1289887
MR
11612019-11-18 Maciej W. Rozycki <macro@wdc.com>
1162
1163 * testsuite/Makefile.in: Regenerate.
1164
8916ba87
AS
11652019-11-15 Andrew Stubbs <ams@codesourcery.com>
1166
1167 * testsuite/libgomp.c/target-print-1.c: New file.
1168 * testsuite/libgomp.fortran/target-print-1.f90: New file.
1169 * testsuite/libgomp.oacc-c/print-1.c: New file.
1170 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1171
237957cc
AS
11722019-11-13 Andrew Stubbs <ams@codesourcery.com>
1173 Kwok Cheung Yeung <kcy@codesourcery.com>
1174 Julian Brown <julian@codesourcery.com>
1175 Tom de Vries <tom@codesourcery.com>
1176
1177 * plugin/Makefrag.am: Add amdgcn plugin support.
1178 * plugin/configfrag.ac: Likewise.
1179 * plugin/plugin-gcn.c: New file.
1180 * configure: Regenerate.
1181 * Makefile.in: Regenerate.
1182 * testsuite/Makefile.in: Regenerate.
1183
cee16451
AS
11842019-11-13 Andrew Stubbs <ams@codesourcery.com>
1185
1186 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1187 and use team_malloc variants.
1188 (gomp_gcn_exit_kernel): Use team_free.
1189 * libgomp.h (TEAM_ARENA_SIZE): Define.
1190 (TEAM_ARENA_START): Define.
1191 (TEAM_ARENA_FREE): Define.
1192 (TEAM_ARENA_END): Define.
1193 (team_malloc): New function.
1194 (team_malloc_cleared): New function.
1195 (team_free): New function.
1196 * team.c (gomp_new_team): Initialize and use team_malloc.
1197 (free_team): Use team_free.
1198 (gomp_free_thread): Use team_free.
1199 (gomp_pause_host): Use team_free.
1200 * work.c (gomp_init_work_share): Use team_malloc.
1201 (gomp_fini_work_share): Use team_free.
1202
fa499995
AS
12032019-11-13 Andrew Stubbs <ams@codesourcery.com>
1204 Kwok Cheung Yeung <kcy@codesourcery.com>
1205 Julian Brown <julian@codesourcery.com>
1206 Tom de Vries <tom@codesourcery.com>
1207
1208 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1209 * Makefile.in: Regenerate.
1210 * config.h.in (PLUGIN_GCN): Add new undef.
1211 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1212 * config/gcn/affinity-fmt.c: New file.
1213 * config/gcn/bar.c: New file.
1214 * config/gcn/bar.h: New file.
1215 * config/gcn/doacross.h: New file.
1216 * config/gcn/icv-device.c: New file.
1217 * config/gcn/oacc-target.c: New file.
1218 * config/gcn/simple-bar.h: New file.
1219 * config/gcn/target.c: New file.
1220 * config/gcn/task.c: New file.
1221 * config/gcn/team.c: New file.
1222 * config/gcn/time.c: New file.
1223 * configure.ac: Add amdgcn*-*-*.
1224 * configure: Regenerate.
1225 * configure.tgt: Add amdgcn*-*-*.
1226 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1227 * libgomp.h (gcn_thrs): Add amdgcn variant.
1228 (set_gcn_thrs): Likewise.
1229 (gomp_thread): Likewise.
1230 * oacc-int.h (goacc_thread): Likewise.
1231 * oacc-target.c: New file.
1232 * openacc.f90 (acc_device_gcn): New parameter.
1233 * openacc.h (acc_device_t): Add acc_device_gcn.
1234 * team.c (gomp_free_pool_helper): Add amdgcn support.
1235
d2903ce0
AS
12362019-11-13 Andrew Stubbs <ams@codesourcery.com>
1237 Julian Brown <julian@codesourcery.com>
1238
1239 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1240 parameter.
1241 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1242 queue constructor.
1243 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1244 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1245 device parameter.
1246
b3d14b3a
AS
12472019-11-13 Andrew Stubbs <ams@codesourcery.com>
1248
1249 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1250 * config/nvptx/libgomp-plugin.c: Move ...
1251 * config/accel/libgomp-plugin.c: ... to here.
1252 * config/nvptx/lock.c: Move ...
1253 * config/accel/lock.c: ... to here.
1254 * config/nvptx/mutex.c: Move ...
1255 * config/accel/mutex.c: ... to here.
1256 * config/nvptx/mutex.h: Move ...
1257 * config/accel/mutex.h: ... to here.
1258 * config/nvptx/oacc-async.c: Move ...
1259 * config/accel/oacc-async.c: ... to here.
1260 * config/nvptx/oacc-cuda.c: Move ...
1261 * config/accel/oacc-cuda.c: ... to here.
1262 * config/nvptx/oacc-host.c: Move ...
1263 * config/accel/oacc-host.c: ... to here.
1264 * config/nvptx/oacc-init.c: Move ...
1265 * config/accel/oacc-init.c: ... to here.
1266 * config/nvptx/oacc-mem.c: Move ...
1267 * config/accel/oacc-mem.c: ... to here.
1268 * config/nvptx/oacc-plugin.c: Move ...
1269 * config/accel/oacc-plugin.c: ... to here.
1270 * config/nvptx/omp-lock.h: Move ...
1271 * config/accel/omp-lock.h: ... to here.
1272 * config/nvptx/openacc.f90: Move ...
1273 * config/accel/openacc.f90: ... to here.
1274 * config/nvptx/pool.h: Move ...
1275 * config/accel/pool.h: ... to here.
1276 * config/nvptx/proc.c: Move ...
1277 * config/accel/proc.c: ... to here.
1278 * config/nvptx/ptrlock.c: Move ...
1279 * config/accel/ptrlock.c: ... to here.
1280 * config/nvptx/ptrlock.h: Move ...
1281 * config/accel/ptrlock.h: ... to here.
1282 * config/nvptx/sem.c: Move ...
1283 * config/accel/sem.c: ... to here.
1284 * config/nvptx/sem.h: Move ...
1285 * config/accel/sem.h: ... to here.
1286 * config/nvptx/thread-stacksize.h: Move ...
1287 * config/accel/thread-stacksize.h: ... to here.
1288
62aee289
MR
12892019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1290 Tobias Burnus <tobias@codesourcery.com>
1291 Frederik Harwath <frederik@codesourcery.com>
1292 Thomas Schwinge <thomas@codesourcery.com>
1293
1294 libgomp/
1295 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1296 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1297 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1298
a2c26c50
TB
12992019-11-11 Tobias Burnus <tobias@codesourcery.com>
1300 Kwok Cheung Yeung <kcy@codesourcery.com>
1301
1302 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1303 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1304
6d4868f3
TS
13052019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1306
bfa1837b
TS
1307 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1308
6d4868f3
TS
1309 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1310 run'.
1311 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1312 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1313
5d183d17
FH
13142019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1315
1316 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1317 Add expected warnings about missing reduction clauses.
1318 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1319 Likewise.
1320 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1321 Likewise.
1322 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1323 Likewise.
1324
d8f03b03
TB
13252019-11-04 Tobias Burnus <tobias@codesourcery.com>
1326
1327 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1328 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1329 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1330 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1331 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1332 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1333
12fd2ec5
TB
13342019-11-04 Tobias Burnus <tobias@codesourcery.com>
1335
1336 PR fortran/92305
1337 * testsuite/libgomp.fortran/allocatable2.f90: Use
1338 unique numbers with 'stop'.
1339 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1340 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1341 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1342 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1343 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1344
92e63bd2
TB
13452019-11-01 Tobias Burnus <tobias@codesourcery.com>
1346
1347 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1348 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1349 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1350 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1351 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1352 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1353
91ae0a46
TB
13542019-10-30 Tobias Burnus <tobias@codesourcery.com>
1355
1356 * testsuite/libgomp.fortran/target9.f90: New.
1357
c425e66b
TB
13582019-10-30 Tobias Burnus <tobias@codesourcery.com>
1359
1360 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1361 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1362 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1363 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1364 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1365 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1366 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1367 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1368 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1369 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1370 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1371 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1372 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1373 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1374 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1375 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1376 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1377 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1378 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1379 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1380 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1381 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1382 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1383 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1384 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1385 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1386 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1387 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1388 * testsuite/libgomp.fortran/character1.f90: Ditto.
1389 * testsuite/libgomp.fortran/character2.f90: Ditto.
1390 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1391 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1392 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1393 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1394 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1395 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1396 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1397 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1398 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1399 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1400 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1401 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1402 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1403 * testsuite/libgomp.fortran/do1.f90: Ditto.
1404 * testsuite/libgomp.fortran/do2.f90: Ditto.
1405 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1406 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1407 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1408 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1409 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1410 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1411 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1412 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1413 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1414 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1415 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1416 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1417 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1418 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1419 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1420 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1421 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1422 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1423 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1424 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1425 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1426 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1427 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1428 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1429 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1430 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1431 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1432 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1433 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1434 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1435 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1436 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1437 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1438 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1439 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1440 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1441 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1442 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1443 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1444 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1445 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1446 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1447 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1448 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1449 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1450 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1451 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1452 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1453 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1454 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1455 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1456 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1457 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1458 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1459 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1460 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1461 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1462 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1463 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1464 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1465 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1466 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1467 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1468 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1469 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1470 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1471 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1472 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1473 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1474 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1475 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1476 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1477 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1478 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1479 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1480 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1481 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1482 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1483 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1484 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1485 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1486 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1487 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1488 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1489 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1490 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1491 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1492 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1493 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1494 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1495 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1496 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1497 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1498 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1499 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1500 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1501 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1502 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1503 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1504 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1505 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1506 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1507 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1508 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1509 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1510 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1511 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1512 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1513 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1514 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1515 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1516 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1517 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1518 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1519 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1520 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1521 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1522 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1523 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1524 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1525 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1526 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1527 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1528 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1529 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1530 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1531 * testsuite/libgomp.fortran/stack.f90: Ditto.
1532 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1533 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1534 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1535 * testsuite/libgomp.fortran/target1.f90: Ditto.
1536 * testsuite/libgomp.fortran/target2.f90: Ditto.
1537 * testsuite/libgomp.fortran/target3.f90: Ditto.
1538 * testsuite/libgomp.fortran/target4.f90: Ditto.
1539 * testsuite/libgomp.fortran/target5.f90: Ditto.
1540 * testsuite/libgomp.fortran/target6.f90: Ditto.
1541 * testsuite/libgomp.fortran/target7.f90: Ditto.
1542 * testsuite/libgomp.fortran/target8.f90: Ditto.
1543 * testsuite/libgomp.fortran/task1.f90: Ditto.
1544 * testsuite/libgomp.fortran/task2.f90: Ditto.
1545 * testsuite/libgomp.fortran/task3.f90: Ditto.
1546 * testsuite/libgomp.fortran/task4.f90: Ditto.
1547 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1548 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1549 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1550 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1551 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1552 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1553 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1554 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1555 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1556 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1557 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1558 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1559 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1560 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1561 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1562 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1563 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1564 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1565 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1566 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1567 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1568 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1569 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1570 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1571 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1572 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1573 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1574 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1575 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1576 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1577 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1578 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1579 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1580 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1581
01509e2f
TB
15822019-10-30 Tobias Burnus <tobias@codesourcery.com>
1583
1584 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1585 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1586 Ditto; add 'dg-do run' for torture testing.
1587 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1588 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1589 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1590 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1591 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1592 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1593 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1594 * testsuite/libgomp.fortran/task2.f90: Ditto.
1595 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1596 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1597 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1598 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1599 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1600 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1601
ffbdd78a
TB
16022019-10-28 Tobias Burnus <tobias@codesourcery.com>
1603
1604 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1605 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1606 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1607 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1608 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1609 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1610 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1611 Use 'stop' not abort().
1612 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1613 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1614 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1615 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1616 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1617 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1618 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1619 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1620 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1621 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1622 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1623 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1624 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1625 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1626 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1627 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1628 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1629 Ditto.
1630 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1631 Ditto.
1632 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1633 Ditto.
1634 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1635 Ditto.
1636 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1637 Ditto.
1638 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1639 Ditto.
1640 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1641 Ditto.
1642 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1643 Ditto.
1644 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1645 Ditto.
1646 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1647 Ditto.
1648 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1649 Ditto.
1650 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1651 Ditto.
1652 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1653 Ditto.
1654 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1655 Ditto.
1656 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1657 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1658 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1659 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1660 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1661 Likewise and also add 'dg-do run'.
1662 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1663 Ditto.
1664
ec084613
CP
16652019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1666 Tobias Burnus <tobias@codesourcery.com>
1667
1668 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1669 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1670 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1671
77ef3394
JJ
16722019-10-14 Jakub Jelinek <jakub@redhat.com>
1673
1674 PR libgomp/92081
1675 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1676 than 0.
1677
08c14aaa
TB
16782019-10-11 Tobias Burnus <tobias@codesourcery.com>
1679
1680 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1681 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1682
6bbead0c
TS
16832019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1684
1685 PR middle-end/92036
1686 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1687 file.
1688
eba3dee8
TB
16892019-10-09 Tobias Burnus <tobias@codesourcery.com>
1690
1691 PR testsuite/91884
1692 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1693 add -lquadmath.
1694 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1695
7d48e14f
JJ
16962019-10-09 Jakub Jelinek <jakub@redhat.com>
1697
1698 PR libgomp/92028
1699 * target.c (gomp_map_vars_internal): Readd the previous
1700 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1701 though do that just in the !not_found_cnt case.
1702
65b67cf3
TB
17032019-10-08 Tobias Burnus <tobias@codesourcery.com>
1704
1705 * gfortran.dg/gomp/target-simd.f90: New.
1706
6c7e076b
JB
17072019-10-02 Julian Brown <julian@codesourcery.com>
1708 Cesar Philippidis <cesar@codesourcery.com>
1709
1710 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1711 * target.c (FIELD_TGT_EMPTY): Define.
1712 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1713 as switch instead of list of ifs.
1714 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1715
d61bff85
AT
17162019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1717
1718 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1719 include. Replace alloca () with __builtin_alloca ().
1720 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1721
810f316d
JJ
17222019-10-01 Jakub Jelinek <jakub@redhat.com>
1723
1724 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1725 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1726 * oacc-parallel.c: Don't include "libgomp_g.h".
1727 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1728 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1729 * aclocal.m4: Regenerated.
1730 * config.h.in: Regenerated.
1731 * configure: Regenerated.
1732 * Makefile.in: Regenerated.
1733
d7f9ee98
KCY
17342019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1735
1736 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1737
e9085da5
MR
17382019-09-27 Maciej W. Rozycki <macro@wdc.com>
1739
1740 * configure: Regenerate.
1741
c28712be
TB
17422019-09-13 Tobias Burnus <tobias@codesourcery.com>
1743
1744 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1745 string is initialized.
1746
3c086f8d
FW
17472019-09-06 Florian Weimer <fweimer@redhat.com>
1748
1749 * configure: Regenerate.
1750
c6c2d1bc
CLT
17512019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1752
1753 PR other/79543
1754 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1755 scanning to conform to the GNU Coding Standards.
1756 * configure: Regenerate.
1757
5cb72d83
JJ
17582019-08-28 Jakub Jelinek <jakub@redhat.com>
1759
1760 PR libgomp/91530
1761 * testsuite/libgomp.c/scan-21.c: New test.
1762 * testsuite/libgomp.c/scan-22.c: New test.
1763
0ad7981c
JJ
17642019-08-27 Jakub Jelinek <jakub@redhat.com>
1765
1766 PR libgomp/91530
1767 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1768 targets.
1769 * testsuite/libgomp.c/scan-12.c: Likewise.
1770 * testsuite/libgomp.c/scan-13.c: Likewise.
1771 * testsuite/libgomp.c/scan-14.c: Likewise.
1772 * testsuite/libgomp.c/scan-15.c: Likewise.
1773 * testsuite/libgomp.c/scan-16.c: Likewise.
1774 * testsuite/libgomp.c/scan-17.c: Likewise.
1775 * testsuite/libgomp.c/scan-18.c: Likewise.
1776 * testsuite/libgomp.c/scan-19.c: Likewise.
1777 * testsuite/libgomp.c/scan-20.c: Likewise.
1778 * testsuite/libgomp.c++/scan-9.C: Likewise.
1779 * testsuite/libgomp.c++/scan-10.C: Likewise.
1780 * testsuite/libgomp.c++/scan-11.C: Likewise.
1781 * testsuite/libgomp.c++/scan-12.C: Likewise.
1782 * testsuite/libgomp.c++/scan-14.C: Likewise.
1783 * testsuite/libgomp.c++/scan-15.C: Likewise.
1784 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1785 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1786 * testsuite/libgomp.c++/scan-16.C: Likewise.
1787
1e67491a
TK
17882019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1789
1790 PR fortran/91473
1791 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1792 -std=legacy so invalid code in the test case is accepted.
1793
393fdeb1
TK
17942019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1795
1796 PR fortran/91422
1797 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1798 dimension.
1799
8860d270
JJ
18002019-08-08 Jakub Jelinek <jakub@redhat.com>
1801
1802 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1803 perform the lookup in the first loop only if !not_found_cnt, otherwise
1804 perform lookups for it in the second loop guarded with
1805 if (not_found_cnt || has_firstprivate).
1806 * testsuite/libgomp.c/target-37.c: New test.
1807 * testsuite/libgomp.c++/target-22.C: New test.
1808
398e3feb
JJ
18092019-08-07 Jakub Jelinek <jakub@redhat.com>
1810
1811 * testsuite/libgomp.c/target-18.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.
1815 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1816 (foo): Use use_device_addr clause instead of use_device_ptr clause
1817 where required by OpenMP 5.0, add further tests for both use_device_ptr
1818 and use_device_addr clauses. Add t and u arguments.
1819 (main): Adjust caller.
1820
d81ab49d
JJ
18212019-08-06 Jakub Jelinek <jakub@redhat.com>
1822
1823 * testsuite/libgomp.c++/loop-13.C: New test.
1824 * testsuite/libgomp.c++/loop-14.C: New test.
1825 * testsuite/libgomp.c++/loop-15.C: New test.
1826
c3ac76aa
JJ
18272019-07-31 Jakub Jelinek <jakub@redhat.com>
1828
1829 PR middle-end/91301
1830 * testsuite/libgomp.c++/for-27.C: New test.
1831
8dc63166
SK
18322019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1833
393fdeb1 1834 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 1835 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 1836
554a530f
JJ
18372019-07-20 Jakub Jelinek <jakub@redhat.com>
1838
1839 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1840
6cda84b5
JJ
18412019-07-08 Jakub Jelinek <jakub@redhat.com>
1842
1843 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1844 * testsuite/libgomp.c++/scan-16.C: Likewise.
1845
1f52d1a8
JJ
18462019-07-06 Jakub Jelinek <jakub@redhat.com>
1847
6f67abcd
JJ
1848 * testsuite/libgomp.c/scan-19.c: New test.
1849 * testsuite/libgomp.c/scan-20.c: New test.
1850
1f52d1a8
JJ
1851 * testsuite/libgomp.c/scan-11.c: New test.
1852 * testsuite/libgomp.c/scan-12.c: New test.
1853 * testsuite/libgomp.c/scan-13.c: New test.
1854 * testsuite/libgomp.c/scan-14.c: New test.
1855 * testsuite/libgomp.c/scan-15.c: New test.
1856 * testsuite/libgomp.c/scan-16.c: New test.
1857 * testsuite/libgomp.c/scan-17.c: New test.
1858 * testsuite/libgomp.c/scan-18.c: New test.
1859 * testsuite/libgomp.c++/scan-9.C: New test.
1860 * testsuite/libgomp.c++/scan-10.C: New test.
1861 * testsuite/libgomp.c++/scan-11.C: New test.
1862 * testsuite/libgomp.c++/scan-12.C: New test.
1863 * testsuite/libgomp.c++/scan-13.C: New test.
1864 * testsuite/libgomp.c++/scan-14.C: New test.
1865 * testsuite/libgomp.c++/scan-15.C: New test.
1866 * testsuite/libgomp.c++/scan-16.C: New test.
1867
2f03073f
JJ
18682019-07-04 Jakub Jelinek <jakub@redhat.com>
1869
1870 * testsuite/libgomp.c/scan-9.c: New test.
1871 * testsuite/libgomp.c/scan-10.c: New test.
1872
2f6bb511
JJ
18732019-07-03 Jakub Jelinek <jakub@redhat.com>
1874
1875 * testsuite/libgomp.c++/scan-1.C: New test.
1876 * testsuite/libgomp.c++/scan-2.C: New test.
1877 * testsuite/libgomp.c++/scan-3.C: New test.
1878 * testsuite/libgomp.c++/scan-4.C: New test.
1879 * testsuite/libgomp.c++/scan-5.C: New test.
1880 * testsuite/libgomp.c++/scan-6.C: New test.
1881 * testsuite/libgomp.c++/scan-7.C: New test.
1882 * testsuite/libgomp.c++/scan-8.C: New test.
1883 * testsuite/libgomp.c/scan-1.c: New test.
1884 * testsuite/libgomp.c/scan-2.c: New test.
1885 * testsuite/libgomp.c/scan-3.c: New test.
1886 * testsuite/libgomp.c/scan-4.c: New test.
1887 * testsuite/libgomp.c/scan-5.c: New test.
1888 * testsuite/libgomp.c/scan-6.c: New test.
1889 * testsuite/libgomp.c/scan-7.c: New test.
1890 * testsuite/libgomp.c/scan-8.c: New test.
1891
bd194a51
TS
18922019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1893
85fca03a
TS
1894 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1895 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1896 Likewise.
1897
bd194a51
TS
1898 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1899 check.
1900
6652161e
CP
19012019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1902
1903 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1904 file.
1905
3a37d6f6
TS
19062019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1907
4017da8d
TS
1908 PR fortran/90743
1909 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1910 case.
1911 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1912 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1913 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1914 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1915
6f7c1f65
TS
1916 PR testsuite/90861
1917 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1918
3a37d6f6
TS
1919 PR middle-end/90862
1920 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1921
f45ce17d
TV
19222019-06-16 Tom de Vries <tdevries@suse.de>
1923
1924 PR tree-optimization/89376
1925 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1926
00908992
TV
19272019-06-15 Tom de Vries <tdevries@suse.de>
1928
1929 PR tree-optimization/89713
1930 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1931 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1932
211b7533
JJ
19332019-06-15 Jakub Jelinek <jakub@redhat.com>
1934
1935 PR middle-end/90779
1936 * testsuite/libgomp.c/pr90779.c: New test.
1937 * testsuite/libgomp.fortran/pr90779.f90: New test.
1938
120a01d1
TV
19392019-06-15 Tom de Vries <tdevries@suse.de>
1940
1941 PR tree-optimization/90009
1942 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1943
c29c92c7
FX
19442019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1945
1946 PR tree-optimization/89713
1947 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1948
ce9c4ec3
JJ
19492019-06-11 Jakub Jelinek <jakub@redhat.com>
1950
1951 PR target/90811
1952 * testsuite/libgomp.c/pr90811.c: New test.
1953
28b3a77c
JJ
19542019-06-05 Jakub Jelinek <jakub@redhat.com>
1955
1956 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1957 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1958
7855700e
JJ
19592019-06-04 Jakub Jelinek <jakub@redhat.com>
1960
1961 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1962 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1963 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1964 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1965
a7155c2e
RO
19662019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1967
1968 * configure.ac: Call AX_COUNT_CPUS.
1969 Substitute CPU_COUNT.
1970 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1971 count fallback.
1972 * aclocal.m4: Regenerate.
1973 * configure: Regenerate.
1974 * Makefile.in, testsuite/Makefile.in: Regenerate.
1975
7e47198b
JJ
19762019-05-29 Jakub Jelinek <jakub@redhat.com>
1977
1978 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1979 to ...
1980 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1981 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1982 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1983
fcfb8032
JJ
19842019-05-27 Jakub Jelinek <jakub@redhat.com>
1985
8e7757ba
JJ
1986 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1987
36c7a3ff
JJ
1988 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1989
fcfb8032
JJ
1990 PR libgomp/90641
1991 * work.c (gomp_init_work_share): Instead of aligning final ordered
1992 value to multiples of long long alignment, align to that the
1993 first part (ordered team ids) and if inline_ordered_team_ids
1994 is not on a long long alignment boundary within the structure,
1995 use __alignof__ (long long) - 1 pad size always.
1996 * loop.c (GOMP_loop_start): Fix *mem computation if
1997 inline_ordered_team_ids is not aligned on long long alignment boundary
1998 within the structure.
1999 * loop-ull.c (GOMP_loop_ull_start): Likewise.
2000 * sections.c (GOMP_sections2_start): Likewise.
2001
b5c26449
JJ
20022019-05-24 Jakub Jelinek <jakub@redhat.com>
2003
6c7ae8c5
JJ
2004 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2005 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2006
b5c26449
JJ
2007 PR libgomp/90585
2008 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
2009 HAVE_INTTYPES_H is defined.
2010 (print_uint64_t): New typedef.
2011 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2012 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2013 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2014 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
2015 before casting to void *.
2016 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2017 * oacc-mem.c: Don't include config.h nor stdint.h.
2018 * target.c: Don't include config.h.
2019 * oacc-cuda.c: Likewise.
2020 * oacc-host.c: Don't include stdint.h.
2021
3e03ed66
JJ
20222019-05-20 Jakub Jelinek <jakub@redhat.com>
2023
2024 PR libgomp/90527
2025 * alloc.c (_GNU_SOURCE): Define.
2026
5fae049d
TS
20272019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2028
2029 * acc_prof.h: New file.
2030 * oacc-profiling.c: Likewise.
2031 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2032 Add these, respectively.
2033 * Makefile.in: Regenerate.
2034 * env.c (initialize_env): Call goacc_profiling_initialize.
2035 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2036 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2037 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2038 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2039 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2040 acc_prof_register, acc_prof_unregister, and acc_register_library.
2041 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2042 GOMP_PLUGIN_goacc_thread.
2043 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2044 prof_callbacks_enabled members.
2045 (goacc_prof_enabled, goacc_profiling_initialize)
2046 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2047 (goacc_profiling_dispatch): Declare.
2048 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2049 (GOACC_PROFILING_SETUP_P): Define.
2050 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2051 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2052 OpenACC Profiling Interface.
2053 * oacc-cuda.c (acc_get_current_cuda_device)
2054 (acc_get_current_cuda_context, acc_get_cuda_stream)
2055 (acc_set_cuda_stream): Likewise.
2056 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2057 (acc_init, acc_set_device_type, acc_get_device_type)
2058 (acc_get_device_num, goacc_lazy_initialize): Likewise.
2059 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2060 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2061 (acc_unmap_data, present_create_copy, delete_copyout)
2062 (update_dev_host): Likewise.
2063 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2064 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2065 Likewise.
2066 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2067 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2068 Likewise.
2069 * libgomp.texi: Update.
2070 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2071 file.
2072 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2073 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2074 Likewise.
2075 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2076 Likewise.
2077 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2078 Likewise.
2079 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2080 Likewise.
2081
1f4c5b9b
CLT
20822019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
2083
2084 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2085 (struct goacc_asyncqueue_list): Likewise.
2086 (goacc_aq): Likewise.
2087 (goacc_aq_list): Likewise.
2088 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2089 (GOMP_OFFLOAD_openacc_async_test): Remove.
2090 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2091 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2092 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2093 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2094 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2095 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2096 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2097 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2098 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2099 (GOMP_OFFLOAD_openacc_async_exec): Declare.
2100 (GOMP_OFFLOAD_openacc_async_construct): Declare.
2101 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2102 (GOMP_OFFLOAD_openacc_async_test): Declare.
2103 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2104 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2105 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2106 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2107 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2108
2109 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2110 (gomp_acc_insert_pointer): Adjust declaration.
2111 (gomp_copy_host2dev): New declaration.
2112 (gomp_copy_dev2host): Likewise.
2113 (gomp_map_vars_async): Likewise.
2114 (gomp_unmap_tgt): Likewise.
2115 (gomp_unmap_vars_async): Likewise.
2116 (gomp_fini_device): Likewise.
2117
2118 * oacc-async.c (get_goacc_thread): New function.
2119 (get_goacc_thread_device): New function.
2120 (lookup_goacc_asyncqueue): New function.
2121 (get_goacc_asyncqueue): New function.
2122 (acc_async_test): Adjust code to use new async design.
2123 (acc_async_test_all): Likewise.
2124 (acc_wait): Likewise.
2125 (acc_wait_async): Likewise.
2126 (acc_wait_all): Likewise.
2127 (acc_wait_all_async): Likewise.
2128 (goacc_async_free): New function.
2129 (goacc_init_asyncqueues): Likewise.
2130 (goacc_fini_asyncqueues): Likewise.
2131 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2132 design.
2133 (acc_set_cuda_stream): Likewise.
2134 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2135 (host_openacc_register_async_cleanup): Remove.
2136 (host_openacc_async_exec): New function.
2137 (host_openacc_async_test): Adjust parameters.
2138 (host_openacc_async_test_all): Remove.
2139 (host_openacc_async_wait): Remove.
2140 (host_openacc_async_wait_async): Remove.
2141 (host_openacc_async_wait_all): Remove.
2142 (host_openacc_async_wait_all_async): Remove.
2143 (host_openacc_async_set_async): Remove.
2144 (host_openacc_async_synchronize): New function.
2145 (host_openacc_async_serialize): New function.
2146 (host_openacc_async_host2dev): New function.
2147 (host_openacc_async_dev2host): New function.
2148 (host_openacc_async_queue_callback): New function.
2149 (host_openacc_async_construct): New function.
2150 (host_openacc_async_destruct): New function.
2151 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 2152 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
2153 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2154 (goacc_attach_host_thread_to_device): Remove old async code usage.
2155 * oacc-int.h (goacc_init_asyncqueues): New declaration.
2156 (goacc_fini_asyncqueues): Likewise.
2157 (goacc_async_copyout_unmap_vars): Likewise.
2158 (goacc_async_free): Likewise.
2159 (get_goacc_asyncqueue): Likewise.
2160 (lookup_goacc_asyncqueue): Likewise.
2161 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2162 design.
2163 (present_create_copy): Adjust code to use new async design.
2164 (delete_copyout): Likewise.
2165 (update_dev_host): Likewise.
2166 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2167 async design.
2168 (gomp_acc_remove_pointer): Adjust code to use new async design.
2169 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2170 design.
2171 (GOACC_enter_exit_data): Likewise.
2172 (goacc_wait): Likewise.
2173 (GOACC_update): Likewise.
2174 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2175 when called, warn as obsolete in comment.
2176 * target.c (goacc_device_copy_async): New function.
2177 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2178 add goacc_device_copy_async case.
2179 (gomp_copy_dev2host): Likewise.
2180 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2181 (gomp_map_pointer): Likewise.
2182 (gomp_map_fields_existing): Likewise.
2183 (gomp_map_vars_internal): New always_inline function, renamed from
2184 gomp_map_vars.
2185 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2186 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2187 passing goacc_asyncqueue argument.
2188 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2189 (gomp_unref_tgt): New function.
2190 (gomp_unmap_vars_internal): New always_inline function, renamed from
2191 gomp_unmap_vars.
2192 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2193 (gomp_unmap_vars_async): Implement by calling
2194 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2195 (gomp_fini_device): New function.
2196 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2197 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2198 new async interface.
2199 (gomp_target_fini): Adjust code to call gomp_fini_device.
2200
2201 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2202 (struct ptx_stream): Remove.
2203 (struct nvptx_thread): Remove current_stream field.
2204 (cuda_map_create): Remove.
2205 (cuda_map_destroy): Remove.
2206 (map_init): Remove.
2207 (map_fini): Remove.
2208 (map_pop): Remove.
2209 (map_push): Remove.
2210 (struct goacc_asyncqueue): Define.
2211 (struct nvptx_callback): Define.
2212 (struct ptx_free_block): Define.
2213 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2214 stream_lock, and next fields.
2215 (enum ptx_event_type): Remove.
2216 (struct ptx_event): Remove.
2217 (ptx_event_lock): Remove.
2218 (ptx_events): Remove.
2219 (init_streams_for_device): Remove.
2220 (fini_streams_for_device): Remove.
2221 (select_stream_for_async): Remove.
2222 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2223 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2224 case.
2225 (nvptx_open_device): Add free_blocks initialization, remove
2226 init_streams_for_device call.
2227 (nvptx_close_device): Remove fini_streams_for_device call, add
2228 free_blocks destruct code.
2229 (event_gc): Remove.
2230 (event_add): Remove.
2231 (nvptx_exec): Adjust parameters and code.
2232 (nvptx_free): Likewise.
2233 (nvptx_host2dev): Remove.
2234 (nvptx_dev2host): Remove.
2235 (nvptx_set_async): Remove.
2236 (nvptx_async_test): Remove.
2237 (nvptx_async_test_all): Remove.
2238 (nvptx_wait): Remove.
2239 (nvptx_wait_async): Remove.
2240 (nvptx_wait_all): Remove.
2241 (nvptx_wait_all_async): Remove.
2242 (nvptx_get_cuda_stream): Remove.
2243 (nvptx_set_cuda_stream): Remove.
2244 (GOMP_OFFLOAD_alloc): Adjust code.
2245 (GOMP_OFFLOAD_free): Likewise.
2246 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2247 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2248 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2249 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2250 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2251 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2252 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2253 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2254 (cuda_free_argmem): New function.
2255 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2256 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2257 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2258 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2259 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2260 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2261 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2262 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2263 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2264 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2265 (cuda_callback_wrapper): New function.
2266 (cuda_memcpy_sanity_check): New function.
2267 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2268 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2269 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2270 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2271
da2d30c1
TS
22722019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2273
2274 PR target/87835
2275 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2276
2bbbfa4e
TS
22772019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2278
2279 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2280
bbf1efe1
KB
22812019-03-27 Kevin Buettner <kevinb@redhat.com>
2282
2283 * team.c (gomp_team_start): Initialize pool->threads[0].
2284
1241136c
TS
22852019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2286
b03d721a
TS
2287 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2288 "-foffload=$offload_target".
2289 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2290 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2291 * testsuite/lib/libgomp.exp
2292 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2293 as (conceptually) merged into
2294 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2295 users.
2296
0a0384b4
TS
2297 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2298 * testsuite/libgomp-test-support.exp.in: Adjust.
2299 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2300 openacc_device_types_s.
2301 (offload_target_to_openacc_device_type): New proc.
2302 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2303 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2304 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2305 * Makefile.in: Regenerate.
2306 * configure: Likewise.
2307 * testsuite/Makefile.in: Likewise.
2308
ee332b4a
TS
2309 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2310 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2311 instead of OFFLOAD_TARGETS.
2312 * target.c (gomp_target_init): Adjust.
2313 * testsuite/libgomp-test-support.exp.in: Likewise.
2314 * testsuite/lib/libgomp.exp: Likewise. Populate
2315 openacc_device_types_s instead of offload_targets_s_openacc.
2316 (check_effective_target_openacc_nvidia_accel_selected)
2317 (check_effective_target_openacc_host_selected): Adjust.
2318 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2319 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2320 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2321 * Makefile.in: Regenerate.
2322 * config.h.in: Likewise.
2323 * configure: Likewise.
2324 * testsuite/Makefile.in: Likewise.
2325
1241136c
TS
2326 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2327 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2328 "offloading: supported, but hardware not accessible".
2329 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2330 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2331
19695f4d
CLT
23322019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2333
2334 PR c/87924
2335 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2336 goacc_wait().
2337 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2338 and related adjustment.
2339
8b44f8ec
JJ
23402019-01-30 Jakub Jelinek <jakub@redhat.com>
2341
2342 PR c++/88988
2343 * testsuite/libgomp.c++/pr88988.C: New test.
2344
be3a87e7
JJ
23452019-01-28 Jakub Jelinek <jakub@redhat.com>
2346
2347 PR middle-end/89002
2348 * testsuite/libgomp.c/pr89002.c: New test.
2349
497ef4d7
RB
23502019-01-28 Richard Biener <rguenther@suse.de>
2351
2352 PR testsuite/89064
2353 PR tree-optimization/86865
2354 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2355
738c56d4
TV
23562019-01-24 Tom de Vries <tdevries@suse.de>
2357
2358 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2359 once instantiated_devices drops to 0.
2360
4a75460b
TV
23612019-01-23 Tom de Vries <tdevries@suse.de>
2362
2363 PR target/PR88946
2364 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2365 cuMemFree.
2366 (nvptx_exec): Don't call map_push if mapnum == 0.
2367 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2368
4fef8e4d
TV
23692019-01-23 Tom de Vries <tdevries@suse.de>
2370
2371 PR target/88941
2372 PR target/88939
2373 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2374 (map_fini): Remove "assert (!s->map->active)".
2375 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2376
2ee6cb22
TV
23772019-01-23 Tom de Vries <tdevries@suse.de>
2378
2379 PR target/87835
2380 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2381 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2382
d41d952c
TV
23832019-01-15 Tom de Vries <tdevries@suse.de>
2384
2385 PR target/80547
2386 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2387 New test.
2388
efb56ae8
TV
23892019-01-12 Tom de Vries <tdevries@suse.de>
2390
2391 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2392 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2393 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2394 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2395
2c2ff168
TV
23962019-01-12 Tom de Vries <tdevries@suse.de>
2397
2398 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2399
a1057758
TV
24002019-01-12 Tom de Vries <tdevries@suse.de>
2401
2402 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2403 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2404 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2405
56314b77
TV
24062019-01-12 Tom de Vries <tdevries@suse.de>
2407
2408 PR target/85486
2409 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2410 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2411
b39e4366
TV
24122019-01-12 Tom de Vries <tdevries@suse.de>
2413
2414 PR target/85381
2415 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2416 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2417
2cb7a501
TV
24182019-01-12 Tom de Vries <tdevries@suse.de>
2419
2420 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2421 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2422 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2423
8e77f71e
TV
24242019-01-12 Tom de Vries <tdevries@suse.de>
2425
2426 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2427 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2428 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2429
52d22ece
TV
24302019-01-12 Tom de Vries <tdevries@suse.de>
2431
2432 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2433 resources diagnostic.
2434
2b9d9e39
TV
24352019-01-12 Tom de Vries <tdevries@suse.de>
2436
2437 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2438 vector length to be 128.
2439 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2440 length 2097152 to be reduced to 1024 instead of 32.
2441
4102bda6
TS
24422019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2443 James Norris <jnorris@codesourcery.com>
2444
2445 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2446 Library Routines", and "Environment Variables".
2447
052aaace
TV
24482019-01-11 Tom de Vries <tdevries@suse.de>
2449
2450 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2451 num_workers 16.
2452
9390f916
TV
24532019-01-11 Tom de Vries <tdevries@suse.de>
2454
2455 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2456 -foffload=-w.
2457 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2458 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2459 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2460 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2461
2c3e7ad2
TV
24622019-01-11 Tom de Vries <tdevries@suse.de>
2463
2464 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2465 test.
2466
e222497d
NS
24672019-01-10 Nathan Sidwell <nathan@acm.org>
2468 Julian Brown <julian@codesourcery.com>
2469
2470 PR lto/71959
2471 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2472 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2473
cb87fec3
SH
24742019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2475
2476 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2477 and paste code.
2478
30b4d0d0
SH
24792019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2480
2481 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2482 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2483 write.
2484
5d0bc70a
TV
24852019-01-09 Tom de Vries <tdevries@suse.de>
2486
2487 PR target/88756
2488 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2489 #define instead of "const int".
2490 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2491 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2492 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2493 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2494
2c372e81
TV
24952019-01-09 Tom de Vries <tdevries@suse.de>
2496
2497 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2498 one worker.
2499
43493c97
TV
25002019-01-07 Tom de Vries <tdevries@suse.de>
2501
2502 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2503 GOMP_OPENACC_DIM argument.
2504
5c571497
TV
25052019-01-03 Tom de Vries <tdevries@suse.de>
2506
2507 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2508 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2509
a5544970
JJ
25102019-01-01 Jakub Jelinek <jakub@redhat.com>
2511
2512 Update copyright years.
2513
3f27508c
JJ
25142019-01-01 Jakub Jelinek <jakub@redhat.com>
2515
2516 * libgomp.texi: Bump @copying's copyright year.
2517
59d5960c
TS
25182018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2519
2520 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2521 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2522 (GOACC_declare): Redefine the "device" argument to "flags".
2523
a44c1790
TS
25242018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2525 Cesar Philippidis <cesar@codesourcery.com>
2526
2527 * target.c (struct gomp_coalesce_chunk): New structure.
2528 (struct gomp_coalesce_buf): Update the chunks member to use that
2529 type. Adjust all users.
2530
a152954e
TV
25312018-12-19 Tom de Vries <tdevries@suse.de>
2532
2533 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2534 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2535 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2536
49188cd1
TV
25372018-12-19 Tom de Vries <tdevries@suse.de>
2538
2539 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2540 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2541 gcc/testsuite/gcc.dg/goacc.
2542 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2543
c759830b
TS
25442018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2545 Chung-Lin Tang <cltang@codesourcery.com>
2546
2547 * oacc-mem.c (acc_present_or_create): Remove definition and change
2548 to alias of acc_create.
2549 (acc_present_or_copyin): Remove definition and change to alias of
2550 acc_copyin.
2551 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2552 of acc_present_or_create.
2553 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2554 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2555 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2556 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2557 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2558 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2559 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2560 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2561 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2562 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2563 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2564 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2565 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2566 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2567 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2568 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2569
7de562ee
TS
25702018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2571
f847198e
TS
2572 PR libgomp/88495
2573 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2574 "identical parameters".
2575 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2576 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2577
c8ab8aab
TS
2578 PR libgomp/88484
2579 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2580 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2581
1404af62
TS
2582 PR libgomp/88407
2583 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2584 (nvptx_wait_async): Unseen async-argument is a no-op.
2585 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2586 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2587 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2588 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2589 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2590 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2591 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2592 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2593 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2594
7de562ee
TS
2595 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2596 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2597
17469af7
CLT
25982018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2599
2600 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2601 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2602 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2603
18c247cc
TS
26042018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2605
2606 PR libgomp/88370
2607 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2608 (acc_set_cuda_stream): Clarify.
2609 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2610 "async_valid_p".
2611 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2612 acc_async_sync".
2613 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2614 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2615 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2616 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2617
b0aba46c
TV
26182018-12-14 Tom de Vries <tdevries@suse.de>
2619
2620 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2621 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2622 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2623 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2624 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2625
fe0827ee
TV
26262018-12-13 Tom de Vries <tdevries@suse.de>
2627
2628 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2629 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2630 * fortran.c (omp_display_affinity_): ... here.
2631 * libgomp.h (gomp_print_string): Declare.
2632 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2633 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2634 write.
2635
a51f8c92
JJ
26362018-12-13 Jakub Jelinek <jakub@redhat.com>
2637
2638 PR libgomp/88460
2639 * testsuite/libgomp.c++/for-24.C (results): Include it in
2640 omp declare target region.
2641 (main): Use map (always, tofrom: results) instead of
2642 map (tofrom: results).
2643
a6ef2ac9
JJ
26442018-12-12 Jakub Jelinek <jakub@redhat.com>
2645
7a289b7d
JJ
2646 PR fortran/88463
2647 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2648 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2649
a6ef2ac9
JJ
2650 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2651
9c47a019
AS
26522018-12-12 Andreas Schwab <schwab@suse.de>
2653
2654 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2655 clobbered.
2656
d0cbb206
TK
26572018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2658
2659 PR fortran/88411
2660 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2661
84ca08d2
TS
26622018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2663 Jakub Jelinek <jakub@redhat.com>
2664
2665 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2666 devicep->host2dev_func.
2667
6997628d
JJ
26682018-12-08 Jakub Jelinek <jakub@redhat.com>
2669
2670 PR libgomp/87995
2671 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2672 tls_runtime effective target.
2673 (t): New threadprivate variable.
2674 (main): Set t in threads which execute iterations of the worksharing
2675 loop. Propagate that to the task after the loop and don't abort
2676 if the current taskgroup hasn't been cancelled.
2677
daa8c1d7
JJ
26782018-12-02 Jakub Jelinek <jakub@redhat.com>
2679
4a82df9a
JJ
2680 * testsuite/libgomp.c/task-reduction-3.c: New test.
2681
daa8c1d7
JJ
2682 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2683
fe570ff8
CP
26842018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2685
2686 PR libgomp/88288
2687 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2688 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2689
c223608f
TS
26902018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2691
2692 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2693
fc60283c
RB
26942018-10-19 Richard Biener <rguenther@suse.de>
2695
2696 PR tree-optimization/88182
2697 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2698
ffcf3b79
JJ
26992018-11-26 Jakub Jelinek <jakub@redhat.com>
2700
2701 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2702 (RUNTEST): Don't define.
2703 (RUNTESTDEFAULTFLAGS): Add.
2704 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2705 (distclean-am): Depend on distclean-DEJAGNU.
2706 (check-am): If -j% option is present in MFLAGS and if
2707 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2708 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2709 * testsuite/Makefile.in: Regenerated.
2710
ef6e6914
RB
27112018-11-26 Richard Biener <rguenther@suse.de>
2712
2713 PR tree-optimization/88182
2714 * testsuite/libgomp.c++/pr88182.C: New testcase.
2715
72d3bb76
JJ
27162018-11-20 Jakub Jelinek <jakub@redhat.com>
2717
2718 PR bootstrap/88106
2719 * config/mingw32/affinity-fmt.c: New file.
2720
207286c3
JJ
27212018-11-09 Jakub Jelinek <jakub@redhat.com>
2722
9666c522
JJ
2723 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2724 (gomp_display_affinity): Use __builtin_choose_expr to handle
2725 properly handle argument having integral, or pointer or some other
2726 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2727 with uint64_t type instead of %llx and unsigned long long.
2728
207286c3
JJ
2729 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2730 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2731
2033f45b
RO
27322018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2733
2734 * affinity.c: Include <string.h>, <stdio.h>.
2735 (gomp_display_affinity_place): Remove cpusetp.
2736 * teams.c: Include <limits.h>.
2737
28567c40
JJ
27382018-11-08 Jakub Jelinek <jakub@redhat.com>
2739
8991d779
JJ
2740 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2741 in_reduction clause for s[0].
2742
28567c40
JJ
2743 * affinity.c (gomp_display_affinity_place): New function.
2744 * affinity-fmt.c: New file.
2745 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2746 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2747 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2748 Move these functions to ...
2749 * config/nvptx/teams.c: ... here. New file.
2750 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2751 New functions.
2752 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2753 functions.
2754 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2755 and _aligned_malloc.
2756 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2757 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2758 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2759 gomp_affinity_format_len): New variables.
2760 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2761 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2762 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2763 modifiers. Display (non-default) chunk sizes. Print
2764 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2765 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2766 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2767 * fortran.c: Include stdio.h and string.h.
2768 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2769 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2770 (omp_set_affinity_format_, omp_get_affinity_format_,
2771 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2772 omp_pause_resource_all_): New functions.
2773 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2774 switch.
2775 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2776 functions to ...
2777 * teams.c: ... here. New file.
2778 * libgomp_g.h: Include gstdint.h.
2779 (GOMP_loop_nonmonotonic_runtime_start,
2780 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2781 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2782 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2783 GOMP_parallel_loop_nonmonotonic_runtime,
2784 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2785 GOMP_loop_ull_nonmonotonic_runtime_start,
2786 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2787 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2788 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2789 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2790 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2791 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2792 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2793 GOMP_teams_reg): Declare.
2794 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2795 gomp_aligned_alloc uses fallback implementation.
2796 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2797 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2798 (struct gomp_doacross_work_share): Add extra field.
2799 (struct gomp_work_share): Add task_reductions field.
2800 (struct gomp_taskgroup): Add workshare and reductions fields.
2801 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2802 (gomp_thread_handle): New typedef.
2803 (gomp_display_affinity_place, gomp_set_affinity_format,
2804 gomp_display_string, gomp_display_affinity,
2805 gomp_display_affinity_thread): Declare.
2806 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2807 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2808 gomp_workshare_task_reduction_register): Declare.
2809 (gomp_team_start): Add taskgroup argument.
2810 (gomp_pause_host): Declare.
2811 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2812 to size_t.
2813 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2814 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2815 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2816 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2817 GOMP_loop_ull_doacross_start,
2818 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2819 GOMP_loop_maybe_nonmonotonic_runtime_next,
2820 GOMP_loop_maybe_nonmonotonic_runtime_start,
2821 GOMP_loop_nonmonotonic_runtime_next,
2822 GOMP_loop_nonmonotonic_runtime_start,
2823 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2824 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2825 GOMP_loop_ull_nonmonotonic_runtime_next,
2826 GOMP_loop_ull_nonmonotonic_runtime_start,
2827 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2828 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2829 GOMP_taskgroup_reduction_register,
2830 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2831 GOMP_teams_reg and GOMP_taskwait_depend.
2832 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2833 omp_{capture,display}_affinity{,_}, and
2834 omp_[gs]et_affinity_format{,_}.
2835 * loop.c: Include string.h.
2836 (GOMP_loop_runtime_next): Add ialias.
2837 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2838 (gomp_loop_static_start, gomp_loop_dynamic_start,
2839 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2840 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2841 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2842 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2843 or gomp_doacross_init callers.
2844 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2845 GOMP_loop_doacross_start): New functions.
2846 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2847 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2848 Mask off GFS_MONOTONIC bit.
2849 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2850 GOMP_loop_maybe_nonmonotonic_runtime_start,
2851 GOMP_loop_nonmonotonic_runtime_next,
2852 GOMP_loop_nonmonotonic_runtime_start,
2853 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2854 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2855 functions.
2856 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2857 gomp_team_start.
2858 * loop_ull.c: Include string.h.
2859 (GOMP_loop_ull_runtime_next): Add ialias.
2860 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2861 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2862 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2863 gomp_loop_ull_ordered_dynamic_start,
2864 gomp_loop_ull_ordered_guided_start,
2865 gomp_loop_ull_doacross_static_start,
2866 gomp_loop_ull_doacross_dynamic_start,
2867 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2868 and gomp_doacross_ull_init callers.
2869 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2870 GOMP_loop_ull_doacross_start): New functions.
2871 (GOMP_loop_ull_runtime_start,
2872 GOMP_loop_ull_ordered_runtime_start,
2873 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2874 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2875 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2876 GOMP_loop_ull_nonmonotonic_runtime_next,
2877 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2878 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2879 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2880 (omp_pause_resource_t, omp_depend_t): New typedefs.
2881 (enum omp_lock_hint_t): Renamed to ...
2882 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2883 enumerators using numbers and omp_lock_hint_* as their aliases.
2884 (omp_lock_hint_t): New typedef. Rename to ...
2885 (omp_sync_hint_t): ... this.
2886 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2887 omp_sync_hint_t instead of omp_lock_hint_t.
2888 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2889 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2890 Declare.
2891 (omp_target_is_present, omp_target_disassociate_ptr):
2892 Change first argument from void * to const void *.
2893 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2894 from void * to const void *.
2895 (omp_target_associate_ptr): Change first and second arguments from
2896 void * to const void *.
2897 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2898 omp_pause_hard): New parameters.
2899 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2900 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2901 New interfaces.
2902 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2903 omp_pause_hard): New parameters.
2904 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2905 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2906 New externals.
2907 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2908 EXTRA argument. If not needed to prepare array, if extra is 0,
2909 clear ws->doacross, otherwise allocate just doacross structure and
2910 extra payload. If array is needed, allocate also extra payload.
2911 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2912 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2913 doacross == NULL.
2914 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2915 gomp_team_start.
2916 (GOMP_parallel): Likewise. Formatting fix.
2917 (GOMP_parallel_reductions): New function.
2918 (GOMP_cancellation_point): If taskgroup has workshare
2919 flag set, check cancelled of prev taskgroup if any.
2920 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2921 on prev taskgroup if any.
2922 * sections.c: Include string.h.
2923 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2924 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2925 (GOMP_sections2_start): New function.
2926 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2927 Pass NULL as taskgroup to gomp_team_start.
2928 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2929 gomp_work_share_start callers.
2930 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2931 If taskgroup has workshare flag set, check cancelled on prev
2932 taskgroup if any. Guard all cancellation tests with
2933 gomp_cancel_var test.
2934 (omp_target_is_present, omp_target_disassociate_ptr):
2935 Change ptr argument from void * to const void *.
2936 (omp_target_memcpy): Change src argument from void * to const void *.
2937 (omp_target_memcpy_rect): Likewise.
2938 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2939 instead of char * where needed.
2940 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2941 from void * to const void *.
2942 (omp_pause_resource, omp_pause_resource_all): New functions.
2943 * task.c (gomp_task_handle_depend): Handle new depend array format
2944 in addition to the old. Handle mutexinoutset kinds the same as
2945 inout for now, handle unspecified kinds.
2946 (gomp_create_target_task): If taskgroup has workshare flag set, check
2947 cancelled on prev taskgroup if any. Guard all cancellation tests with
2948 gomp_cancel_var test. Handle new depend array format count in
2949 addition to the old.
2950 (GOMP_task): Likewise. Adjust function comment.
2951 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2952 cancelled on prev taskgroup if any. Guard all cancellation tests with
2953 gomp_cancel_var test.
2954 (GOMP_taskwait_depend): New function.
2955 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2956 format in addition to the old. Handle mutexinoutset kinds the same as
2957 inout for now, handle unspecified kinds. Fix a function comment typo.
2958 (gomp_taskgroup_init): New function.
2959 (GOMP_taskgroup_start): Use it.
2960 (gomp_reduction_register, gomp_create_artificial_team,
2961 GOMP_taskgroup_reduction_register,
2962 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2963 gomp_parallel_reduction_register,
2964 gomp_workshare_task_reduction_register,
2965 gomp_workshare_taskgroup_start,
2966 GOMP_workshare_task_reduction_unregister): New functions.
2967 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2968 check cancelled on prev taskgroup if any. Guard all cancellation
2969 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2970 by calling GOMP_taskgroup_reduction_register.
2971 * team.c (gomp_thread_attr): Remove comment.
2972 (struct gomp_thread_start_data): Add handle field.
2973 (gomp_thread_start): Call pthread_detach.
2974 (gomp_new_team): Adjust gomp_init_work_share caller.
2975 (gomp_free_pool_helper): Call pthread_detach.
2976 (gomp_team_start): Add taskgroup argument, initialize implicit
2977 tasks' taskgroup field to that. Don't call
2978 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2979 (gomp_team_end): Determine nesting by thr->ts.level != 0
2980 rather than thr->ts.team != NULL.
2981 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2982 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2983 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2984 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2985 if more than 1 allocate also extra payload at the end of array. Never
2986 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2987 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2988 return true instead of ws.
2989 * Makefile.in: Regenerated.
2990 * configure: Regenerated.
2991 * config.h.in: Regenerated.
2992 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2993 in some cases.
2994 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2995 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2996 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2997 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2998 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2999 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3000 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3001 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3002 * testsuite/libgomp.c-c++-common/for-10.c: New test.
3003 * testsuite/libgomp.c-c++-common/for-11.c: New test.
3004 * testsuite/libgomp.c-c++-common/for-12.c: New test.
3005 * testsuite/libgomp.c-c++-common/for-13.c: New test.
3006 * testsuite/libgomp.c-c++-common/for-14.c: New test.
3007 * testsuite/libgomp.c-c++-common/for-15.c: New test.
3008 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3009 define a different N(test), don't define N(f0) to N(f14), but instead
3010 define N(f20) to N(f34) using != comparisons.
3011 * testsuite/libgomp.c-c++-common/for-7.c: New test.
3012 * testsuite/libgomp.c-c++-common/for-8.c: New test.
3013 * testsuite/libgomp.c-c++-common/for-9.c: New test.
3014 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3015 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3016 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3017 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3018 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3019 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3020 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3021 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3022 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3023 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3024 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3025 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3026 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3027 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3028 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3029 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3030 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3031 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3032 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3033 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3034 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3035 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3036 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3037 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3038 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3039 * testsuite/libgomp.c++/depend-1.C: New test.
3040 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3041 * testsuite/libgomp.c++/depobj-1.C: New test.
3042 * testsuite/libgomp.c++/for-16.C: New test.
3043 * testsuite/libgomp.c++/for-21.C: New test.
3044 * testsuite/libgomp.c++/for-22.C: New test.
3045 * testsuite/libgomp.c++/for-23.C: New test.
3046 * testsuite/libgomp.c++/for-24.C: New test.
3047 * testsuite/libgomp.c++/for-25.C: New test.
3048 * testsuite/libgomp.c++/for-26.C: New test.
3049 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3050 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3051 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3052 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3053 * testsuite/libgomp.c++/task-reduction-10.C: New test.
3054 * testsuite/libgomp.c++/task-reduction-11.C: New test.
3055 * testsuite/libgomp.c++/task-reduction-12.C: New test.
3056 * testsuite/libgomp.c++/task-reduction-13.C: New test.
3057 * testsuite/libgomp.c++/task-reduction-14.C: New test.
3058 * testsuite/libgomp.c++/task-reduction-15.C: New test.
3059 * testsuite/libgomp.c++/task-reduction-16.C: New test.
3060 * testsuite/libgomp.c++/task-reduction-17.C: New test.
3061 * testsuite/libgomp.c++/task-reduction-18.C: New test.
3062 * testsuite/libgomp.c++/task-reduction-19.C: New test.
3063 * testsuite/libgomp.c/task-reduction-1.c: New test.
3064 * testsuite/libgomp.c++/task-reduction-1.C: New test.
3065 * testsuite/libgomp.c/task-reduction-2.c: New test.
3066 * testsuite/libgomp.c++/task-reduction-2.C: New test.
3067 * testsuite/libgomp.c++/task-reduction-3.C: New test.
3068 * testsuite/libgomp.c++/task-reduction-4.C: New test.
3069 * testsuite/libgomp.c++/task-reduction-5.C: New test.
3070 * testsuite/libgomp.c++/task-reduction-6.C: New test.
3071 * testsuite/libgomp.c++/task-reduction-7.C: New test.
3072 * testsuite/libgomp.c++/task-reduction-8.C: New test.
3073 * testsuite/libgomp.c++/task-reduction-9.C: New test.
3074 * testsuite/libgomp.c/teams-1.c: New test.
3075 * testsuite/libgomp.c/teams-2.c: New test.
3076 * testsuite/libgomp.c/thread-limit-4.c: New test.
3077 * testsuite/libgomp.c/thread-limit-5.c: New test.
3078 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3079
58168bbf
CLT
30802018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
3081
3082 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3083 acc_memcpy_to/from_device functions, now with async parameter.
3084 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3085 (acc_memcpy_from_device): Likewise.
3086 (acc_memcpy_to_device_async): New API function.
3087 (acc_memcpy_from_device_async): Likewise.
3088 (present_create_copy): Add async parameter and async setting/unsetting.
3089 (acc_create): Adjust present_create_copy call.
3090 (acc_copyin): Likewise.
3091 (acc_present_or_create): Likewise.
3092 (acc_present_or_copyin): Likewise.
3093 (acc_create_async): New API function.
3094 (acc_copyin_async): New API function.
3095 (delete_copyout): Add async parameter and async setting/unsetting.
3096 (acc_delete): Adjust delete_copyout call.
3097 (acc_copyout): Likewise.
3098 (acc_delete_async): New API function.
3099 (acc_copyout_async): Likewise.
3100 (update_dev_host): Add async parameter and async setting/unsetting.
3101 (acc_update_device): Adjust update_dev_host call.
3102 (acc_update_self): Likewise.
3103 (acc_update_device_async): New API function.
3104 (acc_update_self_async): Likewise.
3105 * openacc.h (acc_copyin_async): Declare new API function.
3106 (acc_create_async): Likewise.
3107 (acc_copyout_async): Likewise.
3108 (acc_delete_async): Likewise.
3109 (acc_update_device_async): Likewise.
3110 (acc_update_self_async): Likewise.
3111 (acc_memcpy_to_device_async): Likewise.
3112 (acc_memcpy_from_device_async): Likewise.
3113 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3114 (acc_copyin_async_64_h): New subroutine.
3115 (acc_copyin_async_array_h): New subroutine.
3116 (acc_create_async_32_h): New subroutine.
3117 (acc_create_async_64_h): New subroutine.
3118 (acc_create_async_array_h): New subroutine.
3119 (acc_copyout_async_32_h): New subroutine.
3120 (acc_copyout_async_64_h): New subroutine.
3121 (acc_copyout_async_array_h): New subroutine.
3122 (acc_delete_async_32_h): New subroutine.
3123 (acc_delete_async_64_h): New subroutine.
3124 (acc_delete_async_array_h): New subroutine.
3125 (acc_update_device_async_32_h): New subroutine.
3126 (acc_update_device_async_64_h): New subroutine.
3127 (acc_update_device_async_array_h): New subroutine.
3128 (acc_update_self_async_32_h): New subroutine.
3129 (acc_update_self_async_64_h): New subroutine.
3130 (acc_update_self_async_array_h): New subroutine.
3131 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3132 (acc_copyin_async_64_h): New subroutine.
3133 (acc_copyin_async_array_h): New subroutine.
3134 (acc_create_async_32_h): New subroutine.
3135 (acc_create_async_64_h): New subroutine.
3136 (acc_create_async_array_h): New subroutine.
3137 (acc_copyout_async_32_h): New subroutine.
3138 (acc_copyout_async_64_h): New subroutine.
3139 (acc_copyout_async_array_h): New subroutine.
3140 (acc_delete_async_32_h): New subroutine.
3141 (acc_delete_async_64_h): New subroutine.
3142 (acc_delete_async_array_h): New subroutine.
3143 (acc_update_device_async_32_h): New subroutine.
3144 (acc_update_device_async_64_h): New subroutine.
3145 (acc_update_device_async_array_h): New subroutine.
3146 (acc_update_self_async_32_h): New subroutine.
3147 (acc_update_self_async_64_h): New subroutine.
3148 (acc_update_self_async_array_h): New subroutine.
3149 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3150 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3151 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3152 acc_memcpy_to_device_async*, acc_update_device_async*, and
3153 acc_update_self_async* entries.
3154 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3155 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3156 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3157
22e05272
JM
31582018-10-31 Joseph Myers <joseph@codesourcery.com>
3159
3160 PR bootstrap/82856
3161 * Makefile.am: Include multilib.am
3162 (AUTOMAKE_OPTIONS): Add info-in-builddir.
3163 (CLEANFILES): Remove libgomp.info.
3164 * configure.ac: Remove AC_PREREQ.
3165 * testsuite/Makefile.am (RUNTEST): Remove quotes.
3166 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3167 Regenerate.
3168
87a5ccfb
JM
31692018-10-29 Joseph Myers <joseph@codesourcery.com>
3170 Julian Brown <julian@codesourcery.com>
3171
3172 * testsuite/libgomp.oacc-c++/this.C: New.
3173
2049befd
CP
31742018-09-18 Cesar Philippidis <cesar@codesourcery.com>
3175
3176 * plugin/plugin-nvptx.c (struct cuda_map): New.
3177 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3178 h_tail with (cuda_map *) map.
3179 (cuda_map_create): New function.
3180 (cuda_map_destroy): New function.
3181 (map_init): Update to use a linked list of cuda_map objects.
3182 (map_fini): Likewise.
3183 (map_pop): Likewise.
3184 (map_push): Likewise. Return CUdeviceptr instead of void.
3185 (init_streams_for_device): Remove stales references to ptx_stream
3186 members.
3187 (select_stream_for_async): Likewise.
3188 (nvptx_exec): Update call to map_init.
3189
8e36332c
CP
31902018-09-09 Cesar Philippidis <cesar@codesourcery.com>
3191 Julian Brown <julian@codesourcery.com>
3192
3193 PR middle-end/86336
3194 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3195
2b4c9065
NK
31962018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
3197 Thomas Koenig <tkoenig@gcc.gnu.org>
3198
3199 PR fortran/25829
3200 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3201 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3202 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3203 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3204 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3205 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3206 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3207
bd9b3d3d
CP
32082018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3209 Tom de Vries <tdevries@suse.de>
3210
3211 PR target/85590
3212 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3213 (cuOccupancyMaxPotentialBlockSize): Declare.
3214 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3215 CUDA_ONE_CALL_MAYBE_NULL.
3216 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3217 CUoccupancyB2DSize and declare
3218 cuOccupancyMaxPotentialBlockSize.
3219 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3220 default num_gangs and num_workers when the driver supports it.
3221
8e09a12f
TV
32222018-08-08 Tom de Vries <tdevries@suse.de>
3223
3224 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3225 CUDA_ONE_CALL_MAYBE_NULL.
3226 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3227 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3228 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3229 are not found.
3230
cedd9bd0
TV
32312018-08-08 Tom de Vries <tdevries@suse.de>
3232
3233 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3234 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3235 present.
3236
b113af95
TV
32372018-08-08 Tom de Vries <tdevries@suse.de>
3238
3239 * plugin/plugin-nvptx.c
3240 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3241 (nvptx_open_device): Use
3242 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3243
94767dac
TV
32442018-08-08 Tom de Vries <tdevries@suse.de>
3245
3246 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3247 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3248
02150de8
TV
32492018-08-07 Tom de Vries <tdevries@suse.de>
3250
3251 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3252 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3253 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3254 corresponding call in CUDA_ONE_CALL. Add def/undef of
3255 CUDA_ONE_CALL_MAYBE_NULL.
3256 (CUDA_CALL_EXISTS): Define.
3257
9e28b107
TV
32582018-08-07 Tom de Vries <tdevries@suse.de>
3259
3260 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3261 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3262 corresponding undefs right after.
3263
09940090
TV
32642018-08-04 Tom de Vries <tdevries@suse.de>
3265
3266 * plugin/configfrag.ac: For --without-cuda-driver, set
3267 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3268 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3269 * configure: Regenerate.
3270
77e0a97a
TV
32712018-08-02 Tom de Vries <tdevries@suse.de>
3272
3273 PR target/86660
3274 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3275 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3276 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3277 Same.
3278 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3279 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3280 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3281
701d080a
CP
32822018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3283 Thomas Schwinge <thomas@codesourcery.com>
3284
3285 * config/nvptx/oacc-parallel.c: Truncate.
3286
094db6be
CP
32872018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3288 James Norris <jnorris@codesourcery.com>
3289
3290 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
3291 (map_init, map_pop): Remove use of struct map.
3292 (map_push): Likewise and change argument list.
094db6be
CP
3293 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3294
8c6310a2
TV
32952018-08-01 Tom de Vries <tdevries@suse.de>
3296
3297 * plugin/cuda-lib.def: New file. Factor out of ...
3298 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3299 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3300 using CUDA_CALLS.
3301
1d4a51cf
AV
33022018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3303
3304 Revert 'AsyncI/O patch committed'.
3305 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3306 Thomas Koenig <tkoenig@gcc.gnu.org>
3307
3308 PR fortran/25829
3309 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3310 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3311 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3312 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3313 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3314 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3315 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3316
4cdfee3f
TV
33172018-07-30 Tom de Vries <tdevries@suse.de>
3318
3319 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3320 (nvptx_exec): Ensure worker and vector default dims don't exceed
3321 targ_fn->max_threads_per_block.
3322
0b210c43
TV
33232018-07-30 Tom de Vries <tdevries@suse.de>
3324
3325 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3326 (nvptx_open_device): Init default_dims for device.
3327 (nvptx_exec): Use default_dims from device.
3328
5883c5cc
JJ
33292018-07-26 Jakub Jelinek <jakub@redhat.com>
3330
5d36384c
JJ
3331 PR testsuite/86660
3332 * testsuite/libgomp.c++/for-15.C (results): Include it in
3333 omp declare target region.
3334 (main): Use map (always, tofrom: results) instead of
3335 map (tofrom: results).
3336
5883c5cc
JJ
3337 PR middle-end/86660
3338 * testsuite/libgomp.c/pr86660.c: New test.
3339
88a4654d
CP
33402018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3341 Tom de Vries <tdevries@suse.de>
3342
3343 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3344 sufficient resources to launch a kernel, and give a hint on how to fix
3345 it.
3346
0c6c2f5f
CP
33472018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3348 Tom de Vries <tdevries@suse.de>
3349
3350 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3351 max_threads_per_block and max_threads_per_multiprocessor fields.
3352 (nvptx_open_device): Initialize new fields.
3353 (nvptx_exec): Use num_sms, and new fields.
3354
6dd58010
TV
33552018-07-26 Tom de Vries <tdevries@suse.de>
3356
3357 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3358 to correct locations. Remove xfail.
3359
b2eb1779
TV
33602018-07-26 Tom de Vries <tdevries@suse.de>
3361
3362 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3363 acc_wait. Move acc_async_test calls to correct locations. Remove
3364 xfail.
3365
b1f45884
NK
33662018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3367 Thomas Koenig <tkoenig@gcc.gnu.org>
3368
3369 PR fortran/25829
3370 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3371 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3372 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3373 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3374 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3375 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3376 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3377
3a106211
JJ
33782018-07-17 Jakub Jelinek <jakub@redhat.com>
3379
a3bccfa1
JJ
3380 PR middle-end/86542
3381 * testsuite/libgomp.c++/pr86542.C: New test.
3382
3a106211
JJ
3383 PR middle-end/86539
3384 * testsuite/libgomp.c++/pr86539.C: New test.
3385
2bae8b2f
JJ
33862018-07-11 Jakub Jelinek <jakub@redhat.com>
3387
3388 PR c++/86443
3389 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3390 (results): Make sure the variable is not inside declare target region.
3391 (qux): Remove unused function.
3392
0b27c3ed
JJ
33932018-07-10 Jakub Jelinek <jakub@redhat.com>
3394
3395 PR c++/86443
3396 * testsuite/libgomp.c++/for-15.C: New test.
3397
f0391511
JJ
33982018-06-26 Jakub Jelinek <jakub@redhat.com>
3399
3400 PR c++/86291
3401 * testsuite/libgomp.c++/pr86291.C: New test.
3402
1a6d1d24
GP
34032018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3404
3405 * libgomp.texi (Top): Move www.openmp.org to https.
3406 (Enabling OpenMP): Ditto.
3407 (omp_get_active_level): Ditto.
3408 (omp_get_ancestor_thread_num): Ditto.
3409 (omp_get_cancellation): Ditto.
3410 (omp_get_default_device): Ditto.
3411 (omp_get_dynamic): Ditto.
3412 (omp_get_level): Ditto.
3413 (omp_get_max_active_levels): Ditto.
3414 (omp_get_max_task_priority): Ditto.
3415 (omp_get_max_threads): Ditto.
3416 (omp_get_nested): Ditto.
3417 (omp_get_num_devices): Ditto.
3418 (omp_get_num_procs): Ditto.
3419 (omp_get_num_teams): Ditto.
3420 (omp_get_num_threads): Ditto.
3421 (omp_get_proc_bind): Ditto.
3422 (omp_get_schedule): Ditto.
3423 (omp_get_team_num): Ditto.
3424 (omp_get_team_size): Ditto.
3425 (omp_get_thread_limit): Ditto.
3426 (omp_get_thread_num): Ditto.
3427 (omp_in_parallel): Ditto.
3428 (omp_in_final): Ditto.
3429 (omp_is_initial_device): Ditto.
3430 (omp_set_default_device): Ditto.
3431 (omp_set_dynamic): Ditto.
3432 (omp_set_max_active_levels): Ditto.
3433 (omp_set_nested): Ditto.
3434 (omp_set_num_threads): Ditto.
3435 (omp_set_schedule): Ditto.
3436 (omp_init_lock): Ditto.
3437 (omp_set_lock): Ditto.
3438 (omp_test_lock): Ditto.
3439 (omp_unset_lock): Ditto.
3440 (omp_destroy_lock): Ditto.
3441 (omp_init_nest_lock): Ditto.
3442 (omp_set_nest_lock): Ditto.
3443 (omp_test_nest_lock): Ditto.
3444 (omp_unset_nest_lock): Ditto.
3445 (omp_destroy_nest_lock): Ditto.
3446 (omp_get_wtick): Ditto.
3447 (omp_get_wtime): Ditto.
3448 (OMP_CANCELLATION): Ditto.
3449 (OMP_DISPLAY_ENV): Ditto.
3450 (OMP_DEFAULT_DEVICE): Ditto.
3451 (OMP_DYNAMIC): Ditto.
3452 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3453 (OMP_MAX_TASK_PRIORITY): Ditto.
3454 (OMP_NESTED): Ditto.
3455 (OMP_NUM_THREADS): Ditto.
3456 (OMP_PROC_BIND): Ditto.
3457 (OMP_PLACES): Ditto.
3458 (OMP_STACKSIZE): Ditto.
3459 (OMP_SCHEDULE): Ditto.
3460 (OMP_THREAD_LIMIT): Ditto.
3461 (OMP_WAIT_POLICY): Ditto.
3462
31dd69b7
CP
34632018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3464 James Norris <jnorris@codesourcery.com>
3465 Julian Brown <julian@codesourcery.com>
3466 Thomas Schwinge <thomas@codesourcery.com>
3467 Tom de Vries <tom@codesourcery.com>
3468
3469 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3470 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3471 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3472 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3473 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3474 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3475 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3476 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3477 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3478 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3479 Likewise.
3480 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3481 Likewise.
3482 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3483 Likewise.
3484 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3485 Likewise.
3486 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3487 Likewise.
3488 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3489 Likewise.
3490 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3491 Likewise.
3492 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3493 Likewise.
3494 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3495 Likewise.
3496 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3497 Likewise.
3498 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3499 Likewise.
3500 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3501 Likewise.
3502 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3503 Likewise.
3504 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3505 Likewise.
3506 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3507 Likewise.
3508 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3509 Likewise.
3510 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3511 Likewise.
3512 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3513 Likewise.
3514 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3515 Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3517 Likewise.
3518 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3519 Likewise.
3520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3521 Likewise.
3522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3523 Likewise.
3524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3525 Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3527 Likewise.
3528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3529 Likewise.
3530 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3531 Likewise.
3532 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3533 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3534 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3535 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3536 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3537 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3538 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3539 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3540 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3541 Likewise.
3542 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3543 Likewise.
3544 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3545 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3546 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3547 Likewise.
3548 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3549 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3550 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3551 Likewise.
3552 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3553 Likewise.
3554 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3555 Likewise.
3556 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3557 Likewise.
3558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3559 Likewise.
3560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3561 Likewise.
3562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3563 Likewise.
3564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3565 Likewise.
3566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3567 Likewise.
3568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3569 Likewise.
3570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3571 Likewise.
3572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3573 Likewise.
3574 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3575 Likewise.
3576 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3577 Likewise.
3578 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3579 Likewise.
3580 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3581 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3582 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3583 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3584 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3585 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3586 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3587
829c6349
CLT
35882018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3589 Thomas Schwinge <thomas@codesourcery.com>
3590 Cesar Philippidis <cesar@codesourcery.com>
3591
3592 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3593 (gomp_acc_remove_pointer): Update declaration.
3594 (gomp_acc_declare_allocate): Declare.
3595 (gomp_remove_var): Declare.
3596 * libgomp.map (OACC_2.5): Define.
3597 * oacc-mem.c (acc_map_data): Update refcount.
3598 (acc_unmap_data): Likewise.
3599 (present_create_copy): Likewise.
3600 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3601 (acc_copyin): Likewise.
3602 (FLAG_FINALIZE): Define.
3603 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3604 (acc_delete_finalize): New function.
3605 (acc_delete_finalize_async): New function.
3606 (acc_copyout_finalize): New function.
3607 (acc_copyout_finalize_async): New function.
3608 (gomp_acc_insert_pointer): Update refcounts.
3609 (gomp_acc_remove_pointer): Return if data is not present on the
3610 accelerator.
3611 * oacc-parallel.c (find_pset): Rename to find_pointer.
3612 (find_pointer): Add support for GOMP_MAP_POINTER.
3613 (handle_ftn_pointers): New function.
3614 (GOACC_parallel_keyed): Update refcounts of variables.
3615 (GOACC_enter_exit_data): Add support for finalized data mappings.
3616 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3617 of fortran arrays.
3618 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3619 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3620 for GOMP_MAP_FORCE_FROM.
3621 * openacc.f90 (module openacc_internal): Add
3622 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3623 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3624 acc_copyout_finalize and acc_delete_finalize.
3625 (acc_copyout_finalize_32_h): New subroutine.
3626 (acc_copyout_finalize_64_h): New subroutine.
3627 (acc_copyout_finalize_array_h): New subroutine.
3628 (acc_delete_finalize_32_h): New subroutine.
3629 (acc_delete_finalize_64_h): New subroutine.
3630 (acc_delete_finalize_array_h): New subroutine.
3631 * openacc.h (acc_copyout_finalize): Declare.
3632 (acc_copyout_finalize_async): Declare.
3633 (acc_delete_finalize): Declare.
3634 (acc_delete_finalize_async): Declare.
3635 * openacc_lib.h (acc_copyout_finalize): New interface.
3636 (acc_delete_finalize): New interface.
3637 * target.c (gomp_map_vars): Update dynamic_refcount.
3638 (gomp_remove_var): New function.
3639 (gomp_unmap_vars): Use it.
3640 (gomp_unload_image_from_device): Likewise.
3641 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3642 case to utilize OpenACC 2.5 data clause semantics.
3643 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3644 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3645 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3646 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3647 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3648 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3649 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3650 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3651 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3652 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3653 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3654 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3655 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3656 utilize OpenACC 2.5 data clause semantics.
3657 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3658 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3659 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3660 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3661 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3662 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3663 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3664 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3665 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3666
4358400b
JW
36672018-05-21 Janus Weil <janus@gcc.gnu.org>
3668
3669 PR fortran/85841
3670 PR testsuite/85865
3671 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3672 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3673 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3674 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3675 * testsuite/libgomp.fortran/task2.f90: Ditto.
3676 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3677 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3678 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3679 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3680 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3681 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3682 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3683 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3684 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3685
950ad0ba
CP
36862018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3687
3688 PR c++/85782
3689 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3690
f5ad16f1
TV
36912018-05-09 Tom de Vries <tom@codesourcery.com>
3692
3693 PR libgomp/82901
3694 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3695 to GOACC_enter_exit_data.
3696
edbd038a
TV
36972018-05-09 Tom de Vries <tom@codesourcery.com>
3698
3699 PR libgomp/83792
3700 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3701 (async_synchronous_p): New function.
3702 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3703 async_valid_p.
3704 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3705 async_valid_stream_id_p.
3706 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3707 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3708
37d6c719
TV
37092018-05-07 Tom de Vries <tom@codesourcery.com>
3710
3711 PR testsuite/85677
3712 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3713 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3714
63f12215
TV
37152018-05-03 Tom de Vries <tom@codesourcery.com>
3716
3717 PR testsuite/85106
3718 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3719 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3720 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3721 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3722
ec00d3fa
TV
37232018-05-02 Tom de Vries <tom@codesourcery.com>
3724
3725 PR libgomp/85411
3726 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3727 GOMP_OPENACC_DIM ...
3728 * env.c (parse_gomp_openacc_dim): ... here. New function.
3729 (initialize_env): Call parse_gomp_openacc_dim.
3730 (goacc_default_dims): Define.
3731 * libgomp.h (goacc_default_dims): Declare.
3732 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3733 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3734 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3735 GOMP_PLUGIN_acc_default_dim.
3736 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3737 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3738
92243e7c
TV
37392018-05-02 Tom de Vries <tom@codesourcery.com>
3740
3741 PR testsuite/83791
3742 * testsuite/libgomp.c++/udr-9.C: Update.
3743 * testsuite/libgomp.c++/atomic-16.C: Remove.
3744 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3745 * testsuite/libgomp.c++/loop-13.C: Remove.
3746 * testsuite/libgomp.c++/loop-14.C: Remove.
3747 * testsuite/libgomp.c++/loop-15.C: Remove.
3748 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3749 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3750 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3751 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3752 * testsuite/libgomp.c++/ordered-1.C: Remove.
3753 * testsuite/libgomp.c++/pr45784.C: Remove.
3754 * testsuite/libgomp.c++/pr64824.C: Remove.
3755 * testsuite/libgomp.c++/pr64868.C: Remove.
3756 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3757 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3758 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3759 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3760 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3761 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3762 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3763 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3764 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3765 * testsuite/libgomp.c++/pr69389.C: Remove.
3766 * testsuite/libgomp.c++/simd10.C: Remove.
3767 * testsuite/libgomp.c++/simd11.C: Remove.
3768 * testsuite/libgomp.c++/simd12.C: Remove.
3769 * testsuite/libgomp.c++/simd13.C: Remove.
3770 * testsuite/libgomp.c++/target-1.C: Remove.
3771 * testsuite/libgomp.c++/target-3.C: Remove.
3772 * testsuite/libgomp.c++/target-4.C: Remove.
3773 * testsuite/libgomp.c++/target-5.C: Remove.
3774 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3775 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3776 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3777 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3778 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3779 * testsuite/libgomp.c++/udr-9.C: Remove.
3780 * testsuite/libgomp.c++/for-10.C: Remove.
3781 * testsuite/libgomp.c++/for-11.C: Remove.
3782 * testsuite/libgomp.c++/for-12.C: Remove.
3783 * testsuite/libgomp.c++/for-13.C: Remove.
3784 * testsuite/libgomp.c++/for-14.C: Remove.
3785 * testsuite/libgomp.c++/for-9.C: Remove.
3786 * testsuite/libgomp.c/atomic-18.c: Move ...
3787 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3788 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3789 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3790 * testsuite/libgomp.c/loop-13.c: Move ...
3791 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3792 * testsuite/libgomp.c/loop-14.c: Move ...
3793 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3794 * testsuite/libgomp.c/loop-15.c: Remove.
3795 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3796 * testsuite/libgomp.c/monotonic-1.c: Move ...
3797 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3798 * testsuite/libgomp.c/monotonic-2.c: Move ...
3799 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3800 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3801 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3802 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3803 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3804 * testsuite/libgomp.c/ordered-4.c: Move ...
3805 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3806 * testsuite/libgomp.c/pr45784.c: Move ...
3807 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3808 * testsuite/libgomp.c/pr64824.c: Move ...
3809 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3810 * testsuite/libgomp.c/pr64868.c: Move ...
3811 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3812 * testsuite/libgomp.c/pr66199-1.c: Move ...
3813 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3814 * testsuite/libgomp.c/pr66199-2.c: Move ...
3815 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3816 * testsuite/libgomp.c/pr66199-3.c: Move ...
3817 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3818 * testsuite/libgomp.c/pr66199-4.c: Move ...
3819 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3820 * testsuite/libgomp.c/pr66199-5.c: Move ...
3821 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3822 * testsuite/libgomp.c/pr66199-6.c: Move ...
3823 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3824 * testsuite/libgomp.c/pr66199-7.c: Move ...
3825 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3826 * testsuite/libgomp.c/pr66199-8.c: Move ...
3827 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3828 * testsuite/libgomp.c/pr66199-9.c: Move ...
3829 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3830 * testsuite/libgomp.c/pr69389.c: Move ...
3831 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3832 * testsuite/libgomp.c/simd-14.c: Move ...
3833 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3834 * testsuite/libgomp.c/simd-15.c: Move ...
3835 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3836 * testsuite/libgomp.c/simd-16.c: Move ...
3837 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3838 * testsuite/libgomp.c/simd-17.c: Move ...
3839 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3840 * testsuite/libgomp.c/target-1.c: Move ...
3841 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3842 * testsuite/libgomp.c/target-10.c: Move ...
3843 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3844 * testsuite/libgomp.c/target-13.c: Move ...
3845 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3846 * testsuite/libgomp.c/target-2.c: Move ...
3847 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3848 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3849 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3850 * testsuite/libgomp.c/taskloop-1.c: Move ...
3851 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3852 * testsuite/libgomp.c/taskloop-2.c: Move ...
3853 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3854 * testsuite/libgomp.c/taskloop-3.c: Move ...
3855 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3856 * testsuite/libgomp.c/taskloop-4.c: Move ...
3857 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3858 * testsuite/libgomp.c/udr-1.c: Move ...
3859 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3860 * testsuite/libgomp.c/for-1.c: Move ...
3861 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3862 * testsuite/libgomp.c/for-1.h: Move ...
3863 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3864 * testsuite/libgomp.c/for-2.c: Move ...
3865 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3866 * testsuite/libgomp.c/for-2.h: Move ...
3867 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3868 * testsuite/libgomp.c/for-3.c: Move ...
3869 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3870 * testsuite/libgomp.c/for-4.c: Move ...
3871 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3872 * testsuite/libgomp.c/for-5.c: Move ...
3873 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3874 * testsuite/libgomp.c/for-6.c: Move ...
3875 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3876
1f62d637
TV
38772018-05-02 Tom de Vries <tom@codesourcery.com>
3878
3879 PR libgomp/82428
3880 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3881 __builtin_goacc_parlevel_{id,size}.
3882 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3883 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3884 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3885 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3886 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3887 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3888 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3889 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3890 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3891 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3892 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3893 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3894 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3895 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3896 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3897 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3898 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3899 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3900 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3901 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3902 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3903 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3904 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3905
9220b511
TV
39062018-05-02 Tom de Vries <tom@codesourcery.com>
3907
3908 PR testsuite/85106
3909 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3910
6c3c13c1
TV
39112018-05-02 Tom de Vries <tom@codesourcery.com>
3912
3913 PR testsuite/85106
3914 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3915
8d70b61e
JB
39162018-04-29 Julian Brown <julian@codesourcery.com>
3917 Tom de Vries <tom@codesourcery.com>
3918
3919 PR testsuite/85527
3920 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3921 arbitrary order for iterations of atomic subtract check.
3922
4a57a4b6
TV
39232018-04-28 Tom de Vries <tom@codesourcery.com>
3924
3925 PR testsuite/85527
3926 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3927 atomic capture results obtained in parallel loop to an array, instead of
3928 to a scalar.
3929
df36a3d3
TV
39302018-04-26 Tom de Vries <tom@codesourcery.com>
3931
3932 PR libgomp/84020
3933 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3934 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3935 (process_GOMP_NVPTX_JIT): New function.
3936 (link_ptx): Use process_GOMP_NVPTX_JIT.
3937
d160ae78
RB
39382018-04-26 Richard Biener <rguenther@suse.de>
3939 Tom de Vries <tom@codesourcery.com>
3940
3941 PR lto/85422
3942 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3943
ca9dc642
TV
39442018-04-26 Tom de Vries <tom@codesourcery.com>
3945
3946 PR target/85519
3947 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3948 recursion depth from 25 to 23.
3949 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3950
7b47ecf2
L
39512018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3952
3953 * configure: Regenerated.
3954
e91eba31
NS
39552018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3956 Tom de Vries <tom@codesourcery.com>
3957
3958 PR target/85445
3959 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3960
6e0d40b6
TS
39612018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3962
3963 PR libgomp/85463
3964 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3965 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3966 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3967 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3968 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3969 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3970
3971 PR libfortran/85166
3972 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3973 abort".
3974 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3975
a0e1df88
JJ
39762018-04-19 Jakub Jelinek <jakub@redhat.com>
3977
3978 * configure: Regenerated.
3979
001ddaa8
DM
39802018-04-18 David Malcolm <dmalcolm@redhat.com>
3981
3982 PR jit/85384
3983 * configure: Regenerate.
3984
05e0af43
CP
39852018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3986 Tom de Vries <tom@codesourcery.com>
3987
3988 PR middle-end/84955
3989 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3990 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3991
bc436e10
TK
39922018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3993
3994 PR fortran/83064
3995 PR testsuite/85346
3996 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3997 test from gfortran.dg to here.
3998
ffb164c7
JJ
39992018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4000
4001 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4002 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4003
40042018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4005
4006 PR middle-end/84955
4007 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4008 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4009
2ba16fd2
TV
40102018-04-05 Tom de Vries <tom@codesourcery.com>
4011
4012 PR target/85204
4013 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4014
46dbeb40
TV
40152018-03-26 Tom de Vries <tom@codesourcery.com>
4016
4017 PR tree-optimization/85063
4018 * testsuite/libgomp.c/switch-conversion-2.c: New test.
4019 * testsuite/libgomp.c/switch-conversion.c: New test.
4020 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4021 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4022
bfc24e32
TK
40232018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
4024
4025 PR fortran/84381
4026 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4027 call abort by STOP n.
4028 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4029 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4030 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4031 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4032 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4033 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4034 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4035 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4036 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4037 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4038 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4039 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4040 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4041 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4042 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4043 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4044 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4045 * testsuite/libgomp.fortran/associate1.f90: Likewise.
4046 * testsuite/libgomp.fortran/associate2.f90: Likewise.
4047 * testsuite/libgomp.fortran/associate3.f90: Likewise.
4048 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4049 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4050 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4051 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4052 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4053 * testsuite/libgomp.fortran/character1.f90: Likewise.
4054 * testsuite/libgomp.fortran/character2.f90: Likewise.
4055 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4056 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4057 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4058 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4059 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4060 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4061 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4062 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4063 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4064 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4065 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4066 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4067 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4068 * testsuite/libgomp.fortran/do1.f90: Likewise.
4069 * testsuite/libgomp.fortran/do2.f90: Likewise.
4070 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4071 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4072 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4073 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4074 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4075 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4076 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4077 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4078 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4079 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4080 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4081 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4082 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4083 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4084 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4085 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4086 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4087 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4088 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4089 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4090 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4091 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4092 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4093 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4094 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4095 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4096 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4097 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4098 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4099 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4100 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4101 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4102 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4103 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4104 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4105 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4106 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4107 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4108 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4109 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4110 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4111 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4112 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4113 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4114 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4115 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4116 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4117 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4118 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4119 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4120 * testsuite/libgomp.fortran/lib2.f: Likewise.
4121 * testsuite/libgomp.fortran/lib3.f: Likewise.
4122 * testsuite/libgomp.fortran/lib4.f90: Likewise.
4123 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4124 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4125 * testsuite/libgomp.fortran/nested1.f90: Likewise.
4126 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4127 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4128 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4129 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4130 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4131 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4132 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4133 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4134 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4135 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4136 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4137 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4138 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4139 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4140 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4141 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4142 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4143 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4144 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4145 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4146 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4147 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4148 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4149 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4150 * testsuite/libgomp.fortran/pr25162.f: Likewise.
4151 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4152 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4153 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4154 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4155 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4156 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4157 * testsuite/libgomp.fortran/pr28390.f: Likewise.
4158 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4159 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4160 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4161 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4162 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4163 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4164 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4165 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4166 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4167 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4168 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4169 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4170 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4171 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4172 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4173 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4174 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4175 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4176 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4177 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4178 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4179 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4180 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4181 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4182 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4183 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4184 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4185 * testsuite/libgomp.fortran/reference1.f90: Likewise.
4186 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4187 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4188 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4189 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4190 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4191 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4192 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4193 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4194 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4195 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4196 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4197 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4198 * testsuite/libgomp.fortran/stack.f90: Likewise.
4199 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4200 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4201 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4202 * testsuite/libgomp.fortran/target1.f90: Likewise.
4203 * testsuite/libgomp.fortran/target2.f90: Likewise.
4204 * testsuite/libgomp.fortran/target3.f90: Likewise.
4205 * testsuite/libgomp.fortran/target4.f90: Likewise.
4206 * testsuite/libgomp.fortran/target5.f90: Likewise.
4207 * testsuite/libgomp.fortran/target6.f90: Likewise.
4208 * testsuite/libgomp.fortran/target7.f90: Likewise.
4209 * testsuite/libgomp.fortran/target8.f90: Likewise.
4210 * testsuite/libgomp.fortran/task1.f90: Likewise.
4211 * testsuite/libgomp.fortran/task2.f90: Likewise.
4212 * testsuite/libgomp.fortran/task3.f90: Likewise.
4213 * testsuite/libgomp.fortran/task4.f90: Likewise.
4214 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4215 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4216 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4217 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4218 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4219 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4220 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4221 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4222 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4223 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4224 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4225 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4226 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4227 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4228 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4229 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4230 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4231 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4232 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4233 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4234 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4235 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4236 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4237 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4238 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4239 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4240 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4241 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4242 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4243 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4244 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4245 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4246 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4247 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4248 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4249 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4250 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4251 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4252 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4253 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4254 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4255 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4256 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4257 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4258 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4259 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4260 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4261 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4262 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4263 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4264 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4265 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4266 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4267 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4268 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4269 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4270 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4271 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4272 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4273 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4274 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4275 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4276 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4277 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4278 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4279 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4280 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4281 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4282 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4283 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4284 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4285 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4286 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4287 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4288 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4289 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4290 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4291 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4292 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4293 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4294 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4295 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4296 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4297 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4298 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4299 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4300 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4301 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4302 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4303 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4304 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4305 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4306 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4307 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4308 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4309 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4310 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4311 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4312 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4313 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4314 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4315 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4316 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4317 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4318 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4319 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4320 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4321 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4322 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4323 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4324 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4325 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4326 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4327 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4328 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4329 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4330 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4331 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4332 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4333 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4334 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4335 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4336 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4337 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4338 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4339 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4340
79cf14ae
RB
43412018-03-20 Richard Biener <rguenther@suse.de>
4342
4343 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4344 parallelizable loop.
4345
14e335ed
IT
43462018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4347
4348 PR target/84148
4349 * configure: Regenerate.
4350
83d9be55
JJ
43512018-02-16 Jakub Jelinek <jakub@redhat.com>
4352
4353 PR fortran/84418
4354 * libgomp.fortran/pr84418-1.f90: New test.
4355 * libgomp.fortran/pr84418-2.f90: New test.
4356
d1fe6124
JJ
43572018-02-14 Jakub Jelinek <jakub@redhat.com>
4358
4359 PR fortran/84313
4360 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4361 -std=f2003 -fall-intrinsics into dg-additional-options.
4362
3d224921
MJ
43632018-02-08 Martin Jambor <mjambor@suse.cz>
4364
4365 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4366 clonable.
4367
c7c30edd
MJ
43682018-02-08 Martin Jambor <mjambor@suse.cz>
4369
4370 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4371
f320fdfd
RO
43722018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4373
4374 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4375 [__cplusplus]: Declare extern "C".
4376
c31bc4ac
TV
43772018-02-07 Tom de Vries <tom@codesourcery.com>
4378
4379 PR libgomp/84217
4380 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4381
99ae7ce5
CS
43822018-01-29 Christoph Spiel <cspiel@freenet.de>
4383 Jakub Jelinek <jakub@redhat.com>
4384
4385 PR libgomp/84096
4386 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4387 instead of omp_lock_t.
4388
e77a1236
TV
43892018-01-25 Tom de Vries <tom@codesourcery.com>
4390
4391 PR target/84028
4392 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4393
3dede32b
TV
43942018-01-24 Tom de Vries <tom@codesourcery.com>
4395
4396 PR target/83589
4397 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4398
be606483
TV
43992018-01-24 Tom de Vries <tom@codesourcery.com>
4400
4401 PR target/81352
4402 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4403
8c8e9a6b
TV
44042018-01-19 Tom de Vries <tom@codesourcery.com>
4405 Cesar Philippidis <cesar@codesourcery.com>
4406
4407 PR target/83920
4408 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4409 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4410
65e6aea3
JJ
44112018-01-03 Jakub Jelinek <jakub@redhat.com>
4412
85ec4feb
JJ
4413 Update copyright years.
4414
65e6aea3
JJ
4415 * libgomp.texi: Bump @copying's copyright year.
4416
60bf575c
TV
44172017-12-30 Tom de Vries <tom@codesourcery.com>
4418
4419 PR libgomp/83046
4420 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4421 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4422
7ec16b79
TV
44232017-12-27 Tom de Vries <tom@codesourcery.com>
4424
4425 PR c++/83046
4426 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4427 (test_nonstatic): Fix return type to workaround PR83046.
4428
ac550b9a
JJ
44292017-12-05 Jakub Jelinek <jakub@redhat.com>
4430
4431 PR testsuite/83281
4432 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4433 j suffix instead of i.
4434 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4435 Likewise.
4436
ebdc83f0
CP
44372017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4438
4439 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4440 call to acc_wait (1).
4441
3b3e6283
JJ
44422017-11-24 Jakub Jelinek <jakub@redhat.com>
4443
4444 PR fortran/81304
4445 * testsuite/libgomp.fortran/pr81304.f90: New test.
4446
3b575376
JJ
44472017-11-23 Jakub Jelinek <jakub@redhat.com>
4448
4449 PR fortran/81841
4450 * libgomp.fortran/pr81841.f90: New test.
4451
b13547d8
JJ
44522017-11-22 Jakub Jelinek <jakub@redhat.com>
4453
4454 PR libgomp/83106
4455 * target.c (gomp_target_init): Compute lengths just once and
4456 use them in both malloc size and subsequent copying.
4457
efe33ced
IT
44582017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4459
4460 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4461 * acinclude.m4: Add cet.m4.
4462 * configure: Regenerate.
4463 * Makefile.in: Likewise.
4464 * testsuite/Makefile.in: Likewise.
4465
a7cf2612
TV
44662017-11-15 Tom de Vries <tom@codesourcery.com>
4467
4468 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4469 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4470 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4471 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4472 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4473 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4474
dde76623
TV
44752017-11-14 Tom de Vries <tom@codesourcery.com>
4476
4477 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4478 non-nvidia devices.
4479
4dbeb716
JJ
44802017-11-07 Jakub Jelinek <jakub@redhat.com>
4481
4482 PR c++/82835
4483 * testsuite/libgomp.c++/pr82835.C: New test.
4484
454f8b2b
ML
44852017-11-06 Martin Liska <mliska@suse.cz>
4486
4487 * testsuite/libgomp.c++/loop-2.C: Return a value
4488 for functions with non-void return type, or change type to void,
4489 or add -Wno-return-type for test.
4490 * testsuite/libgomp.c++/loop-4.C: Likewise.
4491 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4492 * testsuite/libgomp.c++/shared-1.C: Likewise.
4493 * testsuite/libgomp.c++/single-1.C: Likewise.
4494 * testsuite/libgomp.c++/single-2.C: Likewise.
4495
12e9c8ce
TV
44962017-10-31 Tom de Vries <tom@codesourcery.com>
4497
4498 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4499 "do {} while (false)".
4500 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4501 after HSA_DEBUG call.
4502
7324369a
JJ
45032017-10-28 Jakub Jelinek <jakub@redhat.com>
4504
4505 * target.c (struct gomp_coalesce_buf): New type.
4506 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4507 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4508 (gomp_copy_host2dev): Add CBUF argument, if copying into
4509 the cached ranges, memcpy into buffer instead of copying
4510 into device.
4511 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4512 Add CBUF argument, pass it through to other calls.
4513 (gomp_map_vars): Aggregate copies from host to device if small enough
4514 and with small enough gaps in between into memcpy into a buffer and
4515 fewer host to device copies from the buffer.
4516 (gomp_update): Adjust gomp_copy_host2dev caller.
4517
933ab0e6
TS
45182017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4519
4520 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4521 run" directive.
4522 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4523 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4524 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4525 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4526
92d5d01a
TV
45272017-10-16 Tom de Vries <tom@codesourcery.com>
4528
4529 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4530 openacc_nvidia_accel_selected.
4531 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4532 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4533 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4534 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4535 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4536 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4537 openacc_nvidia_accel_selected. Skip for shared memory device.
4538 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4539 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4540
191411e4
MJ
45412017-10-09 Martin Jambor <mjambor@suse.cz>
4542
4543 PR hsa/82416
4544 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4545
e923330e
TV
45462017-10-07 Tom de Vries <tom@codesourcery.com>
4547
4548 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4549 Remove acc_device_nvidia references.
4550 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4551 Same.
4552
8fe3ed4c
TV
45532017-10-05 Tom de Vries <tom@codesourcery.com>
4554
4555 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4556 vector_length(32) clause from acc parallel directive.
4557 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4558
26596ee5
TV
45592017-10-04 Tom de Vries <tom@codesourcery.com>
4560
4561 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4562 (main): Reduce sum of arr elements. Assert that hres is exactly
4563 representable in 32-bit floating point.
4564 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4565 (main): Reduce sum of arr elements. Assert that hres and hmres are
4566 exactly representable in 32-bit floating point.
4567 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4568
5c561fa9
TV
45692017-09-28 Tom de Vries <tom@codesourcery.com>
4570
4571 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4572 setting.
4573 * testsuite/libgomp.c++/pr69393.C: Same.
4574 * testsuite/libgomp.c++/taskloop-1.C: Same.
4575 * testsuite/libgomp.c++/taskloop-3.C: Same.
4576 * testsuite/libgomp.c++/taskloop-4.C: Same.
4577 * testsuite/libgomp.c/for-4.c: Same.
4578 * testsuite/libgomp.c/pr66199-3.c: Same.
4579 * testsuite/libgomp.c/pr66199-4.c: Same.
4580 * testsuite/libgomp.c/pr66199-6.c: Same.
4581 * testsuite/libgomp.c/taskloop-1.c: Same.
4582 * testsuite/libgomp.c/taskloop-3.c: Same.
4583 * testsuite/libgomp.c/taskloop-4.c: Same.
4584 * testsuite/libgomp.fortran/aligned1.f03: Same.
4585 * testsuite/libgomp.fortran/condinc1.f: Same.
4586 * testsuite/libgomp.fortran/condinc3.f90: Same.
4587 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4588 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4589 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4590 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4591 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4592 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4593 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4594 * testsuite/libgomp.fortran/recursion1.f90: Same.
4595 * testsuite/libgomp.fortran/target2.f90: Same.
4596 * testsuite/libgomp.fortran/target5.f90: Same.
4597 * testsuite/libgomp.fortran/task3.f90: Same.
4598
7d6206fe
TV
45992017-09-28 Tom de Vries <tom@codesourcery.com>
4600
4601 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4602 vector_length(32) clause from acc parallel directive.
4603 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4604
84c8627c
TV
46052017-09-27 Tom de Vries <tom@codesourcery.com>
4606
4607 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4608 Remove acc_device_nvidia references.
4609
ebc6a85e
TV
46102017-09-16 Tom de Vries <tom@codesourcery.com>
4611
4612 PR c/81875
4613 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4614
82419efb
TV
46152017-09-14 Tom de Vries <tom@codesourcery.com>
4616
4617 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4618 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4619 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4620 * testsuite/libgomp.c/c.exp: Include test-cases from
4621 libgomp.c-c++-common.
4622 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4623 files.
4624
8b586510
JJ
46252017-09-14 Jakub Jelinek <jakub@redhat.com>
4626
4627 PR c++/81314
4628 * testsuite/libgomp.c++/pr81314.C: New test.
4629
9651fbaf
GP
46302017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4631
4632 * libgomp.texi (Top): www.openacc.org now uses https.
4633 (Enabling OpenACC): Ditto.
4634 (acc_get_num_devices): Ditto.
4635 (acc_set_device_type): Ditto.
4636 (acc_get_device_type): Ditto.
4637 (acc_set_device_num): Ditto.
4638 (acc_get_device_num): Ditto.
4639 (acc_async_test): Ditto.
4640 (acc_async_test_all): Ditto.
4641 (acc_wait): Ditto.
4642 (acc_wait_all): Ditto.
4643 (acc_wait_all_async): Ditto.
4644 (acc_wait_async): Ditto.
4645 (acc_init): Ditto.
4646 (acc_shutdown): Ditto.
4647 (acc_on_device): Ditto.
4648 (acc_malloc): Ditto.
4649 (acc_free): Ditto.
4650 (acc_copyin): Ditto.
4651 (acc_present_or_copyin): Ditto.
4652 (acc_create): Ditto.
4653 (acc_present_or_create): Ditto.
4654 (acc_copyout): Ditto.
4655 (acc_delete): Ditto.
4656 (acc_update_device): Ditto.
4657 (acc_update_self): Ditto.
4658 (acc_map_data): Ditto.
4659 (acc_unmap_data): Ditto.
4660 (acc_deviceptr): Ditto.
4661 (acc_hostptr): Ditto.
4662 (acc_is_present): Ditto.
4663 (acc_memcpy_to_device): Ditto.
4664 (acc_memcpy_from_device): Ditto.
4665 (acc_get_current_cuda_device): Ditto.
4666 (acc_get_current_cuda_context): Ditto.
4667 (acc_get_cuda_stream): Ditto.
4668 (acc_set_cuda_stream): Ditto.
4669 (ACC_DEVICE_TYPE): Ditto.
4670 (ACC_DEVICE_NUM): Ditto.
4671 (OpenACC Library Interoperability): Ditto.
4672
50aa16c3
JJ
46732017-08-09 Jakub Jelinek <jakub@redhat.com>
4674
4675 PR c/81687
4676 * testsuite/libgomp.c/pr81687-1.c: New test.
4677 * testsuite/libgomp.c/pr81687-2.c: New test.
4678
56b5041c
JJ
46792017-08-07 Jakub Jelinek <jakub@redhat.com>
4680
4681 PR c/69389
4682 * testsuite/libgomp.c/pr69389.c: New test.
4683 * testsuite/libgomp.c++/pr69389.C: New test.
4684
f4c222c0
TV
46852017-08-07 Tom de Vries <tom@codesourcery.com>
4686
4687 PR middle-end/78266
4688 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4689 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4690
a40ff0ae
JJ
46912017-07-27 Jakub Jelinek <jakub@redhat.com>
4692
4693 PR c/45784
4694 * testsuite/libgomp.c/pr45784.c: New test.
4695 * testsuite/libgomp.c++/pr45784.C: New test.
4696
3717fbe3
TV
46972017-07-19 Tom de Vries <tom@codesourcery.com>
4698
4699 * testsuite/libgomp.oacc-c/vec.c: New test.
4700
9607b014
TV
47012017-07-03 Tom de Vries <tom@codesourcery.com>
4702
4703 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4704
dfb15f6b
TV
47052017-06-27 Tom de Vries <tom@codesourcery.com>
4706
4707 * plugin/plugin-nvptx.c (notify_var): New function.
4708 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4709
22f1a037
TV
47102017-06-27 Tom de Vries <tom@codesourcery.com>
4711
4712 * env.c (parse_unsigned_long_1): Factor out of ...
4713 (parse_unsigned_long): ... here.
4714 (parse_int_1): Factor out of ...
4715 (parse_int): ... here.
4716 (parse_int_secure): New function.
4717 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4718 * secure_getenv.h: Factor out of ...
4719 * plugin/plugin-hsa.c: ... here.
4720 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4721
d54d1fc3
JJ
47222017-06-21 Jakub Jelinek <jakub@redhat.com>
4723
4724 PR c++/81130
4725 * testsuite/libgomp.c++/pr81130.C: New test.
4726
4f4b0ab8
RO
47272017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4728
4729 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4730 default args.
4731 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4732 dg-xfail-run-if default args.
4733
40ffd95f
BE
47342017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4735
4736 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4737 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4738
01275e1e
JJ
47392017-05-30 Jakub Jelinek <jakub@redhat.com>
4740
4741 PR libgomp/80822
4742 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4743 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4744 sibling lists, depending on level just pick up what CPUs to put
4745 together into a place vs. whether add multiple ordered places.
4746
78672bd8
TS
47472017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4748
7ce64403
TS
4749 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4750 * libgomp.map (OACC_2.0.1): Add these.
4751 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4752 for "acc_wait", and "acc_wait_all", respectively.
4753 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4754 for "acc_wait", and "acc_wait_all", respectively.
4755 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4756 * libgomp.texi (acc_wait, acc_wait_all): Update.
4757 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4758 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4759 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4760
318686c2
TS
4761 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4762 acc_present_or_copyin and acc_present_or_create procedures,
4763 respectively.
4764 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4765 generally different variants of OpenACC Runtime Library functions.
4766 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4767
a6745534
TS
4768 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4769 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4770
9b94fbc7
TS
4771 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4772 of preprocessor definitions.
4773 * libgomp.h (strong_alias): Guard by "#ifdef
4774 HAVE_ATTRIBUTE_ALIAS".
4775 * oacc-mem.c: Provide "acc_pcreate" as alias for
4776 "acc_present_or_create", and "acc_pcopyin" as alias for
4777 "acc_present_or_copyin".
4778 * libgomp.map: New version "OACC_2.0.1".
4779 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4780 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4781 its content into...
4782 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4783 Extend testing.
4784
78672bd8
TS
4785 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4786 when disabling nvptx offloading.
4787
0c36d0d5
TS
47882017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4789
fd71a9a2
TS
4790 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4791 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4792 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4793
0c36d0d5
TS
4794 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4795 * testsuite/lib/libgomp.exp
4796 (check_effective_target_openacc_nvidia_accel_configured): New
4797 proc.
4798 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4799 (check_effective_target_c++): New procs.
4800 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4801 (check_effective_target_c++): Likewise.
4802
c24783c4
JJ
48032017-05-22 Jakub Jelinek <jakub@redhat.com>
4804
655e5265
JJ
4805 PR middle-end/80809
4806 * testsuite/libgomp.c/pr80809-2.c: New test.
4807 * testsuite/libgomp.c/pr80809-3.c: New test.
4808
e9e2ef9f
JJ
4809 PR middle-end/80809
4810 * testsuite/libgomp.c/pr80809-1.c: New test.
4811
c24783c4
JJ
4812 PR middle-end/80853
4813 * testsuite/libgomp.c/pr80853.c: New test.
4814
0da2f96a
TS
48152017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4816
7fd549d2
TS
4817 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4818 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4819 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4820 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4821 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4822
0da2f96a
TS
4823 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4824 Debug output for failure.
4825
62ffe920
RO
48262017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4827
4828 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4829
f49215b1
JJ
48302017-04-27 Jakub Jelinek <jakub@redhat.com>
4831
4832 PR bootstrap/80531
4833 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4834 bootstrap compare failures.
4835
2260d19d
AM
48362017-04-20 Alexander Monakov <amonakov@ispras.ru>
4837
4838 * testsuite/libgomp.c/target-36.c: New testcase.
4839
19929ba9
JJ
48402017-04-13 Jakub Jelinek <jakub@redhat.com>
4841
4842 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4843 instead of char.
4844
fbc698e0
JJ
48452017-04-11 Jakub Jelinek <jakub@redhat.com>
4846
4847 PR libgomp/80394
4848 * testsuite/libgomp.c/pr80394.c: New test.
4849
c4060df4
JJ
48502017-04-04 Jakub Jelinek <jakub@redhat.com>
4851
4852 PR libgomp/79876
4853 * config/posix/thread-stacksize.h: New file.
4854 * config/darwin/thread-stacksize.h: New file.
4855 * config/nvptx/thread-stacksize.h: New file.
4856 * env.c: Include thread-stacksize.h.
4857 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4858 instead of 0. Call pthread_attr_setstacksize even if
4859 GOMP_DEFAULT_STACKSIZE is non-zero.
4860
e02d868a
JJ
48612017-03-30 Jakub Jelinek <jakub@redhat.com>
4862
4863 * env.c (initialize_env): Initialize stacksize to 0.
4864
7ba8651e
CP
48652017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4866
4867 PR c++/80029
4868 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4869
eebc5e2d
JJ
48702017-03-08 Jakub Jelinek <jakub@redhat.com>
4871
4872 PR c/79940
4873 * testsuite/libgomp.c/pr79940.c: New test.
4874
1eb08f52
RO
48752017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4876
4877 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4878 targets.
4879 Add __float128 options.
4880
b0f78ff3
JDA
48812017-02-11 John David Anglin <danglin@gcc.gnu.org>
4882
4883 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4884 hppa*-*-* dg-skip-if directive.
4885
1bbe0d8f
JJ
48862017-02-09 Jakub Jelinek <jakub@redhat.com>
4887
4888 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4889 dg-skip-if directive into a comment.
4890
02889d23
CLT
48912017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4892 Chung-Lin Tang <cltang@codesourcery.com>
4893
4894 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4895 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4896 add additional case.
4897 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4898 "openacc_nvidia_accel_selected".
4899 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4900 Add num_workers(8) clause.
4901
5896a41d
JDA
49022017-02-08 John David Anglin <danglin@gcc.gnu.org>
4903
4904 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4905 hppa*-*-*.
4906 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4907 include complex.h on hppa*-*-hpux*.
4908 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4909
345a8c17
TS
49102017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4911
e70ab10d
TS
4912 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4913
345a8c17
TS
4914 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4915 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4916 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4917 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4918 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4919 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4920 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4921 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4922 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4923 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4924
dced339c
TS
49252017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4926
4927 * libgomp-plugin.h: #include <stdbool.h>.
4928 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4929 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4930 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4931 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4932 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4933 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4934 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4935 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4936 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4937 (GOMP_OFFLOAD_openacc_async_test)
4938 (GOMP_OFFLOAD_openacc_async_test_all)
4939 (GOMP_OFFLOAD_openacc_async_wait)
4940 (GOMP_OFFLOAD_openacc_async_wait_async)
4941 (GOMP_OFFLOAD_openacc_async_wait_all)
4942 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4943 (GOMP_OFFLOAD_openacc_async_set_async)
4944 (GOMP_OFFLOAD_openacc_create_thread_data)
4945 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4946 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4947 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4948 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4949 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4950 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4951 these.
4952 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4953 (GOMP_OFFLOAD_unload_image): Fix argument types.
4954
23749904
JJ
49552017-01-26 Jakub Jelinek <jakub@redhat.com>
4956
c1cadde1
JJ
4957 * testsuite/lib/libgomp.exp
4958 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4959 check_compile invocation. Fix up removal of executable. Drop
4960 bogus "2>&1" argument.
4961
23749904
JJ
4962 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4963 directive.
4964
49652017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
4966 Martin Jambor <mjambor@suse.cz>
4967
4968 * plugin/hsa.h: Moved to top level include.
4969 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4970
73aa401e
JJ
49712017-01-21 Jakub Jelinek <jakub@redhat.com>
4972
4973 PR other/79046
4974 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4975 of cat to get version from BASE-VER file.
4976 * testsuite/Makefile.in: Regenerated.
4977
b32e85fa
JJ
49782017-01-19 Jakub Jelinek <jakub@redhat.com>
4979
4980 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4981 for _WIN64.
4982
3c36aa6b
JJ
49832017-01-17 Jakub Jelinek <jakub@redhat.com>
4984
d190d5c0
JJ
4985 * plugin/hsa.h: Add GCC runtime library exception.
4986 * plugin/hsa_ext_finalize.h: Likewise.
4987
2393d337
JJ
4988 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4989 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4990 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4991 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4992 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4993 library to link ptx plugin against.
4994 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4995 (CUDA_CALLS): Define.
4996 (cuda_lib, cuda_lib_inited): New variables.
4997 (init_cuda_lib): New function.
4998 (CUDA_CALL_PREFIX): Define.
4999 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5000 (CUDA_CALL): Use FN instead of (FN).
5001 (CUDA_CALL_NOCHECK): Define.
5002 (cuda_error, fini_streams_for_device, select_stream_for_async,
5003 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5004 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5005 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5006 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5007 CUDA_CALL_NOCHECK.
5008 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
5009 CUDA_CALL_NOCHECK.
5010 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5011 Use CUDA_CALL_NOCHECK.
5012 * plugin/cuda/cuda.h: New file.
5013 * config.h.in: Regenerated.
5014 * configure: Regenerated.
5015
3c36aa6b
JJ
5016 PR other/79046
5017 * configure.ac: Add GCC_BASE_VER.
5018 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5019 get version from BASE-VER file.
5020 * testsuite/Makefile.in: Regenerated.
5021 * configure: Regenerated.
5022 * Makefile.in: Regenerated.
5023
c508bc2d
FXC
50242017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5025
5026 PR libgomp/60670
5027 * Makefile.am: Make fincludedir multilib-aware.
5028 * Makefile.in: Regenerate.
5029
c1a9c369
JJ
50302017-01-01 Jakub Jelinek <jakub@redhat.com>
5031
cbe34bb5
JJ
5032 Update copyright years.
5033
c1a9c369
JJ
5034 * libgomp.texi: Bump @copying's copyright year.
5035
e7a7f4be
SH
50362016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5037
5038 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5039 pthread_spinlock_t instead of gomp_mutex_t lock.
5040 (gomp_get_thread_pool): Likewise.
5041 (gomp_release_thread_pool): Likewise.
5042 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5043 Likewise.
5044
d313d52c
SH
50452016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5046
5047 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5048 thread pool in case nthreads == 1.
5049
630e3c3a
AM
50502016-11-30 Alexander Monakov <amonakov@ispras.ru>
5051
5052 * config/nvptx/env.c: Delete.
5053 * icv.c: Move definitions of ICV variables back ...
5054 * env.c: ...here. Do not compile environment-related functionality if
5055 LIBGOMP_OFFLOADED_ONLY is set.
5056
9e38af5c
AM
50572016-11-30 Alexander Monakov <amonakov@ispras.ru>
5058
5059 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5060 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5061 * configure: Regenerate.
5062 * config.h.in: Likewise.
5063
f96b7f1f
AM
50642016-11-30 Alexander Monakov <amonakov@ispras.ru>
5065
5066 * Makefile.in: Regenerate with automake-1.11.6.
5067 * aclocal.m4: Likewise.
5068 * configure: Likewise.
5069 * testsuite/Makefile.in: Likewise.
5070
6a6951b1
AM
50712016-11-28 Alexander Monakov <amonakov@ispras.ru>
5072
5073 * config/nvptx/critical.c: Delete to use generic implementation.
5074
c7ac071f
JH
50752016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
5076
5077 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5078 ../../affinity.c as fallback.
5079 * config/nvptx/affinity.c: Delete to use fallback implementation.
5080
6103184e 50812016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 5082 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
5083 Dmitry Melnik <dm@ispras.ru>
5084
5085 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5086 * Makefile.in. Regenerate.
5087 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5088 (LIBGOMP_USE_PTHREADS): ...here; new define.
5089 * configure: Regenerate.
5090 * config.h.in: Likewise.
5091 * config/posix/affinity.c: Move to...
5092 * affinity.c: ...here (new file). Guard use of Pthreads-specific
5093 interface by LIBGOMP_USE_PTHREADS.
5094 * critical.c: Split out GOMP_atomic_{start,end} into...
5095 * atomic.c: ...here (new file).
5096 * env.c: Split out ICV definitions into...
5097 * icv.c: ...here (new file) and...
5098 * icv-device.c: ...here. New file.
5099 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5100 (gomp_destroy_lock_30): Ditto.
5101 (gomp_set_lock_30): Ditto.
5102 (gomp_unset_lock_30): Ditto.
5103 (gomp_test_lock_30): Ditto.
5104 (gomp_init_nest_lock_30): Ditto.
5105 (gomp_destroy_nest_lock_30): Ditto.
5106 (gomp_set_nest_lock_30): Ditto.
5107 (gomp_unset_nest_lock_30): Ditto.
5108 (gomp_test_nest_lock_30): Ditto.
5109 * lock.c: New.
5110 * config/nvptx/lock.c: New.
5111 * config/nvptx/bar.c: New.
5112 * config/nvptx/bar.h: New.
5113 * config/nvptx/doacross.h: New.
5114 * config/nvptx/error.c: New.
5115 * config/nvptx/icv-device.c: New.
5116 * config/nvptx/mutex.h: New.
5117 * config/nvptx/pool.h: New.
5118 * config/nvptx/proc.c: New.
5119 * config/nvptx/ptrlock.h: New.
5120 * config/nvptx/sem.h: New.
5121 * config/nvptx/simple-bar.h: New.
5122 * config/nvptx/target.c: New.
5123 * config/nvptx/task.c: New.
5124 * config/nvptx/team.c: New.
5125 * config/nvptx/time.c: New.
5126 * config/posix/simple-bar.h: New.
5127 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
5128 (gomp_num_teams_var): Declare.
5129 (struct gomp_thread_pool): Change threads_dock member to
5130 gomp_simple_barrier_t.
5131 [__nvptx__] (gomp_thread): New implementation.
5132 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5133 (gomp_thread_destructor): Ditto.
5134 (gomp_init_thread_affinity): Ditto.
5135 * team.c: Guard uses of Pthreads-specific interfaces by
5136 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
5137 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5138 * config/nvptx/alloc.c: Delete.
5139 * config/nvptx/barrier.c: Ditto.
5140 * config/nvptx/fortran.c: Ditto.
5141 * config/nvptx/iter.c: Ditto.
5142 * config/nvptx/iter_ull.c: Ditto.
5143 * config/nvptx/loop.c: Ditto.
5144 * config/nvptx/loop_ull.c: Ditto.
5145 * config/nvptx/ordered.c: Ditto.
5146 * config/nvptx/parallel.c: Ditto.
5147 * config/nvptx/priority_queue.c: Ditto.
5148 * config/nvptx/sections.c: Ditto.
5149 * config/nvptx/single.c: Ditto.
5150 * config/nvptx/splay-tree.c: Ditto.
5151 * config/nvptx/work.c: Ditto.
5152 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5153 -foffload=-lgfortran in addition to -lgfortran.
5154 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5155 * plugin/plugin-nvptx.c: Include <limits.h>.
5156 (struct targ_fn_descriptor): Add new fields.
5157 (struct ptx_device): Ditto. Set them...
5158 (nvptx_open_device): ...here.
5159 (nvptx_adjust_launch_bounds): New.
5160 (nvptx_host2dev): Allow NULL 'nvthd'.
5161 (nvptx_dev2host): Ditto.
5162 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5163 (link_ptx): Adjust log sizes.
5164 (nvptx_host2dev): Allow NULL 'nvthd'.
5165 (nvptx_dev2host): Ditto.
5166 (nvptx_set_clocktick): New. Use it...
5167 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
5168 fields.
5169 (GOMP_OFFLOAD_dev2dev): New.
5170 (nvptx_adjust_launch_bounds): New.
5171 (nvptx_stacks_size): New.
5172 (nvptx_stacks_alloc): New.
5173 (nvptx_stacks_free): New.
5174 (GOMP_OFFLOAD_run): New.
5175 (GOMP_OFFLOAD_async_run): New (stub).
5176
56b1c60e
MJ
51772016-11-23 Martin Jambor <mjambor@suse.cz>
5178
5179 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5180 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5181 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5182
b8d89b03 51832016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 5184 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
5185
5186 * plugin/hsa.h: New file.
5187 * plugin/hsa_ext_finalize.h: New file.
5188 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5189 header file unistd.h, and functions secure_getenv, __secure_getenv,
5190 getuid, geteuid, getgid and getegid.
5191 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5192 -D_GNU_SOURCE.
5193 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5194 Handle various cases of secure_getenv presence, add an implementation
5195 when we can test effective UID and GID.
5196 (struct hsa_runtime_fn_info): New structure.
5197 (hsa_runtime_fn_info hsa_fns): New variable.
5198 (hsa_runtime_lib): Likewise.
5199 (support_cpu_devices): Likewise.
5200 (init_enviroment_variables): Load newly introduced ENV
5201 variables.
5202 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5203 (hsa_fatal): Likewise.
5204 (DLSYM_FN): New macro.
5205 (init_hsa_runtime_functions): New function.
5206 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5207 structure. Depending on environment, also allow CPU devices.
5208 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5209 (get_kernarg_memory_region): Likewise.
5210 (GOMP_OFFLOAD_init_device): Likewise.
5211 (destroy_hsa_program): Likewise.
5212 (init_basic_kernel_info): New function.
5213 (GOMP_OFFLOAD_load_image): Use it.
5214 (create_and_finalize_hsa_program): Call hsa run-time functions via
5215 hsa_fns structure.
5216 (create_single_kernel_dispatch): Likewise.
5217 (release_kernel_dispatch): Likewise.
5218 (init_single_kernel): Likewise.
5219 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5220 (get_group_size): New function.
5221 (run_kernel): Likewise.
5222 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5223 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5224 structure.
5225 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5226 * testsuite/libgomp-test-support.exp.in: Likewise.
5227 * Makefile.in: Regenerated.
5228 * aclocal.m4: Likewise.
5229 * config.h.in: Likewise.
5230 * configure: Likewise.
5231 * testsuite/Makefile.in: Likewise.
5232
18d2ada8 52332016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 5234 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
5235
5236 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5237 mapping clauses to target constructs.
5238 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5239
84c1b9d3
MK
52402016-11-15 Matthias Klose <doko@ubuntu.com>
5241
5242 * configure: Regenerate.
5243
b4c3a85b
JJ
52442016-11-10 Jakub Jelinek <jakub@redhat.com>
5245
8ebd1b31
JJ
5246 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5247 * omp_lib.h.in (openmp_version): Likewise.
5248 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5249 of 201307.
5250 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5251
b4c3a85b
JJ
5252 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5253 (fib_wrapper): Add map(from: x) clause.
5254 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5255 (e_53_2): Likewise.
5256 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5257 (accum): Add map(tmp) clause.
5258 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5259 (accum): Add map(tofrom: tmp) clause.
5260 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5261 (gramSchmidt): Likewise.
5262 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5263 map(tofrom: sum) clause.
5264 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5265 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5266 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5267 only allowed on the loop iterator.
5268 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5269 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5270 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5271 * testsuite/libgomp.fortran/doacross1.f90: New test.
5272 * testsuite/libgomp.fortran/doacross3.f90: New test.
5273 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5274 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5275 * testsuite/libgomp.fortran/doacross2.f90: New test.
5276 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5277 #pragma omp atomic read.
5278 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5279 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5280
6668eb45
CP
52812016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5282 Nathan Sidwell <nathan@acm.org>
5283
5284 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5285 to determine default geometry.
5286 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5287 dimension.
5288
f10e37a1
JJ
52892016-11-01 Jakub Jelinek <jakub@redhat.com>
5290
5291 * hashtab.h: Use standard GPLv3 with runtime exception
5292 boilerplate.
5293
015c7760
AH
52942016-10-27 Aldy Hernandez <aldyh@redhat.com>
5295
5296 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5297 size when allocating new thread.
5298
20a1e5b8
MP
52992016-09-14 Marek Polacek <polacek@redhat.com>
5300
5301 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5302
1cad9284
JJ
53032016-08-19 Jakub Jelinek <jakub@redhat.com>
5304
5305 PR fortran/71014
5306 * testsuite/libgomp.fortran/pr71014.f90: New test.
5307
2c71d454
CLT
53082016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5309
5310 PR middle-end/70895
5311 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5312 firstprivate clauses.
5313 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5314 copy clauses.
5315 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5316 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5317 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5318 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5319 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5320 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5321 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5322 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5323 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5324 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5325 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5326 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5327
7c713714
CLT
53282016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5329
5330 PR fortran/70598
5331 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5332
5c934396
JJ
53332016-08-08 Jakub Jelinek <jakub@redhat.com>
5334
5335 PR c++/58706
5336 * testsuite/libgomp.c++/pr58706.C: New test.
5337
9ef64248
TS
53382016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5339
bbc79c0e
TS
5340 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5341 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5342 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5343 Likewise.
5344 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5345 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5346 Likewise.
5347 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5348
9ef64248
TS
5349 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5350 test, and don't hardcode -O0.
5351
c1311c86
NS
53522016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5353
5354 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5355
b1c9c068
CP
53562016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5357
5358 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5359 test.
5360
b4410f63
L
53612016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5362
5363 PR middle-end/71734
5364 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5365 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5366
a8dbab92
JJ
53672016-07-01 Jakub Jelinek <jakub@redhat.com>
5368
5369 PR fortran/71717
5370 * testsuite/libgomp.fortran/associate3.f90: New test.
5371
9b6a8d0f
JJ
53722016-06-17 Jakub Jelinek <jakub@redhat.com>
5373
5374 * testsuite/libgomp.c++/target-21.C: New test.
5375
283635f9
JJ
53762016-06-16 Jakub Jelinek <jakub@redhat.com>
5377
5378 * testsuite/libgomp.c++/target-20.C: New test.
5379
27d6ba88
TS
53802016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5381 Cesar Philippidis <cesar@codesourcery.com>
5382
5383 PR middle-end/71373
5384 * libgomp.oacc-c/nested-function-1.c: New file.
5385 * libgomp.oacc-c/nested-function-2.c: Likewise.
5386 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5387 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5388 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5389
4b1ffdb1
TS
53902016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5391
5392 PR c/71381
5393 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5394 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5395 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5396
d821b794
CLT
53972016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5398
5399 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5400 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5401
3616a8c5
CP
54022016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5403
5404 PR c/70688
5eed9a88 5405 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 5406
7211a097
JJ
54072016-05-26 Jakub Jelinek <jakub@redhat.com>
5408
5409 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5410 instead of invalid schedule(static, 0).
5411 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5412
b4557008
CLT
54132016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5414
5415 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5416 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5417 parameter, use to set async stream around call to gomp_unmap_vars,
5418 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5419 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5420 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5421 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5422 (event_add): Add int parameter, initialize 'val' field when
5423 adding new ptx_event struct.
5424 (nvptx_evec): Adjust event_add() call arguments.
5425 (nvptx_host2dev): Likewise.
5426 (nvptx_dev2host): Likewise.
5427 (nvptx_wait_async): Likewise.
5428 (nvptx_wait_all_async): Likewise.
5429 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5430 pass to event_add() call.
5431 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5432 parameter.
5433 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5434 call openacc.register_async_cleanup_func() hook.
5435 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5436 * target.c (gomp_copy_from_async): Delete function.
5437 (gomp_map_vars): Remove async_refcount.
5438 (gomp_unmap_vars): Likewise.
5439 (gomp_load_image_to_device): Likewise.
5440 (omp_target_associate_ptr): Likewise.
5441 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5442 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5443 (gomp_copy_from_async): Remove.
5444
6ce13072
CLT
54452016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5446
5447 * target.c (gomp_device_copy): New function.
5448 (gomp_copy_host2dev): Likewise.
5449 (gomp_copy_dev2host): Likewise.
5450 (gomp_free_device_memory): Likewise.
5451 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5452 (gomp_map_pointer): Likewise.
5453 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5454 NULL value from alloc_func plugin hook.
5455 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5456 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5457 (gomp_unmap_vars): Likewise.
5458 (gomp_update): Adjust to call gomp_copy_dev2host and
5459 gomp_copy_host2dev functions.
5460 (gomp_unload_image_from_device): Handle false value from
5461 unload_image_func plugin hook.
5462 (gomp_init_device): Handle false value from init_device_func
5463 plugin hook.
5464 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5465 (omp_target_free): Adjust to call gomp_free_device_memory.
5466 (omp_target_memcpy): Handle return values from host2dev_func,
5467 dev2host_func, and dev2dev_func plugin hooks.
5468 (omp_target_memcpy_rect_worker): Likewise.
5469 (gomp_target_fini): Handle false value from fini_device_func
5470 plugin hook.
5471 * libgomp.h (struct gomp_device_descr): Adjust return type of
5472 init_device_func, fini_device_func, unload_image_func, free_func,
5473 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5474 * oacc-init.c (acc_shutdown_1): Handle false value from
5475 fini_device_func plugin hook.
5476 * oacc-host.c (host_init_device): Change return type to bool.
5477 (host_fini_device): Likewise.
5478 (host_unload_image): Likewise.
5479 (host_free): Likewise.
5480 (host_dev2host): Likewise.
5481 (host_host2dev): Likewise.
5482 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5483 (acc_memcpy_to_device): Likewise.
5484 (acc_memcpy_from_device): Likewise.
5485 (delete_copyout): Add libfnname parameter, handle free_func
5486 hook fatal error case.
5487 (acc_delete): Adjust delete_copyout call.
5488 (acc_copyout): Likewise.
5489 (update_dev_host): Move gomp_mutex_unlock to after
5490 host2dev/dev2host hook calls.
5491
5492 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5493 to 'hsa_error_msg', for clarity.
5494 (hsa_fatal): Likewise.
5495 (hsa_error): New function.
5496 (init_hsa_context): Change return type to bool, adjust to return
5497 false on error.
5498 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5499 return value.
5500 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5501 return false on error.
5502 (get_agent_info): Adjust to return NULL on error.
5503 (destroy_hsa_program): Change return type to bool, adjust to
5504 return false on error.
5505 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5506 (destroy_module): Change return type to bool, adjust to
5507 return false on error.
5508 (GOMP_OFFLOAD_unload_image): Likewise.
5509 (GOMP_OFFLOAD_fini_device): Likewise.
5510 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5511 (GOMP_OFFLOAD_free): Change to return false when called.
5512 (GOMP_OFFLOAD_dev2host): Likewise.
5513 (GOMP_OFFLOAD_host2dev): Likewise.
5514 (GOMP_OFFLOAD_dev2dev): Likewise.
5515
5516 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5517 (CUDA_CALL): Likewise.
5518 (CUDA_CALL_ASSERT): Likewise.
5519 (map_init): Change return type to bool, use CUDA_CALL* macros.
5520 (map_fini): Likewise.
5521 (init_streams_for_device): Change return type to bool, adjust
5522 call to map_init.
5523 (fini_streams_for_device): Change return type to bool, adjust
5524 call to map_fini.
5525 (select_stream_for_async): Release stream_lock before calls to
5526 GOMP_PLUGIN_fatal, adjust call to map_init.
5527 (nvptx_init): Use CUDA_CALL* macros.
5528 (nvptx_attach_host_thread_to_device): Change return type to bool,
5529 use CUDA_CALL* macros.
5530 (nvptx_open_device): Use CUDA_CALL* macros.
5531 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5532 macros.
5533 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5534 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5535 (nvptx_exec): Use CUDA_CALL* macros.
5536 (nvptx_alloc): Use CUDA_CALL* macros.
5537 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5538 (nvptx_host2dev): Likewise.
5539 (nvptx_dev2host): Likewise.
5540 (nvptx_wait): Use CUDA_CALL* macros.
5541 (nvptx_wait_async): Likewise.
5542 (nvptx_wait_all): Likewise.
5543 (nvptx_wait_all_async): Likewise.
5544 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5545 use CUDA_CALL* macros, adjust call to map_fini.
5546 (GOMP_OFFLOAD_init_device): Change return type to bool,
5547 adjust code accordingly.
5548 (GOMP_OFFLOAD_fini_device): Likewise.
5549 (GOMP_OFFLOAD_load_image): Adjust calls to
5550 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5551 use CUDA_CALL* macros.
5552 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5553 return code.
5554 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5555 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5556 handle error return.
5557 (GOMP_OFFLOAD_dev2host): Likewise.
5558 (GOMP_OFFLOAD_host2dev): Likewise.
5559 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5560 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5561
e46c7770
CP
55622016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5563
5564 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5565 (acc_free): Likewise.
5566 (acc_memcpy_to_device): Likewise.
5567 (acc_memcpy_from_device): Likewise.
5568 (acc_deviceptr): Likewise.
5569 (acc_hostptr): Likewise.
5570 (acc_is_present): Likewise.
5571 (acc_map_data): Likewise.
5572 (acc_unmap_data): Likewise.
5573 (present_create_copy): Likewise.
5574 (delete_copyout): Likewise.
5575 (update_dev_host): Likewise.
5576 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5577 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5578 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5579 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5581 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5582 it only runs on nvptx targets.
5583 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5585 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5587 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5588 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5589 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5590 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5591 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5592 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5593 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5594 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5595 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5596 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5597 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5600 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5601 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5602 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5603 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5604 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5605 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5606
a5057543
MJ
56072016-05-23 Martin Jambor <mjambor@suse.cz>
5608
5609 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5610
e37288a6
CLT
56112016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5612
5613 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5614 to gomp_init_targets_once.
5615 (acc_set_device_type): Remove !cached_base_dev condition on call to
5616 gomp_init_targets_once, move call to before acc_device_lock acquire,
5617 to avoid deadlock.
5618 (acc_get_device_num): Remove !cached_base_dev condition on call to
5619 gomp_init_targets_once.
5620 (acc_set_device_num): Likewise.
5621
51d9ed48
MJ
56222016-05-16 Martin Jambor <mjambor@suse.cz>
5623
92a285c1 5624 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 5625
5b37e866
NS
56262016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5627
5628 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5629 expected partitioning.
5630
e7ff0319
CP
56312016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5632
5633 PR middle-end/70626
5634 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5635 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5636 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5637
c2bd3b69
AM
56382016-04-21 Alexander Monakov <amonakov@ispras.ru>
5639
5640 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5641 non-fatal.
5642
84311083
JJ
56432016-04-19 Jakub Jelinek <jakub@redhat.com>
5644
5645 PR middle-end/70680
5646 * testsuite/libgomp.c/pr70680-1.c: New test.
5647 * testsuite/libgomp.c/pr70680-2.c: New test.
5648
aadc043f
CP
56492016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5650
5651 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5652 pass parameter variables to subroutines.
5653
e387fc64
CP
56542016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5655
5656 PR middle-end/70643
5657 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5658
10c3c424
CP
56592016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5660
5661 PR testsuite/68242
5662 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5663 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5664
27f9add3
TS
56652016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5666
58d32aeb
TS
5667 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5668 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5669 GOACC_declare prototype.
5670
d97633ef
TS
5671 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5672 Merge this file, and...
5673 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5674 ... this file, and...
5675 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5676 ... this file, and...
5677 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5678 ... this file, and...
5679 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5680 ... this file, and...
5681 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5682 ... this file, and...
5683 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5684 ... this file, and...
5685 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5686 ... this file, and...
5687 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5688 ... this file, and...
5689 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5690 ... this file, and...
5691 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5692 ... this file, and...
5693 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5694 ... this file, and...
5695 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5696 ... this file into...
5697 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5698 file.
5699
27f9add3
TS
5700 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5701 Make failure observable.
5702
21f3a236
JJ
57032016-04-12 Jakub Jelinek <jakub@redhat.com>
5704
5705 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5706 field.
5707 * target.c (gomp_target_fallback_firstprivate,
5708 gomp_target_unshare_firstprivate): Removed.
5709 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5710 before waiting for dependencies.
5711 (gomp_target_task_fn): Don't copy firstprivate vars here.
5712 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5713 firstprivate_copies here.
5714 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5715 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5716 explicit/implicit firstprivate.
5717
c42cfb5c
CP
57182016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5719
5720 PR lto/70289
5721 PR ipa/70348
5722 PR tree-optimization/70373
5723 PR middle-end/70533
5724 PR middle-end/70534
5725 PR middle-end/70535
5726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5727 test.
5728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5729 test.
5730 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5731 test.
5732 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5733 test.
5734 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5735 test.
5736 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5737 test.
5738 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5739 test.
5740 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5741 test.
5742 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5743 test.
5744 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5745 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5746 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5747 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5748 test.
5749 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5750 test.
5751 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5752 test.
5753 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5754 test.
5755 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5756 coverage.
5757 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5758 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5759 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5760 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5761 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5762 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5763 coverage.
5764 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5765 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5766 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5767 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5768 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5769 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5770 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5771 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5772 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5773 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5774 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5775 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5776 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5777 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5778 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5779
2620c80d
TS
57802016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5781 James Norris <jnorris@codesourcery.com>
5782 Nathan Sidwell <nathan@codesourcery.com>
5783 Julian Brown <julian@codesourcery.com>
5784 Cesar Philippidis <cesar@codesourcery.com>
5785 Chung-Lin Tang <cltang@codesourcery.com>
5786 Tom de Vries <tom@codesourcery.com>
5787
5788 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5789 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5790 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5791 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5792 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5793 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5794 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5795 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5796 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5797 XFAIL.
5798 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5799 Incorporate...
5800 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5801 file.
5802 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5803 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5804 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5806 Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5808 Likewise.
5809 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5810 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5811 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5812 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5813 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5814 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5815 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5816 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5817 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5818 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5819 Likewise.
5820 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5821 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5822 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5823 file...
5824 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5825 file into...
5826 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5827 file. Update.
5828 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5829 file.
5830 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5831 Likewise.
5832 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5833 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5834 ... this new file. Update.
5835 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5836 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5837 ... this new file. Update.
5838 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5839 file. Incorporate...
5840 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5841 file, and...
5842 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5843 file, and...
5844 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5845 file.
5846 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5847
ce83104b
TS
58482016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5849
5850 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5851 set-torture-options.
5852
6e0df3b7
TS
58532016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5854
5855 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5856 gcc-dg-runtest.
5857 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5858 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5859 -fno-builtin-acc_on_device instead of -O0.
5860 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5861 -O0.
5862 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5863 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5864 Likewise.
5865 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5866 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5867 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5868 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5869 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5870 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5871 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5872 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5873 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5874 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5875 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5876 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5877 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5878 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5879 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5880 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5881 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5882 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5883 Don't specify -O2.
5884 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5885 Likewise.
5886 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5887 Likewise.
5888
f9c8babb
ML
58892016-03-24 Martin Liska <mliska@suse.cz>
5890
5891 * plugin/plugin-hsa.c (packet_store_release): New function
5892 that is taken from the HSA runtime manual.
5893 (GOMP_OFFLOAD_run): Use the function.
5894
04833609
JJ
58952016-03-23 Jakub Jelinek <jakub@redhat.com>
5896
5897 PR c++/70376
5898 * testsuite/libgomp.c++/pr70376.C: New test.
5899
d79ee524
TV
59002016-03-23 Tom de Vries <tom@codesourcery.com>
5901
5902 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5903 initialization of lresult and lvresult.
5904 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5905
b6d1f2b5
JN
59062016-03-23 James Norris <jnorris@codesourcery.com>
5907 Daichi Fukuoka <dc-fukuoka@sgi.com>
5908
5909 PR libgomp/69414
5910 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5911 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5912 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5913 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5914
7397fce2
ML
59152016-03-23 Martin Liska <mliska@suse.cz>
5916
5917 PR hsa/70337
5918 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5919 argument just in case a dispatched kernel uses that argument.
5920
ee2e7d51
TS
59212016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5922
5923 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5924 -ftree-parallelize-loops/-fopenacc changes.
5925 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5926 Likewise.
5927 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5928 Likewise.
5929 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5930 Likewise.
5931 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5932 Likewise.
5933 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5934 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5935
be9f7143
TS
59362016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5937
5938 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5939 always_ld_library_path the path to libgcc_s.
5940
f6c1032d
CP
59412016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5942
5943 PR testsuite/70009
5944 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5945
5a6452e6
TV
59462016-03-09 Tom de Vries <tom@codesourcery.com>
5947
5948 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5949 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5950 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5951 Same.
5952 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5953 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5954 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5955 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5956
96a71bd5
MJ
59572016-03-07 Martin Jambor <mjambor@suse.cz>
5958
5959 * testsuite/lib/libgomp.exp
5960 (check_effective_target_hsa_offloading_selected_nocache): New.
5961 (check_effective_target_hsa_offloading_selected): Likewise.
5962 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5963 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5964 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5965 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5966 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5967 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5968 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5969 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5970 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5971 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5972 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5973 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5974 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5975 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5976 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5977 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5978 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5979
02e0b5b2
MJ
59802016-03-07 Martin Jambor <mjambor@suse.cz>
5981
5982 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5983 non-shared memory accelerators.
5984 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5985 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5986 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5987 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5988 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5989 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5990 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5991 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5992 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5993
45548f30
MJ
59942016-03-07 Martin Jambor <mjambor@suse.cz>
5995
5996 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5997 ALWAYS_CFLAGS.
5998
da3d46cb
JJ
59992016-03-02 Jakub Jelinek <jakub@redhat.com>
6000
6001 PR libgomp/69555
6002 * testsuite/libgomp.c++/pr69555-1.C: New test.
6003 * testsuite/libgomp.c++/pr69555-2.C: New test.
6004
622174b2
KM
60052016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
6006 Martin Jambor <mjambor@suse.cz>
6007
6008 * testsuite/lib/libgomp.exp
6009 (check_effective_target_offload_device_shared_as): New proc.
6010 * testsuite/libgomp.c++/declare_target-1.C: New test.
6011
e6861a99
IV
60122016-02-25 Ilya Verbin <ilya.verbin@intel.com>
6013
6014 PR driver/68463
6015 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6016
f99c3557
TS
60172016-02-23 Thomas Schwinge <thomas@codesourcery.com>
6018
6019 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6020 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6021 dims.
6022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6023 -ftree-parallelize-loops/-fopenacc changes.
6024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6025 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6026 Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6028 Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6030 Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6032 Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6034 Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6036 Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6038 Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6040 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6041 Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6043 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6044 Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6047 Likewise.
6048
d5ace3b5
CP
60492016-02-22 Cesar Philippidis <cesar@codesourcery.com>
6050
6051 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6052
f3609a89
JJ
60532016-02-19 Jakub Jelinek <jakub@redhat.com>
6054
6055 PR driver/69805
6056 * testsuite/libgomp.c/pr69805.c: New test.
6057
2175df99
TV
60582016-02-16 Tom de Vries <tom@codesourcery.com>
6059
6060 PR lto/67709
6061 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6062
17b6426c
TV
60632016-02-09 Tom de Vries <tom@codesourcery.com>
6064
6065 PR tree-optimization/69599
6066 * testsuite/libgomp.c/omp-nested-3.c: New test.
6067 * testsuite/libgomp.c/pr46032-2.c: New test.
6068 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6069 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6070
34df756c
TV
60712016-02-09 Tom de Vries <tom@codesourcery.com>
6072
6073 PR lto/69707
6074 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6075
5854ee30
AM
60762016-02-02 Alexander Monakov <amonakov@ispras.ru>
6077
6078 * testsuite/libgomp.c/target-31.c: Fix testcase.
6079
e70b6ad7
AM
60802016-02-02 Alexander Monakov <amonakov@ispras.ru>
6081
6082 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6083 clause.
6084 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6085 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6086 reduction and map clauses.
6087 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6088
bd78a45f
JN
60892016-02-02 James Norris <jnorris@codesourcery.com>
6090
6091 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6092
41d809d3
TS
60932016-02-02 Thomas Schwinge <thomas@codesourcery.com>
6094
18f60146
TS
6095 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6096 * oacc-parallel.c (GOACC_host_data): Remove function definition.
6097
1a06f5e6
TS
6098 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6099 cases.
6100
033ff3d1
TS
6101 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6102 variables.
6103 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6104 (hsa_kmt_lib): Set variables.
6105 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6106 always_ld_library_path.
6107 * Makefile.in: Regenerate.
6108 * configure: Likewise.
6109 * testsuite/Makefile.in: Likewise.
6110
4a88d9b7
TS
6111 * plugin/configfrag.ac (offload_additional_options)
6112 (offload_additional_lib_paths): Don't amend for hsa offloading.
6113 * configure: Regenerate.
6114
41d809d3
TS
6115 * plugin/configfrag.ac: Don't configure for offloading target if
6116 we don't build the corresponding plugin.
6117 * configure: Regenerate.
6118
b6adbb9f
NS
61192016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6120
6121 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6122 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6123
8dfdb419
TV
61242016-01-26 Tom de Vries <tom@codesourcery.com>
6125
6126 PR tree-optimization/69110
6127 * testsuite/libgomp.c/pr69110.c: New test.
6128
02ef53f2
RB
61292016-01-25 Richard Biener <rguenther@suse.de>
6130
6131 PR lto/69393
6132 * testsuite/libgomp.c++/pr69393.C: New testcase.
6133
eb4048f2
IV
61342016-01-22 Ilya Verbin <ilya.verbin@intel.com>
6135
6136 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6137 function wasn't mapped to the device with non-shared memory.
6138
b235cdd5
IV
61392016-01-20 Ilya Verbin <ilya.verbin@intel.com>
6140
6141 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6142
b2b40051
MJ
61432016-01-19 Martin Jambor <mjambor@suse.cz>
6144 Martin Liska <mliska@suse.cz>
6145
6146 * plugin/Makefrag.am: Add HSA plugin requirements.
6147 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6148 (HSA_RUNTIME_LIB): Likewise.
6149 (HSA_RUNTIME_CPPFLAGS): Likewise.
6150 (HSA_RUNTIME_INCLUDE): New substitution.
6151 (HSA_RUNTIME_LIB): Likewise.
6152 (HSA_RUNTIME_LDFLAGS): Likewise.
6153 (hsa-runtime): New configure option.
6154 (hsa-runtime-include): Likewise.
6155 (hsa-runtime-lib): Likewise.
6156 (PLUGIN_HSA): New substitution variable.
6157 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6158 configure options.
6159 (PLUGIN_HSA_CPPFLAGS): Likewise.
6160 (PLUGIN_HSA_LDFLAGS): Likewise.
6161 (PLUGIN_HSA_LIBS): Likewise.
6162 Check that we have access to HSA run-time.
6163 * libgomp-plugin.h (offload_target_type): New element
6164 OFFLOAD_TARGET_TYPE_HSA.
6165 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6166 args.
6167 (bool gomp_create_target_task): Updated.
6168 (gomp_device_descr): Extra parameter of run_func and async_run_func,
6169 new field can_run_func.
6170 * libgomp_g.h (GOMP_target_ext): Update prototype.
6171 * oacc-host.c (host_run): Added a new parameter args.
6172 * target.c (calculate_firstprivate_requirements): New function.
6173 (copy_firstprivate_data): Likewise.
6174 (gomp_target_fallback_firstprivate): Use them.
6175 (gomp_target_unshare_firstprivate): New function.
6176 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6177 devices.
6178 (GOMP_target): Do host fallback for all shared memory devices. Do not
6179 pass any args to plugins.
6180 (GOMP_target_ext): Introduce device-specific argument parameter args.
6181 Allow host fallback if device shares memory. Do not remap data if
6182 device has shared memory.
6183 (gomp_target_task_fn): Likewise. Also treat shared memory devices
6184 like host fallback for mappings.
6185 (GOMP_target_data): Treat shared memory devices like host fallback.
6186 (GOMP_target_data_ext): Likewise.
6187 (GOMP_target_update): Likewise.
6188 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6189 gomp_create_target_task.
6190 (GOMP_target_enter_exit_data): Likewise.
6191 (omp_target_alloc): Treat shared memory devices like host fallback.
6192 (omp_target_free): Likewise.
6193 (omp_target_is_present): Likewise.
6194 (omp_target_memcpy): Likewise.
6195 (omp_target_memcpy_rect): Likewise.
6196 (omp_target_associate_ptr): Likewise.
6197 (gomp_load_plugin_for_device): Also load can_run.
6198 * task.c (GOMP_PLUGIN_target_task_completion): Free
6199 firstprivate_copies.
6200 (gomp_create_target_task): Accept new argument args and store it to
6201 ttask.
6202 * plugin/plugin-hsa.c: New file.
6203
5d7804a9
TV
62042016-01-18 Tom de Vries <tom@codesourcery.com>
6205
6206 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6207 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6208 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6209 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6210 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6211 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6212 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6213 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6214 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6215 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6216 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6217 Same.
6218 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6219 Same.
6220 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6221 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6223 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6224 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6225 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6226 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6227 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6228 Same.
6229 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6230
cb11f3cf
JJ
62312016-01-15 Jakub Jelinek <jakub@redhat.com>
6232
6233 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6234
33a126a6
CP
62352016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6236
6237 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6238
cdf6119d
JN
62392016-01-12 James Norris <jnorris@codesourcery.com>
6240
6241 * libgomp.texi: Updates for OpenACC.
6242
0d58938e
AM
62432016-01-11 Alexander Monakov <amonakov@ispras.ru>
6244
6245 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6246
95918b49
L
62472016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6248
6249 PR fortran/66680
6250 * testsuite/libgomp.fortran/pr66680.f90: New test.
6251
8fc708b7
JJ
62522016-01-07 Jakub Jelinek <jakub@redhat.com>
6253
6254 PR middle-end/68960
6255 * testsuite/libgomp.c/pr68960.c: New test.
6256
e9b596c1
NS
62572016-01-06 Nathan Sidwell <nathan@acm.org>
6258
1a14faf2 6259 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
6260 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6261
21fa2a29
JJ
62622016-01-04 Jakub Jelinek <jakub@redhat.com>
6263
818ab71a
JJ
6264 Update copyright years.
6265
21fa2a29
JJ
6266 * libgomp.texi: Bump @copying's copyright year.
6267
9310efbc
NS
62682015-12-31 Nathan Sidwell <nathan@acm.org>
6269
6270 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6271 dg-additional-options syntax.
6272 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6273 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6274 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6275 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6276 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6277 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6278 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6279 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6280 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6282 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6283 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6284 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6285 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6286 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6287 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6288 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6289 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6290
4a38b02b
IV
62912015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6292
6293 * libgomp.h (REFCOUNT_LINK): Define.
6294 (struct splay_tree_key_s): Add link_key.
6295 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6296 Replace target address of the pointer with target address of newly
6297 mapped object in the splay tree. Set link pointer on target to the
6298 device address of the mapped object.
6299 (gomp_unmap_vars): Restore target address of the pointer in the splay
6300 tree for REFCOUNT_LINK objects after unmapping.
6301 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6302 declare target link" objects.
6303 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6304 "omp declare target link" objects, which were mapped for the image.
6305 (gomp_exit_data): Restore target address of the pointer in the splay
6306 tree for REFCOUNT_LINK objects after unmapping.
6307 * testsuite/libgomp.c/target-link-1.c: New file.
6308
d84ffc0a
IV
63092015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6310
6311 * libgomp.h (gomp_device_state): New enum.
6312 (struct gomp_device_descr): Replace is_initialized with state.
6313 (gomp_fini_device): Remove declaration.
6314 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6315 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6316 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6317 (acc_set_device_type): Use state instead of is_initialized.
6318 (acc_set_device_num): Likewise.
6319 * target.c (resolve_device): Use state instead of is_initialized.
6320 Do not initialize finalized device.
6321 (gomp_map_vars): Do nothing if device is finalized.
6322 (gomp_unmap_vars): Likewise.
6323 (gomp_update): Likewise.
6324 (GOMP_offload_register_ver): Use state instead of is_initialized.
6325 (GOMP_offload_unregister_ver): Likewise.
6326 (gomp_init_device): Likewise.
6327 (gomp_unload_device): Likewise.
6328 (gomp_fini_device): Remove.
6329 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6330 (GOMP_target): Go to host fallback if device is finalized.
6331 (GOMP_target_ext): Likewise.
6332 (gomp_exit_data): Do nothing if device is finalized.
6333 (gomp_target_task_fn): Go to host fallback if device is finalized.
6334 (gomp_target_fini): New static function.
6335 (gomp_target_init): Use state instead of is_initialized.
6336 Call gomp_target_fini at exit.
6337
76680678
TV
63382015-12-09 Tom de Vries <tom@codesourcery.com>
6339
6340 PR tree-optimization/68716
6341 * testsuite/libgomp.c/omp-nested-2.c: New test.
6342
ff7a55bf
TS
63432015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6344
6345 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6346 target openacc_nvidia_accel_selected.
6347 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6348 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6350 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6351
37d5ad46
JB
63522015-12-01 Julian Brown <julian@codesourcery.com>
6353 James Norris <James_Norris@mentor.com>
6354
6355 * oacc-parallel.c (GOACC_host_data): New function.
6356 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6357 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6358 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6359 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6360 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6361 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6362 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6363
db941d7e
CP
63642015-11-30 James Norris <jnorris@codesourcery.com>
6365 Cesar Philippidis <cesar@codesourcery.com>
6366
6367 libgomp/
6368 * libgomp.oacc-fortran/routine-5.f90: New test.
6369 * libgomp.oacc-fortran/routine-7.f90: New test.
6370 * libgomp.oacc-fortran/routine-9.f90: New test.
6371
e0ca27c5
TV
63722015-11-30 Tom de Vries <tom@codesourcery.com>
6373
6374 PR tree-optimization/46032
6375 * testsuite/libgomp.c/pr46032.c: New test.
6376
aec17bfe
JJ
63772015-11-27 Jakub Jelinek <jakub@redhat.com>
6378
8e4e4719
JJ
6379 PR libgomp/68579
6380 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6381 (gomp_create_target_task): Call it before freeing
6382 GOMP_TARGET_TASK_DATA tasks.
6383
aec17bfe
JJ
6384 PR c/63326
6385 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6386 in between case label and OpenMP standalone directives.
6387 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6388
6cfe90e6
DE
63892015-11-26 David Edelsohn <dje.gcc@gmail.com>
6390
6391 * configure: Regenerate.
6392
0e65fd7d
JJ
63932015-11-26 Jakub Jelinek <jakub@redhat.com>
6394
6395 * testsuite/libgomp.c/target-35.c: New test.
6396
dc7a8b4b
JN
63972015-11-22 James Norris <jnorris@codesourcery.com>
6398 Cesar Philippidis <cesar@codesourcery.com>
6399
6400 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6401 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6402 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6403 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6404 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6405
48a78aee
JJ
64062015-11-20 Jakub Jelinek <jakub@redhat.com>
6407
6408 PR middle-end/68221
6409 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6410 * testsuite/libgomp.c/reduction-12.c: Likewise.
6411 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6412 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6413
2d256816
NS
64142015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6415
6416 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6417 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6418 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6419 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6420 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6421 and fix.
6422 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6423 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6424
33f47f42
NS
64252015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6426
6427 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6428 worker & gang cases.
6429 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6430
3d7bfee0
CP
64312015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6432
6433 * config/nvptx/priority_queue.c: New file.
6434
00b9bd52
JJ
64352015-11-14 Jakub Jelinek <jakub@redhat.com>
6436
6437 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6438 sections.
6439
e4606348
JJ
64402015-11-14 Jakub Jelinek <jakub@redhat.com>
6441 Aldy Hernandez <aldyh@redhat.com>
6442 Ilya Verbin <ilya.verbin@intel.com>
6443
6444 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6445 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6446 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6447 iterators or IV by chunk size.
6448 * parallel.c (gomp_resolve_num_threads): Don't assume that
6449 if thr->ts.team is non-NULL, then pool must be non-NULL.
6450 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6451 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6452 GOMP_PLUGIN_target_task_completion.
6453 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6454 * Makefile.in: Regenerate.
6455 * libgomp.h: Shuffle prototypes and forward definitions around so
6456 priority queues can be defined.
6457 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6458 (enum gomp_target_task_state): New enum.
6459 (struct gomp_target_task): Add state, tgt, task and team fields.
6460 (gomp_create_target_task): Change return type to bool, add
6461 state argument.
6462 (gomp_target_task_fn): Change return type to bool.
6463 (struct gomp_device_descr): Add async_run_func.
6464 (struct gomp_task): Remove children, next_child, prev_child,
6465 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6466 Add pnode field.
6467 (struct gomp_taskgroup): Remove children.
6468 Add taskgroup_queue.
6469 (struct gomp_team): Change task_queue type to a priority queue.
6470 (splay_compare): Define inline.
6471 (priority_queue_offset): New.
6472 (priority_node_to_task): New.
6473 (task_to_priority_node): New.
6474 * oacc-mem.c: Do not include splay-tree.h.
6475 * priority_queue.c: New file.
6476 * priority_queue.h: New file.
6477 * splay-tree.c: Do not include splay-tree.h.
6478 (splay_tree_foreach_internal): New.
6479 (splay_tree_foreach): New.
6480 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6481 (splay_tree_callback): Define typedef.
6482 * target.c (splay_compare): Move to libgomp.h.
6483 (GOMP_target): Don't adjust *thr in any way around running offloaded
6484 task.
6485 (GOMP_target_ext): Likewise. Handle target nowait.
6486 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6487 return value from gomp_create_target_task, if false, fallthrough
6488 as if no dependencies exist.
6489 (gomp_target_task_fn): Change return type to bool, return true
6490 if the task should have another part scheduled later. Handle
6491 target nowait.
6492 (gomp_load_plugin_for_device): Initialize async_run.
6493 * task.c (gomp_init_task): Initialize children_queue.
6494 (gomp_clear_parent_in_list): New.
6495 (gomp_clear_parent_in_tree): New.
6496 (gomp_clear_parent): Handle priorities.
6497 (GOMP_task): Likewise.
6498 (priority_queue_move_task_first,
6499 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6500 New functions.
6501 (gomp_create_target_task): Use priority queues. Change return type
6502 to bool, add state argument, return false if for async
6503 {{enter,exit} data,update} constructs no dependencies need to be
6504 waited for, handle target nowait. Set task->fn to NULL instead of
6505 gomp_target_task_fn.
6506 (verify_children_queue): Remove.
6507 (priority_list_upgrade_task): New.
6508 (priority_queue_upgrade_task): New.
6509 (verify_task_queue): Remove.
6510 (priority_list_downgrade_task): New.
6511 (priority_queue_downgrade_task): New.
6512 (gomp_task_run_pre): Use priority queues.
6513 Abstract code out to priority_queue_downgrade_task.
6514 (gomp_task_run_post_handle_dependers): Use priority queues.
6515 (gomp_task_run_post_remove_parent): Likewise.
6516 (gomp_task_run_post_remove_taskgroup): Likewise.
6517 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6518 tasks specially.
6519 (GOMP_taskwait): Likewise.
6520 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6521 priority-queue_upgrade_task.
6522 (GOMP_taskgroup_start): Use priority queues.
6523 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6524 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6525 barrier.
6526 * taskloop.c (GOMP_taskloop): Handle priorities.
6527 * team.c (gomp_new_team): Call priority_queue_init.
6528 (free_team): Call priority_queue_free.
6529 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6530 team created for target nowait in implicit parallel region.
6531 (gomp_team_start): For nested check, test thr->ts.level instead of
6532 thr->ts.team != NULL.
6533 * testsuite/libgomp.c/doacross-3.c: New test.
6534 * testsuite/libgomp.c/ordered-5.c: New test.
6535 * testsuite/libgomp.c/priority.c: New test.
6536 * testsuite/libgomp.c/target-31.c: New test.
6537 * testsuite/libgomp.c/target-32.c: New test.
6538 * testsuite/libgomp.c/target-33.c: New test.
6539 * testsuite/libgomp.c/target-34.c: New test.
6540
1d1ab74f
NS
65412015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6542
c5a64cfe
NS
6543 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6544
1d1ab74f
NS
6545 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6546 loop is sequential.
6547
dd3c1b14
NS
65482015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6549
6550 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6551 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6552
6e232ba4
JN
65532015-11-12 James Norris <jnorris@codesourcery.com>
6554 Joseph Myers <joseph@codesourcery.com>
6555
6556 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6557 * oacc-parallel.c (GOACC_declare): New function.
6558 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6559 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6560 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6561 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6562 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6563
fffeedeb
NS
65642015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6565
6566 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6567
182190f2
NS
65682015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6569
6570 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6571 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6572
36fa0f5f
NS
65732015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6574
d350c40c
NS
6575 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6576 inadvertent commit.
6577
65782015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6579
36fa0f5f
NS
6580 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6581 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6582 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6583 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6584 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6585
66a5f0b4
TS
65862015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6587
6588 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6589 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6590
e01d41e5
JJ
65912015-11-05 Jakub Jelinek <jakub@redhat.com>
6592 Ilya Verbin <ilya.verbin@intel.com>
6593
6594 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6595 GOMP_loop_nonmonotonic_dynamic_start,
6596 GOMP_loop_nonmonotonic_guided_next,
6597 GOMP_loop_nonmonotonic_guided_start,
6598 GOMP_loop_ull_nonmonotonic_dynamic_next,
6599 GOMP_loop_ull_nonmonotonic_dynamic_start,
6600 GOMP_loop_ull_nonmonotonic_guided_next,
6601 GOMP_loop_ull_nonmonotonic_guided_start,
6602 GOMP_parallel_loop_nonmonotonic_dynamic,
6603 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6604 (GOMP_target_41): Renamed to ...
6605 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6606 arguments.
6607 (GOMP_target_data_41): Renamed to ...
6608 (GOMP_target_data_ext): ... this.
6609 (GOMP_target_update_41): Renamed to ...
6610 (GOMP_target_update_ext): ... this.
6611 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6612 GOMP_target_data_ext and GOMP_target_update_ext instead of
6613 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6614 Export GOMP_loop_nonmonotonic_dynamic_next,
6615 GOMP_loop_nonmonotonic_dynamic_start,
6616 GOMP_loop_nonmonotonic_guided_next,
6617 GOMP_loop_nonmonotonic_guided_start,
6618 GOMP_loop_ull_nonmonotonic_dynamic_next,
6619 GOMP_loop_ull_nonmonotonic_dynamic_start,
6620 GOMP_loop_ull_nonmonotonic_guided_next,
6621 GOMP_loop_ull_nonmonotonic_guided_start,
6622 GOMP_parallel_loop_nonmonotonic_dynamic and
6623 GOMP_parallel_loop_nonmonotonic_guided.
6624 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6625 GOMP_parallel_loop_nonmonotonic_guided,
6626 GOMP_loop_nonmonotonic_dynamic_start,
6627 GOMP_loop_nonmonotonic_guided_start,
6628 GOMP_loop_nonmonotonic_dynamic_next,
6629 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6630 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6631 GOMP_loop_ull_nonmonotonic_guided_start,
6632 GOMP_loop_ull_nonmonotonic_dynamic_next,
6633 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6634 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6635 functions.
6636 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6637 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6638 Use gomp_map_val function.
6639 (gomp_target_fallback_firstprivate): New static function.
6640 (GOMP_target_41): Renamed to ...
6641 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6642 arguments. Move firstprivate fallback handling into a new
6643 function.
6644 (GOMP_target_data_41): Renamed to ...
6645 (GOMP_target_data_ext): ... this.
6646 (GOMP_target_update_41): Renamed to ...
6647 (GOMP_target_update_ext): ... this.
6648 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6649 gomp_map_0len_lookup instead of gomp_map_lookup.
6650 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6651 gomp_map_lookup.
6652 * testsuite/libgomp.c/target-28.c: Likewise.
6653 * testsuite/libgomp.c/monotonic-1.c: New test.
6654 * testsuite/libgomp.c/monotonic-2.c: New test.
6655 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6656 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6657 * testsuite/libgomp.c/pr66199-5.c: New test.
6658 * testsuite/libgomp.c/pr66199-6.c: New test.
6659 * testsuite/libgomp.c/pr66199-7.c: New test.
6660 * testsuite/libgomp.c/pr66199-8.c: New test.
6661 * testsuite/libgomp.c/pr66199-9.c: New test.
6662 * testsuite/libgomp.c/reduction-11.c: New test.
6663 * testsuite/libgomp.c/reduction-12.c: New test.
6664 * testsuite/libgomp.c/reduction-13.c: New test.
6665 * testsuite/libgomp.c/reduction-14.c: New test.
6666 * testsuite/libgomp.c/reduction-15.c: New test.
6667 * testsuite/libgomp.c/target-12.c (main): Adjust for
6668 omp_target_is_present change for one-past-last element.
6669 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6670 the same var is both mapped and privatized.
6671 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6672 handling of zero-length array sections.
6673 * testsuite/libgomp.c/target-28.c: New test.
6674 * testsuite/libgomp.c/target-29.c: New test.
6675 * testsuite/libgomp.c/target-30.c: New test.
6676 * testsuite/libgomp.c/target-teams-1.c: New test.
6677 * testsuite/libgomp.c++/member-6.C: New test.
6678 * testsuite/libgomp.c++/member-7.C: New test.
6679 * testsuite/libgomp.c++/monotonic-1.C: New test.
6680 * testsuite/libgomp.c++/monotonic-2.C: New test.
6681 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6682 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6683 * testsuite/libgomp.c++/pr66199-3.C: New test.
6684 * testsuite/libgomp.c++/pr66199-4.C: New test.
6685 * testsuite/libgomp.c++/pr66199-5.C: New test.
6686 * testsuite/libgomp.c++/pr66199-6.C: New test.
6687 * testsuite/libgomp.c++/pr66199-7.C: New test.
6688 * testsuite/libgomp.c++/pr66199-8.C: New test.
6689 * testsuite/libgomp.c++/pr66199-9.C: New test.
6690 * testsuite/libgomp.c++/reduction-11.C: New test.
6691 * testsuite/libgomp.c++/reduction-12.C: New test.
6692 * testsuite/libgomp.c++/target-13.C: New test.
6693 * testsuite/libgomp.c++/target-14.C: New test.
6694 * testsuite/libgomp.c++/target-15.C: New test.
6695 * testsuite/libgomp.c++/target-16.C: New test.
6696 * testsuite/libgomp.c++/target-17.C: New test.
6697 * testsuite/libgomp.c++/target-18.C: New test.
6698 * testsuite/libgomp.c++/target-19.C: New test.
6699
ccc8282b
NS
67002015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6701
6702 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6703 and reduction copy.
6704 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6705 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6706 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6707 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6709 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6712 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6714 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6715 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6717 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6718
5d6823a2
NS
67192015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6720
6721 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6722 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6723 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6724 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6725 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6726 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6727 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6728 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6729
5c06742f
NS
67302015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6731
6732 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6733 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6734 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6735 * oacc-host.c (host_openacc_exec): Likewise.
6736 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6737
4bf9e5a8
TS
67382015-11-03 Julian Brown <julian@codesourcery.com>
6739 Thomas Schwinge <thomas@codesourcery.com>
6740
6741 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6742 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6744 Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6747
67482015-11-03 James Norris <jnorris@codesourcery.com>
6749
6750 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6751 file.
6752 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6753 Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6756 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6757 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6758 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6759
a0e701d8
NS
67602015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6761
6762 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6763 compatibility.
6764 (enum acc_async_t): Reformat.
6765 (acc_on_device): Declare compatible with builtin and provide C++
6766 wrapper.
6767 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6768
41e977ac
TS
67692015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6770 Cesar Philippidis <cesar@codesourcery.com>
6771
6772 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6773 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6774 ... this. Add a description of the test at the top of the file.
6775 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6776 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6777 ... this. Add a description of the test at the top of the file.
6778
e3091406
NS
67792015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6780
6781 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6782 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6783 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6784 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6785 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6786 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6787
a1c1908b
NS
67882015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6789
6790 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6791 dimensions.
6792
b3962a4a
TS
67932015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6794
6795 PR testsuite/68063
6796 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6797
88bae6f4
TS
67982015-10-27 James Norris <jnorris@codesourcery.com>
6799
6800 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6801 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6802
8baa7864
TS
68032015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6804
bdeb752c
TS
6805 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6806 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6807
ecd4fd43
TS
6808 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6809 acc_device_nvidia usage.
6810 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6811 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6812 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6813
aa8b7d30
TS
6814 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6815 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6816
7c8f138d
TS
6817 PR libgomp/66518
6818 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6819
8baa7864
TS
6820 PR libgomp/65437
6821 PR libgomp/66518
6822 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6823 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6824
88ebcde5
TV
68252015-10-23 Tom de Vries <tom@codesourcery.com>
6826
6827 PR testsuite/68063
6828 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6829
9ef83c04
NS
68302015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6831
6832 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6833 vector_length.
6834 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6835
3837c6d6
IV
68362015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6837 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6838
6839 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6840 to 0 when mapnum is 0.
6841
ac8a1965
SH
68422015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6843
6844 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6845 Cast to int from int32_t.
6846
d9a6bd32
JJ
68472015-10-13 Jakub Jelinek <jakub@redhat.com>
6848 Aldy Hernandez <aldyh@redhat.com>
6849 Ilya Verbin <ilya.verbin@intel.com>
6850
6851 * config/linux/affinity.c (omp_get_place_num_procs,
6852 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6853 * config/linux/doacross.h: New file.
6854 * config/posix/affinity.c (omp_get_place_num_procs,
6855 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6856 * config/posix/doacross.h: New file.
6857 * env.c: Include gomp-constants.h.
6858 (struct gomp_task_icv): Rename run_sched_modifier to
6859 run_sched_chunk_size.
6860 (gomp_max_task_priority_var): New variable.
6861 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6862 (handle_omp_display_env): Change _OPENMP value from 201307 to
6863 201511. Print OMP_MAX_TASK_PRIORITY.
6864 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6865 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6866 chunk_size and run_sched_modifier to run_sched_chunk_size.
6867 (omp_get_max_task_priority, omp_get_initial_device,
6868 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6869 omp_get_partition_place_nums): New functions.
6870 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6871 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6872 to chunk_size.
6873 (omp_get_num_places_, omp_get_place_num_procs_,
6874 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6875 omp_get_place_proc_ids_8_, omp_get_place_num_,
6876 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6877 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6878 omp_get_max_task_priority_): New functions.
6879 * libgomp_g.h (GOMP_loop_doacross_static_start,
6880 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6881 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6882 GOMP_loop_ull_doacross_dynamic_start,
6883 GOMP_loop_ull_doacross_guided_start,
6884 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6885 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6886 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6887 GOMP_target_data_41, GOMP_target_update_41,
6888 GOMP_target_enter_exit_data): New prototypes.
6889 (GOMP_task): Add prototype argument.
6890 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6891 (struct gomp_doacross_work_share): New type.
6892 (struct gomp_work_share): Add doacross field.
6893 (struct gomp_task_icv): Rename run_sched_modifier to
6894 run_sched_chunk_size.
6895 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6896 GOMP_TASK_UNDEFERRED. Add comments.
6897 (struct gomp_task_depend_entry): Add comments.
6898 (struct gomp_task): Likewise.
6899 (struct gomp_taskgroup): Likewise.
6900 (struct gomp_target_task): New type.
6901 (struct gomp_team): Add comment.
6902 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6903 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6904 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6905 (struct target_var_desc): New type.
6906 (struct target_mem_desc): Adjust comment. Use struct
6907 target_var_desc instead of splay_tree_key for list.
6908 (REFCOUNT_INFINITY): Define.
6909 (struct splay_tree_key_s): Remove copy_from field.
6910 (struct gomp_device_descr): Add dev2dev_func field.
6911 (enum gomp_map_vars_kind): New enum.
6912 (gomp_map_vars): Add one argument.
6913 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6914 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6915 omp_get_place_num_procs, omp_get_place_num_procs_,
6916 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6917 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6918 omp_get_place_num_, omp_get_partition_num_places,
6919 omp_get_partition_num_places_, omp_get_partition_place_nums,
6920 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6921 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6922 omp_target_free, omp_target_is_present, omp_target_memcpy,
6923 omp_target_memcpy_rect, omp_target_associate_ptr and
6924 omp_target_disassociate_ptr.
6925 (GOMP_4.0.2): Renamed to ...
6926 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6927 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6928 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6929 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6930 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6931 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6932 GOMP_loop_ull_doacross_guided_start,
6933 GOMP_loop_ull_doacross_runtime_start,
6934 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6935 GOMP_doacross_ull_wait.
6936 * libgomp.texi: Document omp_get_max_task_priority.
6937 Rename modifier argument to chunk_size for omp_set_schedule and
6938 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6939 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6940 to run_sched_chunk_size renaming.
6941 (GOMP_loop_ordered_runtime_start): Likewise.
6942 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6943 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6944 GOMP_parallel_loop_runtime_start): New functions.
6945 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6946 to run_sched_chunk_size renaming.
6947 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6948 GOMP_loop_doacross_guided_start): New functions or aliases.
6949 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6950 run_sched_modifier to run_sched_chunk_size renaming.
6951 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6952 (gomp_loop_ull_doacross_static_start,
6953 gomp_loop_ull_doacross_dynamic_start,
6954 gomp_loop_ull_doacross_guided_start,
6955 GOMP_loop_ull_doacross_runtime_start): New functions.
6956 (GOMP_loop_ull_doacross_static_start,
6957 GOMP_loop_ull_doacross_dynamic_start,
6958 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6959 * oacc-mem.c (acc_map_data, present_create_copy,
6960 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6961 to gomp_map_vars.
6962 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6963 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6964 instead of false to gomp_map_vars.
6965 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6966 * omp.h.in (omp_lock_hint_t): New type.
6967 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6968 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6969 omp_get_place_num, omp_get_partition_num_places,
6970 omp_get_partition_place_nums, omp_get_initial_device,
6971 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6972 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6973 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6974 prototypes.
6975 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6976 (omp_lock_hint_none, omp_lock_hint_uncontended,
6977 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6978 omp_lock_hint_speculative): New parameters.
6979 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6980 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6981 omp_get_place_num, omp_get_partition_num_places,
6982 omp_get_partition_place_nums, omp_get_initial_device,
6983 omp_get_max_task_priority): New interfaces.
6984 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6985 to chunk_size.
6986 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6987 (omp_lock_hint_none, omp_lock_hint_uncontended,
6988 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6989 omp_lock_hint_speculative): New parameters.
6990 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6991 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6992 omp_get_place_num, omp_get_partition_num_places,
6993 omp_get_partition_place_nums, omp_get_initial_device,
6994 omp_get_max_task_priority): New functions and subroutines.
6995 * ordered.c: Include stdarg.h and string.h.
6996 (MAX_COLLAPSED_BITS): Define.
6997 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6998 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6999 GOMP_doacross_ull_wait): New functions.
7000 * target.c: Include errno.h.
7001 (resolve_device): If device is not initialized, call
7002 gomp_init_device on it.
7003 (gomp_map_lookup): New function.
7004 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7005 Don't bump refcount if REFCOUNT_INFINITY. Handle
7006 GOMP_MAP_ALWAYS_TO_P.
7007 (get_kind): Rename is_openacc argument to short_mapkind.
7008 (gomp_map_pointer): Use gomp_map_lookup.
7009 (gomp_map_fields_existing): New function.
7010 (gomp_map_vars): Rename is_openacc argument to short_mapkind
7011 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
7012 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7013 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7014 Adjust for tgt->list changed type and copy_from living in there.
7015 (gomp_copy_from_async): Adjust for tgt->list changed type and
7016 copy_from living in there.
7017 (gomp_unmap_vars): Likewise.
7018 (gomp_update): Likewise. Rename is_openacc argument to
7019 short_mapkind. Don't fail if object is not mapped.
7020 (gomp_load_image_to_device): Initialize refcount to
7021 REFCOUNT_INFINITY.
7022 (gomp_target_fallback): New function.
7023 (gomp_get_target_fn_addr): Likewise.
7024 (GOMP_target): Adjust gomp_map_vars caller, use
7025 gomp_get_target_fn_addr and gomp_target_fallback.
7026 (GOMP_target_41): New function.
7027 (gomp_target_data_fallback): New function.
7028 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7029 (GOMP_target_data_41): New function.
7030 (GOMP_target_update): Adjust gomp_update caller.
7031 (GOMP_target_update_41): New function.
7032 (gomp_exit_data, GOMP_target_enter_exit_data,
7033 gomp_target_task_fn, omp_target_alloc, omp_target_free,
7034 omp_target_is_present, omp_target_memcpy,
7035 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7036 omp_target_associate_ptr, omp_target_disassociate_ptr,
7037 gomp_load_plugin_for_device): New functions.
7038 * task.c: Include gomp-constants.h. Include taskloop.c
7039 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7040 (gomp_task_handle_depend): New function.
7041 (GOMP_task): Use it. Add priority argument. Use
7042 gomp-constant.h constants instead of hardcoded numbers.
7043 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7044 (gomp_create_target_task): New function.
7045 (verify_children_queue, verify_taskgroup_queue,
7046 verify_task_queue): New functions.
7047 (gomp_task_run_pre): Call verify_*_queue functions.
7048 If an upcoming tied task is about to leave the sibling or
7049 taskgroup queues in an invalid state, adjust appropriately.
7050 Remove taskgroup argument. Add comments.
7051 (gomp_task_run_post_handle_dependers): Add comments.
7052 (gomp_task_run_post_remove_parent): Likewise.
7053 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7054 (GOMP_taskwait): Likewise. Add comments.
7055 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7056 problem such that the first non parent_depends_on task does not
7057 end up at the end of the children queue.
7058 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7059 GOMP_TASK_UNDEFERRED.
7060 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7061 * taskloop.c: New file.
7062 * testsuite/lib/libgomp.exp
7063 (check_effective_target_offload_device_nonshared_as): New proc.
7064 * testsuite/libgomp.c/affinity-2.c: New test.
7065 * testsuite/libgomp.c/doacross-1.c: New test.
7066 * testsuite/libgomp.c/doacross-2.c: New test.
7067 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7068 Add map clause to target.
7069 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7070 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7071 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7072 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7073 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7074 Likewise.
7075 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7076 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7077 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7078 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7079 not defined. Use those where needed.
7080 * testsuite/libgomp.c/for-4.c: New test.
7081 * testsuite/libgomp.c/for-5.c: New test.
7082 * testsuite/libgomp.c/for-6.c: New test.
7083 * testsuite/libgomp.c/linear-1.c: New test.
7084 * testsuite/libgomp.c/ordered-4.c: New test.
7085 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7086 only allowed on the loop iterator.
7087 * testsuite/libgomp.c/pr66199-3.c: New test.
7088 * testsuite/libgomp.c/pr66199-4.c: New test.
7089 * testsuite/libgomp.c/reduction-7.c: New test.
7090 * testsuite/libgomp.c/reduction-8.c: New test.
7091 * testsuite/libgomp.c/reduction-9.c: New test.
7092 * testsuite/libgomp.c/reduction-10.c: New test.
7093 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7094 map(tofrom:s).
7095 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7096 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7097 * testsuite/libgomp.c/target-11.c: New test.
7098 * testsuite/libgomp.c/target-12.c: New test.
7099 * testsuite/libgomp.c/target-13.c: New test.
7100 * testsuite/libgomp.c/target-14.c: New test.
7101 * testsuite/libgomp.c/target-15.c: New test.
7102 * testsuite/libgomp.c/target-16.c: New test.
7103 * testsuite/libgomp.c/target-17.c: New test.
7104 * testsuite/libgomp.c/target-18.c: New test.
7105 * testsuite/libgomp.c/target-19.c: New test.
7106 * testsuite/libgomp.c/target-20.c: New test.
7107 * testsuite/libgomp.c/target-21.c: New test.
7108 * testsuite/libgomp.c/target-22.c: New test.
7109 * testsuite/libgomp.c/target-23.c: New test.
7110 * testsuite/libgomp.c/target-24.c: New test.
7111 * testsuite/libgomp.c/target-25.c: New test.
7112 * testsuite/libgomp.c/target-26.c: New test.
7113 * testsuite/libgomp.c/target-27.c: New test.
7114 * testsuite/libgomp.c/taskloop-1.c: New test.
7115 * testsuite/libgomp.c/taskloop-2.c: New test.
7116 * testsuite/libgomp.c/taskloop-3.c: New test.
7117 * testsuite/libgomp.c/taskloop-4.c: New test.
7118 * testsuite/libgomp.c++/ctor-13.C: New test.
7119 * testsuite/libgomp.c++/doacross-1.C: New test.
7120 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7121 Replace offload_device with offload_device_nonshared_as.
7122 * testsuite/libgomp.c++/for-12.C: New test.
7123 * testsuite/libgomp.c++/for-13.C: New test.
7124 * testsuite/libgomp.c++/for-14.C: New test.
7125 * testsuite/libgomp.c++/linear-1.C: New test.
7126 * testsuite/libgomp.c++/member-1.C: New test.
7127 * testsuite/libgomp.c++/member-2.C: New test.
7128 * testsuite/libgomp.c++/member-3.C: New test.
7129 * testsuite/libgomp.c++/member-4.C: New test.
7130 * testsuite/libgomp.c++/member-5.C: New test.
7131 * testsuite/libgomp.c++/ordered-1.C: New test.
7132 * testsuite/libgomp.c++/reduction-5.C: New test.
7133 * testsuite/libgomp.c++/reduction-6.C: New test.
7134 * testsuite/libgomp.c++/reduction-7.C: New test.
7135 * testsuite/libgomp.c++/reduction-8.C: New test.
7136 * testsuite/libgomp.c++/reduction-9.C: New test.
7137 * testsuite/libgomp.c++/reduction-10.C: New test.
7138 * testsuite/libgomp.c++/reference-1.C: New test.
7139 * testsuite/libgomp.c++/simd14.C: New test.
7140 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7141 * testsuite/libgomp.c++/target-5.C: New test.
7142 * testsuite/libgomp.c++/target-6.C: New test.
7143 * testsuite/libgomp.c++/target-7.C: New test.
7144 * testsuite/libgomp.c++/target-8.C: New test.
7145 * testsuite/libgomp.c++/target-9.C: New test.
7146 * testsuite/libgomp.c++/target-10.C: New test.
7147 * testsuite/libgomp.c++/target-11.C: New test.
7148 * testsuite/libgomp.c++/target-12.C: New test.
7149 * testsuite/libgomp.c++/taskloop-1.C: New test.
7150 * testsuite/libgomp.c++/taskloop-2.C: New test.
7151 * testsuite/libgomp.c++/taskloop-3.C: New test.
7152 * testsuite/libgomp.c++/taskloop-4.C: New test.
7153 * testsuite/libgomp.c++/taskloop-5.C: New test.
7154 * testsuite/libgomp.c++/taskloop-6.C: New test.
7155 * testsuite/libgomp.c++/taskloop-7.C: New test.
7156 * testsuite/libgomp.c++/taskloop-8.C: New test.
7157 * testsuite/libgomp.c++/taskloop-9.C: New test.
7158 * testsuite/libgomp.fortran/affinity1.f90: New test.
7159 * testsuite/libgomp.fortran/affinity2.f90: New test.
7160
1f600fea
TV
71612015-10-13 Tom de Vries <tom@codesourcery.com>
7162
7163 PR tree-optimization/67476
7164 * testsuite/libgomp.c/autopar-3.c: New test.
7165 * testsuite/libgomp.c/autopar-4.c: New test.
7166 * testsuite/libgomp.c/autopar-5.c: New test.
7167 * testsuite/libgomp.c/autopar-6.c: New test.
7168 * testsuite/libgomp.c/autopar-7.c: New test.
7169 * testsuite/libgomp.c/autopar-8.c: New test.
7170
058a654b
JN
71712015-10-12 James Norris <jnorris@codesourcery.com>
7172
7173 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7174 initializer.
7175
9e531d37
DM
71762015-10-09 David Malcolm <dmalcolm@redhat.com>
7177
7178 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7179 using load_gcc_lib.
7180
113020dc
TS
71812015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7182
7183 * oacc-ptx.h: Remove file, moving its content into...
7184 * config/nvptx/fortran.c: ... here...
7185 * config/nvptx/oacc-init.c: ..., here...
7186 * config/nvptx/oacc-parallel.c: ..., and here.
7187 * config/nvptx/openacc.f90: New file.
7188 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7189 (link_ptx): Don't link in predefined bits of PTX code.
7190
cc3cd79b
NS
71912015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7192 Bernd Schmidt <bernds@codesourcery.com>
7193
7194 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7195 (struct targ_ptx_obj): New.
7196 (nvptx_tdata): Move earlier, change data format.
7197 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7198 objects.
7199 (GOMP_OFFLOAD_load_image): Adjust.
7200
4e2a5450
TS
72012015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7202
7203 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7204 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7205 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7206 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7207 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7208 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7209 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7210 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7211 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7212 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7213 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7214 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7215 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7216 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7217 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7218 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7219 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7220 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7221 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7222 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7223 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7224 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7225 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7226 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7227 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7228 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7229 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7230 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7231 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7232 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7233 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7234 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7235 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7236 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7237 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7238 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7239 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7240 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7241 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7242 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7243 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7244 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7245 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7246 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7247 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7248 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7249 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7250 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7251 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7252 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7253 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7254 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7255 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7256 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7257 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7258 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7259 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7260 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7261 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7262 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7263 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7264 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7265 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7266
164453bb
NS
72672015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7268
7269 * oacc-init.c (acc_on_device): Force optimization level.
7270
a12a0437
NS
72712015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7272
7273 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7274 (cuda_errlist): Delete.
7275 (cuda_error): Reimplement.
7276
3e32ee19
NS
72772015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7278
7279 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7280 array.
7281 * libgomp.map (GOACC_parallel_keyed): New.
7282 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7283 all callers.
7284 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7285 and take keyed varargs list. Adjust call to exec_func.
7286 (GOACC_parallel): Force host fallback.
7287 * libgomp_g.h (GOACC_parallel): Remove.
7288 (GOACC_parallel_keyed): Declare.
7289 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 7290 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
7291 (nvptx_exec): Lose separate geometry args, take array. Process
7292 dynamic dimensions and adjust.
7293 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7294 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7295 data.
7296 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7297 passing.
7298 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7299 passing.
7300
6bb4c3e2
CLT
73012015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7302
7303 PR libgomp/67141
7304 * oacc-int.h (goacc_host_init): Add declaration.
7305 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7306 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7307
74032f47 73082015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 7309 Sebastian Pop <s.pop@samsung.com>
74032f47 7310
93d90219 7311 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
7312 match o/p.
7313 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7314 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7315 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7316 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7317 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7318
97875f4a
JJ
73192015-09-03 Jakub Jelinek <jakub@redhat.com>
7320
7321 * configure.tgt: Add missing ;; in between nvptx and rtems
7322 snippets.
7323
06441dd5
SH
73242015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7325
7326 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7327 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7328 (gomp_thread_pool_reservoir): Add priority member.
7329 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7330 priority.
7331 (parse_thread_pools): Likewise.
7332 * team.c (gomp_team_start): Call configuration provided
7333 gomp_adjust_thread_attr(). Destroy thread attributes if
7334 necessary.
7335 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7336
66c59f92
SH
73372015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7338
7339 * config/posix/pool.h: New.
7340 * config/rtems/pool.h: Likewise.
7341 * config/rtems/proc.c: Likewise.
7342 * libgomp.h (gomp_thread_destructor): Declare.
7343 * team.c: Include configuration provided "pool.h".
7344 (gomp_get_thread_pool): Define in configuration.
7345 (gomp_team_end): Call configuration defined
7346 gomp_release_thread_pool().
7347
13c41b2e
SH
73482015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7349
7350 * config/rtems/bar.c: New.
7351 * config/rtems/bar.h: Likewise.
7352 * config/rtems/mutex.c: Likewise.
7353 * config/rtems/mutex.h: Likewise.
7354 * config/rtems/sem.c: Likewise.
7355 * config/rtems/sem.h: Likewise.
7356 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7357 <sys/lock.h> header file.
7358 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7359 supported by Newlib.
7360 * configure: Regenerate.
7361
7892ec67
SH
73622015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7363
7364 * team.c (gomp_new_thread_pool): Delete and move content to ...
7365 (gomp_get_thread_pool): ... new function. Allocate and
7366 initialize thread pool on demand.
7367 (get_last_team): Use gomp_get_thread_pool().
7368 (gomp_team_start): Delete thread pool initialization.
7369
1b96e9a4
TV
73702015-09-03 Tom de Vries <tom@codesourcery.com>
7371
7372 PR tree-optimization/65637
7373 * testsuite/libgomp.c/autopar-2.c: New test.
7374
3ff2d74e
TV
73752015-08-29 Tom de Vries <tom@codesourcery.com>
7376
7377 PR tree-optimization/46193
7378 * testsuite/libgomp.c/pr46193.c: New test.
7379
2a21ff19
NS
73802015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7381
7382 libgomp/
7383 * libgomp.map: Add 4.0.2 version.
7384 * target.c (offload_image_descr): Add version field.
7385 (gomp_load_image_to_device): Add version argument. Adjust plugin
7386 call. Improve load mismatch diagnostic.
7387 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7388 call.
7389 (GOMP_offload_regster): Make stub function, move bulk to ...
7390 (GOMP_offload_register_ver): ... here. Process version argument.
7391 (GOMP_offload_unregister): Make stub function, move bulk to ...
7392 (GOMP_offload_unregister_ver): ... here. Process version argument.
7393 (gomp_init_device): Process version field.
7394 (gomp_unload_device): Process version field.
7395 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7396 macros. Check plugin version.
7397 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7398 loader and unloader types.
7399 * oacc-host.c: Include gomp-constants.h.
7400 (host_version): New.
7401 (host_load_image, host_unload_image): Adjust.
7402 (host_dispatch): Add host_version.
7403 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7404 (GOMP_OFFLOAD_version): New.
7405 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7406 (GOMP_OFFLOAD_unload_image): Likewise.
7407 * plugin/plugin-host.c: Include gomp-constants.h.
7408 (GOMP_OFFLOAD_version): New.
7409 (GOMP_OFFLOAD_load_image): Add version arg.
7410 (GOMP_OFFLOAD_unload_image): Likewise.
7411
1358a747
TV
74122015-08-24 Tom de Vries <tom@codesourcery.com>
7413
7414 PR tree-optimization/65468
7415 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7416
6be5c241
TV
74172015-08-24 Tom de Vries <tom@codesourcery.com>
7418
7419 PR tree-optimization/65468
7420 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7421
bfe7ac89
JV
74222015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7423
7424 PR libgomp/66761
7425 PR libgomp/67303
7426 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7427 (gomp_iter_guided_next): Idem.
7428 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7429 (gomp_iter_ull_guided_next): Idem.
7430 * config/linux/wait.h (do_spin): Idem.
7431
b97e78b7
TS
74322015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7433
7434 * libgomp-plugin.h (enum offload_target_type): Remove
7435 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7436 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7437 * openacc.h (enum acc_device_t): Likewise.
7438 * openacc_lib.h: Likewise.
7439 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7440 (acc_on_device): Just use __builtin_acc_on_device.
7441 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7442 of acc_on_device builtin.
7443 * plugin/plugin-host.h: Remove file.
7444 * plugin/plugin-host.c: Likewise, but salvage some content into...
7445 * oacc-host.c: ... this file.
7446 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7447 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7448 * Makefile.in: Regenerate.
7449 * configure: Likewise.
7450 * testsuite/lib/libgomp.exp
7451 (check_effective_target_openacc_host_nonshm_selected): Remove.
7452 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7453 ACC_DEVICE_TYPE=host_nonshm.
7454 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7455 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7457 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7458 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7459 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7460
44a7d18d
TS
74612015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7462 Jakub Jelinek <jakub@redhat.com>
7463
7464 * config/nvptx/affinity.c: New file.
7465 * config/nvptx/alloc.c: Likewise.
7466 * config/nvptx/bar.c: Likewise.
7467 * config/nvptx/barrier.c: Likewise.
7468 * config/nvptx/critical.c: Likewise.
7469 * config/nvptx/env.c: Likewise.
7470 * config/nvptx/error.c: Likewise.
7471 * config/nvptx/fortran.c: Likewise.
7472 * config/nvptx/iter.c: Likewise.
7473 * config/nvptx/iter_ull.c: Likewise.
7474 * config/nvptx/libgomp-plugin.c: Likewise.
7475 * config/nvptx/lock.c: Likewise.
7476 * config/nvptx/loop.c: Likewise.
7477 * config/nvptx/loop_ull.c: Likewise.
7478 * config/nvptx/mutex.c: Likewise.
7479 * config/nvptx/oacc-async.c: Likewise.
7480 * config/nvptx/oacc-cuda.c: Likewise.
7481 * config/nvptx/oacc-host.c: Likewise.
7482 * config/nvptx/oacc-init.c: Likewise.
7483 * config/nvptx/oacc-mem.c: Likewise.
7484 * config/nvptx/oacc-parallel.c: Likewise.
7485 * config/nvptx/oacc-plugin.c: Likewise.
7486 * config/nvptx/omp-lock.h: Likewise.
7487 * config/nvptx/ordered.c: Likewise.
7488 * config/nvptx/parallel.c: Likewise.
7489 * config/nvptx/proc.c: Likewise.
7490 * config/nvptx/ptrlock.c: Likewise.
7491 * config/nvptx/sections.c: Likewise.
7492 * config/nvptx/sem.c: Likewise.
7493 * config/nvptx/single.c: Likewise.
7494 * config/nvptx/splay-tree.c: Likewise.
7495 * config/nvptx/target.c: Likewise.
7496 * config/nvptx/task.c: Likewise.
7497 * config/nvptx/team.c: Likewise.
7498 * config/nvptx/time.c: Likewise.
7499 * config/nvptx/work.c: Likewise.
7500 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7501 * configure: Regenerate.
7502 * configure.tgt (config_path): Set to "nvptx" for target
7503 nvptx*-*-*.
7504
96a2d174
TS
75052015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7506
7507 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7508
9ebddeb0
NS
75092015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7510
7511 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7512 (cuda_errlist): Constify.
7513 (errmsg): Move into ...
7514 (cuda_error): ... here. Make smaller.
7515 (_XSTR, _STR): Delete.
7516 (cuda_synames): Delete.
7517 (verify_device_library): Delete.
7518 (nvptx_init): Don't call it.
7519
12efb1d7
TV
75202015-07-28 Tom de Vries <tom@codesourcery.com>
7521
7522 * testsuite/libgomp.c/uns-outer-4.c: New test.
7523
710ee218
CP
75242015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7525
7526 * testsuite/libgomp.c/pr66714.c: New test.
7527
27c4ac7d
MB
75282015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7529
7530 PR libgomp/66950
7531 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7532 (fib_ref): New function.
7533 (fib): Correct corner cases in the recursion.
7534 (main): Replace the non-simd loop with fib_ref call.
7535 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7536 subroutine.
7537 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7538 for the last array element value. Replace the non-simd loop with
7539 fib_ref call. Remove redundant b_ref array. Remove the comparison
7540 of the last array element with according Fibonacci sequence element.
7541 (fib): Correct corner cases in the recursion.
7542
22be2349
NS
75432015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7544
7545 * target.c (gomp_offload_image_to_device): Rename to ...
7546 (gomp_load_image_to_device): ... here.
7547 (GOMP_offload_register): Adjust call.
7548 (gomp_init_device): Likewise.
7549 (gomp_unload_image_from_device): New. Broken out of ...
7550 (GOMP_offload_unregister): ... here. Call it.
7551 (gomp_unload_device): New.
7552 * libgomp.h (gomp_unload_device): Declare.
7553 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7554 mem maps.
7555
f3e9a059
NS
75562015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7557
a091118d
NS
7558 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7559 wait=-specific if.
7560 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7561 !=0 condition.
7562 (goacc_waits): Move !num_waits handling to ...
7563 (GOACC_wait): ... here, the only caller that might have zero waits.
7564
f3e9a059
NS
7565 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7566 (struct ptx_image_data): Move earlier, add fns field.
7567 (struct ptx_device): Add images and image_lock fields.
7568 (ptx_images, ptx_image_lock): Delete.
7569 (nvptx_open_device): Initialize images and image_lock fields.
7570 (nvptx_close_device): Destroy image_lock.
7571 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7572 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7573 fields.
7574
afb2d80b
NS
75752015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7576
896c28a7
NS
7577 * target.c (GOMP_offload_register): Use int for device type arg.
7578 (GOMP_offload_unregister): Likewise.
7579
ebe4a560
NS
7580 * target.c (struct_offload_image_descr): Constify host_table.
7581 (gomp_offload_image_to_device): Likewise.
7582 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7583
afb2d80b
NS
7584 * libgomp.h (gomp_device_descr): Constify target data arguments.
7585 * target.c (struct offload_image_descr): Constify target_data.
7586 (gomp_offload_image_to_device): Likewise.
7587 (GOMP_offload_register): Likewise.
93d90219 7588 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
7589 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7590 GOMP_OFFLOAD_unload_image): Constify target data.
7591 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7592 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7593
a4cb876d
NS
75942015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7595
7596 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7597 Workaround driver library const error.
7598 (struct nvptx_tdata, nvptx_tdata_t): New.
7599 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7600 type.
7601
28ef6a27
MB
76022015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7603
7604 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7605 of EPS parameter from integer to real.
7606 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7607 type of EPS parameter from integer to real.
7608
6dba0113
SH
76092015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7610
7611 * team.c (get_last_team): New.
7612 (gomp_new_team): Recycle last non-nested team if possible.
7613 (gomp_team_end): Move team work share list free lock destruction
7614 to ...
7615 (free_team): ... here.
7616
4c1cb4da
MB
76172015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7618
7619 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7620 and ref from int to double. Replaced their comparison with
7621 an inequality of their difference and EPS.
7622 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7623 comparison of pri and a reference number with an inequality of their
7624 difference and EPS.
7625 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7626 the comparison of sum and sum_ref with an inequality of their
7627 difference and EPS.
7628 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7629 the comparison of pri and a reference number with an inequality of
7630 their difference and EPS.
7631
343587dc
MB
76322015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7633
7634 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7635 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7636 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7637 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7638 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7639 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7640 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7641 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7642 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7643 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7644 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7645 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7646 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7647 variables.
7648 (vec_mult): Likewise. Add #pragma omp taskwait.
7649 (main): Adjust caller.
7650 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7651 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7652 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7653 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7654 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7655 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7656 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7657 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7658 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7659 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7660 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7661 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7662 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7663 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7664 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7665 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7666 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7667 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7668 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7669 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7670 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7671 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7672 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7673 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7674 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7675 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7676 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7677 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7678 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7679 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7680 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7681 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7682 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7683 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7684 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7685 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7686 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7687 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7688 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7689 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7690 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7691 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7692 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7693 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7694 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7695 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7696 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7697 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7698 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7699 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7700 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7701 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7702 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7703 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7704 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7705 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7706 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7707 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7708 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7709 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7710 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7711 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7712 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7713 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7714 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7715 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7716 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7717 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7718 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7719 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7720 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7721 (vec_mult): Add !$omp taskwait.
7722 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7723 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7724 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7725 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7726 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7727 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7728 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7729 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7730 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7731 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7732 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7733 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7734 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7735 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7736 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7737 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7738 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7739 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7740 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7741 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7742 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7743 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7744 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7745 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7746 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7747 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7748 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7749 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7750 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7751 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7752 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7753 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7754 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7755 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7756 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7757 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7758 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7759 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7760 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7761 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7762 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7763 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7764 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7765 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7766 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7767 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7768 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7769 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7770 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7771 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7772 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7773 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7774 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7775 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7776 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7777 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7778 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7779 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7780 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7781 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7782 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7783 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7784 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7785 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7786 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7787 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7788 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7789
9f620bf1
TV
77902015-07-10 Tom de Vries <tom@codesourcery.com>
7791
7792 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7793 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7794
a92defda
TS
77952015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7796
7797 PR libgomp/65099
7798 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7799 in a 64-bit configuration.
7800 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7801 offloading testing if no such device is available.
7802 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7803 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7804
cadb53a5
TV
78052015-07-08 Tom de Vries <tom@codesourcery.com>
7806
7807 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7808 second call to f.
7809 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7810
712cb0bb
TV
78112015-07-07 Tom de Vries <tom@codesourcery.com>
7812
7813 PR tree-optimization/66642
7814 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7815 iteration count case.
7816 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7817 function, factor out of ...
7818 (main): ... here. Test low iteration count case.
7819
e5210c77
SH
78202015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7821
7822 * libgomp.h (gomp_thread_pool): Comment last_team field.
7823
f70360e7
UB
78242015-07-02 Uros Bizjak <ubizjak@gmail.com>
7825
7826 * testsuite/libgomp.c++/pr66702-1.C: Require
7827 vect_simd_clones effective target.
7828 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7829
b451c271
TV
78302015-06-30 Tom de Vries <tom@codesourcery.com>
7831
7832 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7833 already set. Use DEFAULT_CFLAGS in dg-runtest.
7834 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7835 "-O2".
7836
f8e89d9f
TV
78372015-06-30 Tom de Vries <tom@codesourcery.com>
7838
7839 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7840 already set. Use DEFAULT_CFLAGS in dg-runtest.
7841 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7842 * testsuite/libgomp.c++/pr64824.C: Same.
7843 * testsuite/libgomp.c++/pr64868.C: Same.
7844 * testsuite/libgomp.c++/pr66199-1.C: Same.
7845 * testsuite/libgomp.c++/pr66199-2.C: Same.
7846 * testsuite/libgomp.c++/target-2.C: Same.
7847 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7848 -std=<standard> option.
7849 * testsuite/libgomp.c++/udr-11.C: Same.
7850 * testsuite/libgomp.c++/udr-12.C: Same.
7851 * testsuite/libgomp.c++/udr-13.C: Same.
7852 * testsuite/libgomp.c++/udr-14.C: Same.
7853 * testsuite/libgomp.c++/udr-15.C: Same.
7854 * testsuite/libgomp.c++/udr-16.C: Same.
7855 * testsuite/libgomp.c++/udr-17.C: Same.
7856 * testsuite/libgomp.c++/udr-18.C: Same.
7857 * testsuite/libgomp.c++/udr-19.C: Same.
7858 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7859 * testsuite/libgomp.c++/simd-1.C: Same.
7860 * testsuite/libgomp.c++/simd-2.C: Same.
7861 * testsuite/libgomp.c++/simd-3.C: Same.
7862 * testsuite/libgomp.c++/simd-4.C: Same.
7863 * testsuite/libgomp.c++/simd-5.C: Same.
7864 * testsuite/libgomp.c++/simd-6.C: Same.
7865 * testsuite/libgomp.c++/simd-7.C: Same.
7866 * testsuite/libgomp.c++/simd-8.C: Same.
7867 * testsuite/libgomp.c++/simd-9.C: Same.
7868 * testsuite/libgomp.c++/simd10.C: Same.
7869 * testsuite/libgomp.c++/simd11.C: Same.
7870 * testsuite/libgomp.c++/simd12.C: Same.
7871 * testsuite/libgomp.c++/simd13.C: Same.
7872
3446fe48
JJ
78732015-06-30 Jakub Jelinek <jakub@redhat.com>
7874
7875 PR middle-end/66702
7876 * testsuite/libgomp.c++/pr66702-1.C: New test.
7877 * testsuite/libgomp.c++/pr66702-2.C: New test.
7878
8a36714a
TV
78792015-06-30 Tom de Vries <tom@codesourcery.com>
7880
7881 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7882 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7883 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7884 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7885
4f75d608
TV
78862015-06-30 Tom de Vries <tom@codesourcery.com>
7887
7888 PR tree-optimization/66652
7889 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7890 using restrict pointers.
7891 (main): Add arguments to calls to f.
7892 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7893
6d9d1eeb
AT
78942015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7895
7896 * configure.ac: Fix check for header <sys/sysctl.h>.
7897 * configure: Regenerate.
7898 * config.h.in: Likewise.
7899
1222f22b
TV
79002015-06-23 Tom de Vries <tom@codesourcery.com>
7901
7902 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7903 abort.
7904 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7905
d7efbbf6
TS
79062015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7907
bfcd036f
TS
7908 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7909 acc_device_nvidia.
7910
d7efbbf6
TS
7911 PR libgomp/66518
7912 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7913 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7914
d7bfc710
TV
79152015-06-15 Tom de Vries <tom@codesourcery.com>
7916
7917 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7918 dg-additional-options for any remaining options.
7919 * testsuite/libgomp.c/atomic-2.c: Same.
7920 * testsuite/libgomp.c/atomic-4.c: Same.
7921 * testsuite/libgomp.c/atomic-5.c: Same.
7922 * testsuite/libgomp.c/atomic-6.c: Same.
7923 * testsuite/libgomp.c/autopar-1.c: Same.
7924 * testsuite/libgomp.c/copyin-1.c: Same.
7925 * testsuite/libgomp.c/copyin-2.c: Same.
7926 * testsuite/libgomp.c/copyin-3.c: Same.
7927 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7928 * testsuite/libgomp.c/nestedfn-5.c: Same.
7929 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7930 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7931 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7932 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7933 * testsuite/libgomp.c/pr32362-1.c: Same.
7934 * testsuite/libgomp.c/pr32362-2.c: Same.
7935 * testsuite/libgomp.c/pr32362-3.c: Same.
7936 * testsuite/libgomp.c/pr39591-1.c: Same.
7937 * testsuite/libgomp.c/pr39591-2.c: Same.
7938 * testsuite/libgomp.c/pr39591-3.c: Same.
7939 * testsuite/libgomp.c/pr58392.c: Same.
7940 * testsuite/libgomp.c/pr58756.c: Same.
7941 * testsuite/libgomp.c/simd-1.c: Same.
7942 * testsuite/libgomp.c/simd-10.c: Same.
7943 * testsuite/libgomp.c/simd-11.c: Same.
7944 * testsuite/libgomp.c/simd-12.c: Same.
7945 * testsuite/libgomp.c/simd-13.c: Same.
7946 * testsuite/libgomp.c/simd-14.c: Same.
7947 * testsuite/libgomp.c/simd-15.c: Same.
7948 * testsuite/libgomp.c/simd-2.c: Same.
7949 * testsuite/libgomp.c/simd-3.c: Same.
7950 * testsuite/libgomp.c/simd-4.c: Same.
7951 * testsuite/libgomp.c/simd-5.c: Same.
7952 * testsuite/libgomp.c/simd-6.c: Same.
7953 * testsuite/libgomp.c/simd-7.c: Same.
7954 * testsuite/libgomp.c/simd-8.c: Same.
7955 * testsuite/libgomp.c/simd-9.c: Same.
7956
fb5b5352
TV
79572015-06-15 Tom de Vries <tom@codesourcery.com>
7958
7959 * testsuite/libgomp.c/pr35625.c: Fix typo.
7960
ca431bef
TV
79612015-06-15 Tom de Vries <tom@codesourcery.com>
7962
7963 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7964 in dg-options.
7965 * testsuite/libgomp.c/atomic-3.c: Same.
7966 * testsuite/libgomp.c/debug-1.c: Same.
7967 * testsuite/libgomp.c/nqueens-1.c: Same.
7968 * testsuite/libgomp.c/pr26171.c: Same.
7969 * testsuite/libgomp.c/pr48591.c: Same.
7970 * testsuite/libgomp.c/pr64824.c: Same.
7971 * testsuite/libgomp.c/pr64868.c: Same.
7972 * testsuite/libgomp.c/pr66133.c: Same.
7973 * testsuite/libgomp.c/pr66199-1.c: Same.
7974 * testsuite/libgomp.c/pr66199-2.c: Same.
7975 * testsuite/libgomp.c/target-8.c: Same.
7976
0d8a9e20
TV
79772015-06-15 Tom de Vries <tom@codesourcery.com>
7978
7979 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7980 -std={gnu99,c99}.
7981 * testsuite/libgomp.c/for-1.c: Same.
7982 * testsuite/libgomp.c/for-2.c: Same.
7983 * testsuite/libgomp.c/for-3.c: Same.
7984 * testsuite/libgomp.c/pr35625.c: Same.
7985 * testsuite/libgomp.c/pr39154.c: Same.
7986 * testsuite/libgomp.c/simd-16.c: Same.
7987 * testsuite/libgomp.c/simd-17.c: Same.
7988
a6860be9
TV
79892015-06-13 Tom de Vries <tom@codesourcery.com>
7990
7991 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7992
ab3306d2
TV
79932015-06-13 Tom de Vries <tom@codesourcery.com>
7994
7995 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7996 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7997 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7998 (N): Define.
7999 (main): Use N instead of hardcoded constants.
8000
7c82d827
TV
80012015-06-05 Tom de Vries <tom@codesourcery.com>
8002
8003 merge from gomp4 branch:
8004 2015-05-28 Tom de Vries <tom@codesourcery.com>
8005
8006 PR tree-optimization/65443
8007 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8008 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8009 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8010
c469078d
BRF
80112015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8012
8013 * testsuite/libgomp.graphite/bounds.c: Adjust for
8014 cleanup-tree-dump removal.
8015 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8016 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8017 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8018 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8019 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8020 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8021 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8022 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8023 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8024 * testsuite/libgomp.graphite/pr41118.c: Likewise.
8025
bb3caa35
UB
80262015-05-28 Uros Bizjak <ubizjak@gmail.com>
8027
8028 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8029 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8030 (futex_wake) [!__x86_64__]: Ditto.
8031
9fb5fd44
JB
80322015-05-28 Julian Brown <julian@codesourcery.com>
8033
8034 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8035 function comment. Only call gomp_fatal if new argument is true.
8036 (acc_dev_num_out_of_range): New function.
8037 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8038 acc_dev_num_out_of_range as appropriate.
8039 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
8040 (acc_get_device_num, acc_set_device_num): Update calls to
8041 resolve_device.
9fb5fd44
JB
8042 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8043 output.
8044
32eaed93
JB
80452015-05-28 Julian Brown <julian@codesourcery.com>
8046
8047 PR libgomp/65742
32eaed93
JB
8048 * oacc-init.c (plugin/plugin-host.h): Include.
8049 (acc_on_device): Check whether we're in an offloaded region for
8050 host_nonshm
8051 plugin. Don't use __builtin_acc_on_device.
8052 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8053 nonshm_exec flag in thread-local data.
8054 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8055 data for host_nonshm plugin.
8056 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8057 for host_nonshm plugin.
8058 * plugin/plugin-host.h: New.
8059
ea023bcf
UB
80602015-05-27 Uros Bizjak <ubizjak@gmail.com>
8061
8ed501f1
UB
8062 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8063
80642015-05-27 Uros Bizjak <ubizjak@gmail.com>
8065
8066 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8067 Declare as int.
8068 (FUTEX_PRIVATE_FLAG): Remove L suffix.
8069 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8070 Declare as int.
8071
80722015-05-27 Uros Bizjak <ubizjak@gmail.com>
8073
bb3caa35 8074 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 8075
1716efeb
CLT
80762015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
8077
8078 * target.c (gomp_map_pointer): New function abstracting out
8079 GOMP_MAP_POINTER handling.
8080 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8081 gomp_map_pointer().
8082
41b37d5e
JJ
80832015-05-19 Jakub Jelinek <jakub@redhat.com>
8084
8085 PR middle-end/66199
8086 * testsuite/libgomp.c/pr66199-1.c: New test.
8087 * testsuite/libgomp.c/pr66199-2.c: New test.
8088 * testsuite/libgomp.c++/pr66199-1.C: New test.
8089 * testsuite/libgomp.c++/pr66199-2.C: New test.
8090 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8091 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8092
c8319826
JB
80932015-05-19 Julian Brown <julian@codesourcery.com>
8094
8095 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8096 on cuInit failure.
8097
b37dddbc
JJ
80982015-05-13 Jakub Jelinek <jakub@redhat.com>
8099
8100 PR middle-end/66133
8101 * testsuite/libgomp.c/pr66133.c: New test.
8102
55fba601
MH
81032015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
8104
8105 * Makefile.in: Regenerated with automake-1.11.6.
8106 * aclocal.m4: Likewise.
8107 * config.h.in: Likewise.
8108 * configure: Likewise.
8109 * testsuite/Makefile.in: Likewise.
8110
1be0899d
JM
81112015-05-08 Jason Merrill <jason@redhat.com>
8112
8113 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8114 _Complex.
8115
8116 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8117
d2463960
JB
81182015-05-06 Julian Brown <julian@codesourcery.com>
8119
8120 * oacc-init.c (acc_device_lock): Add explanatory comment.
8121 (resolve_device): Add comment about locking requirement.
8122 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8123 gomp_init_device and gomp_fini_device calls.
8124 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8125 (acc_get_device_num, acc_set_device_num): Add locking around
8126 resolve_device and gomp_init_device calls.
8127
e38fdba4
JB
81282015-05-06 Julian Brown <julian@codesourcery.com>
8129
8130 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8131 goacc_thread_lock on error paths.
8132 * oacc-mem.c (lookup_host): Remove locking from function. Note
8133 locking requirement for caller in function comment.
8134 (lookup_dev): Likewise.
8135 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8136 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8137 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8138 Add locking.
8139
ae8ffbbb
TS
81402015-05-05 Thomas Schwinge <thomas@codesourcery.com>
8141
8142 PR testsuite/65205
8143 PR libgomp/65993
8144 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8145 don't expect "0x" prefix for "%p" format specifier, don't expect
8146 "(nil)" for NULL pointer.
8147 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8148 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8149 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8150 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8151 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8152 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8153 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8154 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8155 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8156 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8157 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8158 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8159 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8160 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8161 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8162 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8163 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8164 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8165 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8166 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8167 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8168 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8169 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8170 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8171 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8172 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8173 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8174 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8175 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8176 accurately specify what we're looking for.
8177 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8178 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8179 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8180 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8181 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8182
1309f1d2
JN
81832015-04-30 James Norris <jnorris@codesourcery.com>
8184
8185 PR testsuite/65205
8186 * testsuite/lib/libgomp.exp
8187 (check_effective_target_openacc_host_selected)
8188 (check_effective_target_openacc_host_nonshm_selected): New
8189 procedures.
8190 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8191 dg-shouldfail.
8192 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8193 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8194 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8195 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8196 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8197 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8198 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8199 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8200 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8201 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8202 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8203 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8204 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8205 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8206 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8207 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8208 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8209 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8210 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8211 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8212 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8213 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8214 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8215 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8216 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8217 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8218 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8219 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8220 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8221 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8222 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8223 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8224 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8225 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8226 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8227 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8229 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8231 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8232 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8233 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8234 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8235
d93bdab5
JB
82362015-04-08 Julian Brown <julian@codesourcery.com>
8237
8238 * libgomp.h (target_mem_desc: Remove mem_map field.
8239 (acc_dispatch_t): Remove open_device_func, close_device_func,
8240 get_device_num_func, set_device_num_func, target_data members.
8241 Change create_thread_data_func argument to device number instead of
8242 generic pointer.
8243 * oacc-async.c (assert.h): Include.
8244 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8245 (acc_wait_all, acc_wait_all_async): Use current host thread's
8246 active device, not base_dev.
8247 * oacc-cuda.c (acc_get_current_cuda_device)
8248 (acc_get_current_cuda_context, acc_get_cuda_stream)
8249 (acc_set_cuda_stream): Likewise.
8250 * oacc-host.c (host_dispatch): Don't set open_device_func,
8251 close_device_func, get_device_num_func or set_device_num_func.
8252 * oacc-init.c (base_dev, init_key): Remove.
8253 (cached_base_dev): New.
8254 (name_of_acc_device_t): New.
8255 (acc_init_1): Initialise default-numbered device, not zeroth.
8256 (acc_shutdown_1): Close all devices of a given type.
8257 (goacc_destroy_thread): Don't use base_dev.
8258 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8259 (goacc_attach_host_thread_to_device): New.
8260 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8261 (acc_get_num_devices): Don't use base_dev.
8262 (acc_set_device_type): Reimplement.
8263 (acc_get_device_type): Don't use base_dev.
8264 (acc_get_device_num): Tweak logic.
8265 (acc_set_device_num): Likewise.
8266 (acc_on_device): Use acc_get_device_type.
8267 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8268 (goacc_lazy_initialize): Reimplement with acc_init and
8269 goacc_attach_host_thread_to_device.
8270 * oacc-int.h (goacc_thread): Add base_dev field.
8271 (base_dev): Remove extern declaration.
8272 (goacc_attach_host_thread_to_device): Add prototype.
8273 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8274 base_dev.
8275 (acc_free): Likewise.
8276 (acc_memcpy_to_device): Likewise.
8277 (acc_memcpy_from_device): Likewise.
8278 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8279 goacc_lazy_initialize (throughout).
8280 (GOACC_parallel): Use tgt_offset to locate target functions.
8281 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8282 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8283 (gomp_load_plugin_for_device): Remove open_device, close_device,
8284 get_device_num, set_device_num openacc hook initialisation. Don't set
8285 openacc.target_data.
8286 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8287 (GOMP_OFFLOAD_openacc_close_device)
8288 (GOMP_OFFLOAD_openacc_get_device_num)
8289 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8290 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8291 to int.
8292 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8293 (instantiated_devices, ptx_dev_lock): New.
8294 (struct ptx_image_data): New.
8295 (ptx_devices, ptx_images, ptx_image_lock): New.
8296 (fini_streams_for_device): Reorder cuStreamDestroy call.
8297 (nvptx_get_num_devices): Remove forward declaration.
8298 (nvptx_init): Change return type to bool.
8299 (nvptx_fini): Remove.
8300 (nvptx_attach_host_thread_to_device): New.
8301 (nvptx_open_device): Return struct ptx_device* instead of void*.
8302 (nvptx_close_device): Change argument type to struct ptx_device*,
8303 return type to void.
8304 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8305 (kernel_target_data, kernel_host_table): Remove static globals.
8306 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8307 (GOMP_OFFLOAD_init_device): Reimplement.
8308 (GOMP_OFFLOAD_fini_device): Likewise.
8309 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8310 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8311 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8312 (GOMP_OFFLOAD_openacc_open_device)
8313 (GOMP_OFFLOAD_openacc_close_device)
8314 (GOMP_OFFLOAD_openacc_set_device_num)
8315 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8316 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8317 (device number).
8318
8319 testsuite/
8320 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8321
a51df54e
IV
83222015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8323
8324 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8325 * libgomp.h (struct gomp_memory_mapping): Remove.
8326 (struct target_mem_desc): Change type of mem_map from
8327 gomp_memory_mapping * to splay_tree_s *.
8328 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8329 Add load_image_func, unload_image_func.
8330 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8331 Remove offload_regions_registered.
8332 (gomp_init_tables): Remove.
8333 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8334 to splay_tree_s *.
8335 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8336 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8337 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8338 offload_regions_registered.
8339 Initialize load_image_func, unload_image_func, mem_map.root.
8340 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8341 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8342 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8343 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8344 gomp_memory_mapping *. Use dev's lock and splay_tree.
8345 (lookup_dev): Use dev's lock.
8346 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8347 (acc_is_present): Likewise.
8348 (acc_map_data): Likewise.
8349 (acc_unmap_data): Likewise. Use dev's lock.
8350 (present_create_copy): Likewise.
8351 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8352 (update_dev_host): Likewise.
8353 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8354 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8355 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8356 (GOMP_OFFLOAD_get_table): Remove
8357 (GOMP_OFFLOAD_load_image): New function.
8358 (GOMP_OFFLOAD_unload_image): New function.
8359 * target.c (register_lock): New mutex for offload image registration.
8360 (num_devices): Do not guard with PLUGIN_SUPPORT.
8361 (gomp_realloc_unlock): New static function.
8362 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8363 before gomp_fatal.
8364 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8365 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8366 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8367 mem_map's.
8368 (gomp_unmap_vars): Likewise.
8369 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8370 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8371 (gomp_offload_image_to_device): New static function.
8372 (GOMP_offload_register): Add mutex lock.
8373 Call gomp_offload_image_to_device for all initialized devices.
8374 Replace gomp_realloc with gomp_realloc_unlock.
8375 (GOMP_offload_unregister): New function.
8376 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8377 get_table_func from the plugin with calls to init_device_func and
8378 gomp_offload_image_to_device.
8379 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8380 to splay_tree_s *.
8381 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8382 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8383 (GOMP_target_data): Do not call gomp_init_tables.
8384 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8385 (gomp_load_plugin_for_device): Replace register_image and get_table
8386 with load_image and unload_image in DLSYM ().
8387 (gomp_register_images_for_device): Remove function.
8388 (gomp_target_init): Do not initialize current_device.mem_map.*,
8389 current_device.offload_regions_registered.
8390 Remove call to gomp_register_images_for_device.
8391 Do not free offload_images and num_offload_images.
8392
6c384511
JJ
83932015-03-30 Jakub Jelinek <jakub@redhat.com>
8394
8395 PR fortran/65597
8396 * testsuite/libgomp.fortran/pr65597.f90: New test.
8397
3e8165a5
TV
83982015-03-27 Tom de Vries <tom@codesourcery.com>
8399
8400 PR testsuite/65594
8401 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8402 (init, check): New function.
8403 (foo): Change return type to void.
8404 (main): Call init and check.
8405
4d688c9a
TV
84062015-03-27 Tom de Vries <tom@codesourcery.com>
8407
8408 PR testsuite/65594
8409 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8410 (foo): Use M for non-inner loops to scale down test-case.
8411
01c0b3b0
KT
84122015-03-25 Kai Tietz <ktietz@redhat.com>
8413
8414 PR libgomp/64972
8415 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8416 (GOACC_data_start): Likewise.
8417 * target.c (gomp_map_vars): Likewise.
8418
844d9a76
JDA
84192015-03-21 John David Anglin <danglin@gcc.gnu.org>
8420
8421 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8422 hppa*-*-hpux*.
8423
9b65e171
JJ
84242015-03-19 Jakub Jelinek <jakub@redhat.com>
8425
8426 * testsuite/libgomp.c/target-10.c: New test.
8427 * testsuite/libgomp.c++/target-4.C: New test.
8428
db397e2e
IV
84292015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8430
8431 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8432 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8433
cd93945d
SH
84342015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8435
8436 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8437 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8438 (pthread.h): Check for this header file.
8439 * configure: Regenerate.
8440
05deba9f
TV
84412015-02-25 Tom de Vries <tom@codesourcery.com>
8442
8443 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8444 (check_reduction_op, check_reduction_macro, max, min):
8445 Declare.
8446 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8447 function.
8448 (main): Use new functions.
8449
196904d8
IT
84502015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8451
8452 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8453 char * for variables holding dlerror return values.
8454 (DLSYM_OPT): Ditto.
8455
a2818955
TS
84562015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8457
8458 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8459
26f93312
TS
84602015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8461 Cesar Philippidis <cesar@codesourcery.com>
8462
8463 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8464 GOACC_ctaid, and GOACC_nctaid routines.
8465
fa01ffcc
JJ
84662015-02-11 Jakub Jelinek <jakub@redhat.com>
8467
8468 PR c/64824
8469 * testsuite/libgomp.c/atomic-18.c: New test.
8470 * testsuite/libgomp.c++/atomic-16.C: New test.
8471
4886ec8e
JJ
84722015-02-04 Jakub Jelinek <jakub@redhat.com>
8473
8474 PR c/64824
8475 PR c/64868
8476 * testsuite/libgomp.c/pr64824.c: New test.
8477 * testsuite/libgomp.c/pr64868.c: New test.
8478 * testsuite/libgomp.c++/pr64824.C: New test.
8479 * testsuite/libgomp.c++/pr64868.C: New test.
8480
02d3e45e
DE
84812015-02-01 David Edelsohn <dje.gcc@gmail.com>
8482
8483 PR libgomp/64635
8484 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8485 Link with -lpthread.
8486 * config/aix/plugin-suffix.h: Delete.
8487
b5f7a6ca
JH
84882015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8489
8490 PR libgomp/64635
8491 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8492 (*-*-darwin*): Use config_path "bsd darwin posix".
8493 (*-*-hpux*): Use config_path "hpux posix".
8494 * target.c: Add include of plugin-suffix.h and use
8495 SONAME_SUFFIX macro.
8496 * config/aix/plugin-suffix.h: New file.
8497 * config/darwin/plugin-suffix.h: New file.
8498 * config/hpux/plugin-suffix.h: New file.
8499 * config/posix/plugin-suffix.h: New file.
8500
b8910447
JJ
85012015-01-23 Jakub Jelinek <jakub@redhat.com>
8502
8503 PR middle-end/64734
8504 * libgomp.c/pr64734.c: New test.
8505
a0c88d06
TV
85062015-01-23 Tom de Vries <tom@codesourcery.com>
8507
8508 PR libgomp/64672
8509 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8510
1506ae0e
TV
85112015-01-23 Tom de Vries <tom@codesourcery.com>
8512
8513 PR libgomp/64707
8514 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8515 dg-options.
8516
128b26dc
TS
85172015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8518
bed62c21 8519 PR libgomp/64625
128b26dc
TS
8520 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8521 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8522 formal parameter. Update all users.
8523 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8524 Document unused formal parameter.
8525
6e36114c
TS
85262015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8527
8528 * oacc-parallel.c: Don't include <alloca.h>.
8529 (GOACC_parallel): Use gomp_alloca instead of alloca.
8530
973e9808
GP
85312015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8532
8533 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8534
41dbbb37
TS
85352015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8536 James Norris <jnorris@codesourcery.com>
8537 Tom de Vries <tom@codesourcery.com>
8538 Julian Brown <julian@codesourcery.com>
8539 Cesar Philippidis <cesar@codesourcery.com>
8540 Nathan Sidwell <nathan@codesourcery.com>
8541 Tobias Burnus <burnus@net-b.de>
8542
8543 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8544 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8545 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8546 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8547 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8548 Include $(top_srcdir)/plugin/Makefrag.am.
8549 (nodist_libsubinclude_HEADERS): Add openacc.h.
8550 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8551 openacc.f90, openacc.mod, openacc_kinds.mod.
8552 (omp_lib.mod): Generalize into...
8553 (%.mod): ... this new rule.
8554 (openacc_kinds.mod, openacc.mod): New rules.
8555 * plugin/configfrag.ac: New file.
8556 * configure.ac: Move plugin/offloading support into it. Include
8557 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8558 * plugin/Makefrag.am: New file.
8559 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8560 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8561 export.
8562 (libgomp-test-support.exp): New rule.
8563 (all-local): Depend on it.
8564 * Makefile.in: Regenerate.
8565 * testsuite/Makefile.in: Regenerate.
8566 * config.h.in: Likewise.
8567 * configure: Likewise.
8568 * configure.tgt: Harden shell syntax.
8569 * env.c: Include "oacc-int.h".
8570 (parse_acc_device_type): New function.
8571 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8572 variables.
8573 (initialize_env): Initialize those. Call
8574 goacc_runtime_initialize.
8575 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8576 (gomp_fatal): Call gomp_vfatal.
8577 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8578 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8579 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8580 (splay_tree_node, splay_tree, splay_tree_key)
8581 (struct target_mem_desc, struct splay_tree_key_s)
8582 (struct gomp_memory_mapping, struct acc_dispatch_t)
8583 (struct gomp_device_descr, gomp_acc_insert_pointer)
8584 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8585 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8586 (gomp_free_memmap, gomp_fini_device): New declarations.
8587 (gomp_vdebug, gomp_debug): New macros.
8588 Include "splay-tree.h".
8589 * libgomp.map (OACC_2.0): New symbol version. Use for
8590 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8591 acc_set_device_type_h_, acc_get_device_type,
8592 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8593 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8594 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8595 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8596 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8597 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8598 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8599 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8600 acc_copyin_array_h_, acc_present_or_copyin,
8601 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8602 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8603 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8604 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8605 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8606 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8607 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8608 acc_update_device, acc_update_device_32_h_,
8609 acc_update_device_64_h_, acc_update_device_array_h_,
8610 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8611 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8612 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8613 acc_is_present_64_h_, acc_is_present_array_h_,
8614 acc_memcpy_to_device, acc_memcpy_from_device,
8615 acc_get_current_cuda_device, acc_get_current_cuda_context,
8616 acc_get_cuda_stream, acc_set_cuda_stream.
8617 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8618 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8619 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8620 GOACC_get_num_threads.
8621 (GOMP_PLUGIN_1.0): New symbol version. Use for
8622 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8623 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8624 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8625 GOMP_PLUGIN_acc_thread.
8626 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8627 environment variable.
8628 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8629 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8630 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8631 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8632 (splay_tree_remove): New declarations.
8633 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8634 (splay_tree_remove, splay_tree_lookup): Move into...
8635 * splay-tree.c: ... this new file.
8636 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8637 (splay_tree_node, splay_tree, splay_tree_key)
8638 (struct target_mem_desc, struct splay_tree_key_s)
8639 (struct gomp_device_descr): Don't declare.
8640 (num_devices_openmp): New variable.
8641 (gomp_get_num_devices ): Use it.
8642 (gomp_init_targets_once): New function.
8643 (gomp_get_num_devices ): Use it.
8644 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8645 (gomp_fini_device, gomp_register_image_for_device): New functions.
8646 (gomp_map_vars): Add devaddrs parameter.
8647 (gomp_update): Add mm parameter.
8648 (gomp_init_device): Move most of it into...
8649 (gomp_init_tables): ... this new function.
8650 (gomp_register_images_for_device): Remove function.
8651 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8652 Make them hidden instead of static.
8653 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8654 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8655 (GOMP_target_end_data, GOMP_target_update)
8656 (gomp_load_plugin_for_device, gomp_target_init): Update for
8657 OpenACC changes.
8658 * oacc-async.c: New file.
8659 * oacc-cuda.c: Likewise.
8660 * oacc-host.c: Likewise.
8661 * oacc-init.c: Likewise.
8662 * oacc-int.h: Likewise.
8663 * oacc-mem.c: Likewise.
8664 * oacc-parallel.c: Likewise.
8665 * oacc-plugin.c: Likewise.
8666 * oacc-plugin.h: Likewise.
8667 * oacc-ptx.h: Likewise.
8668 * openacc.f90: Likewise.
8669 * openacc.h: Likewise.
8670 * openacc_lib.h: Likewise.
8671 * plugin/plugin-host.c: Likewise.
8672 * plugin/plugin-nvptx.c: Likewise.
8673 * libgomp-plugin.c: Likewise.
8674 * libgomp-plugin.h: Likewise.
8675 * libgomp_target.h: Remove file after merging content into the
8676 former file. Update all users.
8677 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8678 (offload_targets_s, offload_targets_s_openacc): New variables.
8679 (check_effective_target_openacc_nvidia_accel_present)
8680 (check_effective_target_openacc_nvidia_accel_selected): New
8681 procedures.
8682 (libgomp_init): Update for OpenACC changes.
8683 * testsuite/libgomp-test-support.exp.in: New file.
8684 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8685 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8686 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8687 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8688 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8689 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8690 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8691 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8692 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8693 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8694 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8695 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8696 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8697 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8698 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8699 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8700 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8701 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8702 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8703 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8704 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8705 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8706 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8707 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8708 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8709 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8710 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8711 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8712 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8713 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8714 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8715 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8716 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8717 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8718 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8719 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8720 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8721 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8722 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8723 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8724 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8725 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8726 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8727 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8728 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8729 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8730 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8731 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8732 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8733 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8734 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8735 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8736 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8737 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8738 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8739 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8740 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8741 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8742 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8743 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8744 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8745 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8746 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8747 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8748 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8749 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8750 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8751 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8752 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8753 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8754 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8755 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8756 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8757 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8758 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8759 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8760 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8761 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8762 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8763 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8764 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8765 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8766 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8767 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8768 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8769 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8770 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8771 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8772 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8773 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8774 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8775 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8776 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8777 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8778 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8779 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8780 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8781 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8782 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8783 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8784 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8785 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8786 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8787 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8788 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8789 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8790 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8791 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8792 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8793 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8794 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8795 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8796 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8797 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8798 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8799 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8800 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8801 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8802 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8803 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8804 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8805 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8806 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8807 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8808 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8809 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8810 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8811 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8812 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8813 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8814 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8815 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8816 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8817 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8818 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8819 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8820 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8821 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8822 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8823 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8824 Likewise.
8825 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8826 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8827 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8828 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8829 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8830 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8831 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8832 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8833 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8834 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8835 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8836 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8837 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8838 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8839 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8840 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8841 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8842 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8843 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8844 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8845 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8846 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8847 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8848 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8849 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8850 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8851 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8852 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8853 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8854 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8855 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8856 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8857 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8858 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8859 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8860 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8861 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8862 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8863 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8864 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8865 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8866 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8867 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8868 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8869 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8870 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8871 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8872 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8873 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8874 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8875 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8876 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8877 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8878 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8879 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8880 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8881 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8882 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8883 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8884 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8885
f1f3453e
TS
88862015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8887 Julian Brown <julian@codesourcery.com>
8888 David Malcolm <dmalcolm@redhat.com>
8889
8890 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8891 to "GNU Offloading and Multi Processing Runtime Library". Change
8892 all users.
8893 * configure: Regenerate.
8894 * libgomp.texi: Update.
8895
f9a0eca4
TS
88962015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8897
b335ef4e
TS
8898 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8899 "$tgt_dir/lib32".
8900 * configure: Regenerate.
8901
f9a0eca4
TS
8902 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8903 "intelmic" in $offload_targets.
8904
b67cd4e3
JJ
89052015-01-05 Jakub Jelinek <jakub@redhat.com>
8906
5624e564
JJ
8907 Update copyright years.
8908
b67cd4e3
JJ
8909 * libgomp.texi: Bump @copying's copyright year.
8910
3b41b583
KT
89112014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8912
8913 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 8914 Move load of target-supports.exp earlier.
3b41b583 8915
2354caec
IV
89162014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8917
8918 * testsuite/libgomp.c/target-9.c: New test.
8919
f50eecba
VR
89202014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8921
8922 * config.h.in: Regenerate.
8923 * configure: Regenerate.
8924 * configure.ac: Add GCC_CHECK_EMUTLS.
8925 * libgomp.h: Add check for USE_EMUTLS: this case
8926 is equal to HAVE_TLS.
8927 * team.c: Likewise.
8928
68bc9270
UB
89292014-12-03 Uros Bizjak <ubizjak@gmail.com>
8930
8931 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8932
476ff787
AT
89332014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8934 Ilya Verbin <ilya.verbin@intel.com>
8935
8936 * testsuite/libgomp.c/target-critical-1.c: New test.
8937
31a30e62
JJ
89382014-11-26 Jakub Jelinek <jakub@redhat.com>
8939
8940 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 8941 to dg-options unless expensive testing is on.
31a30e62
JJ
8942 (TESTITERS): Define to N if not defined.
8943 (main): Use TESTITERS instead of N.
8944 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8945 dg-additional-options depending on whether expensive testing is on.
8946 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8947 Decrease N to 100000 and CHUNKSZ to 10000.
8948
3f9e8f13
JJ
89492014-11-24 Jakub Jelinek <jakub@redhat.com>
8950
8951 PR fortran/63938
31a30e62
JJ
8952 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8953 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 8954
c8451a46
SE
89552014-11-21 Steve Ellcey <sellcey@imgtec.com>
8956
8957 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8958
a699d672
L
89592014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8960
8961 PR bootstrap/63784
8962 * configure: Regenerated.
8963
4a19f719
UB
89642014-11-19 Uros Bizjak <ubizjak@gmail.com>
8965
8966 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8967 vect_simd_clones effective target.
8968 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8969
b1bf6c52
JJ
89702014-11-14 Jakub Jelinek <jakub@redhat.com>
8971
8972 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8973 of 32 as block_size.
8974 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8975 instead of 32 as block_size.
8976
d64ae614
AT
89772014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8978 Ilya Verbin <ilya.verbin@intel.com>
8979
8980 * Makefile.in: Regenerate.
8981 * configure: Regenerate.
8982 * configure.ac: Set up offload_additional_options,
8983 offload_additional_lib_paths and offload_targets.
8984 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8985 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8986 * testsuite/Makefile.in: Regenerate.
8987 * testsuite/lib/libgomp.exp (libgomp_init): Append
8988 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8989 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8990 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8991
122d7303
AT
89922014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8993 Ilya Verbin <ilya.verbin@intel.com>
8994 Kirill Yukhin <kirill.yukhin@intel.com>
8995 Ilya Tocar <ilya.tocar@intel.com>
8996
8997 * testsuite/lib/libgomp.exp
8998 (check_effective_target_offload_device): New.
8999 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9000 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9001 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9002 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9003 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9004 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9005 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9006 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9007 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9008 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9009 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9010 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9011 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9012 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9013 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9014 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9015 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9016 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9017 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9018 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9019 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9020 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9021 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9022 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9023 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9024 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9025 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9026 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9027 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9028 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9029 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9030 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9031 * testsuite/libgomp.c/target-7.c: Fix test.
9032 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9033 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9034 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9035 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9036 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9037 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9038 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9039 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9040 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9041 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9042 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9043 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9044 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9045 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9046 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9047 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9048 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9049 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9050 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9051 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9052 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9053 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9054 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9055 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9056 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9057 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9058 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9059 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9060 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9061 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9062 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9063
1df3f842
JJ
90642014-11-13 Jakub Jelinek <jakub@redhat.com>
9065 Ilya Verbin <ilya.verbin@intel.com>
9066 Thomas Schwinge <thomas@codesourcery.com>
9067 Andrey Turetskiy <andrey.turetskiy@intel.com>
9068
9069 * libgomp.map (GOMP_4.0.1): New symbol version.
9070 Add GOMP_offload_register.
9071 * libgomp_target.h: New file.
9072 * splay-tree.h: New file.
9073 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9074 (gomp_target_init): New forward declaration.
9075 (gomp_is_initialized): New static variable.
9076 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9077 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9078 New structures.
9079 (offload_images, num_offload_images, devices, num_devices): New static
9080 variables.
9081 (splay_compare): New static function.
9082 (struct gomp_device_descr): New structure.
9083 (gomp_get_num_devices): Call gomp_target_init.
9084 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9085 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9086 (GOMP_offload_register): New function.
9087 (GOMP_target): Arrange for host callback to be performed in a separate
9088 initial thread and contention group, inheriting ICVs from
9089 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
9090 Add device initialization and lookup for target function in splay tree.
9091 (GOMP_target_data): Add device initialization and call gomp_map_vars.
9092 (GOMP_target_end_data): Call gomp_unmap_vars.
9093 (GOMP_target_update): Add device initialization and call gomp_update.
9094 (gomp_load_plugin_for_device, gomp_register_images_for_device)
9095 (gomp_target_init): New static functions.
9096
85c64bbe
BS
90972014-11-13 Bernd Schmidt <bernds@codesourcery.com>
9098 Thomas Schwinge <thomas@codesourcery.com>
9099 Ilya Verbin <ilya.verbin@intel.com>
9100 Andrey Turetskiy <andrey.turetskiy@intel.com>
9101
9102 * config.h.in: Regenerate.
9103 * configure: Regenerate.
9104 * configure.ac: Check for libdl, required for plugin support.
9105 (PLUGIN_SUPPORT): Define if plugins are supported.
9106 (enable_offload_targets): Support Intel MIC targets.
9107 (OFFLOAD_TARGETS): List of target names suitable for offloading.
9108
ebf6d33b
FXC
91092014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9110
9111 PR target/63610
9112 * configure: Regenerate.
9113
8c768629
RO
91142014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9115
9116 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9117
c1d62412
MP
91182014-10-06 Marek Polacek <polacek@redhat.com>
9119
9120 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9121 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9122 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9123 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9124
44a0c6cb
MP
91252014-10-06 Marek Polacek <polacek@redhat.com>
9126
9127 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9128 * testsuite/libgomp.c/nqueens-1.c: Likewise.
9129 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9130 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9131 * testsuite/libgomp.c/pr36802-2.c: Likewise.
9132 * testsuite/libgomp.c/pr36802-3.c: Likewise.
9133 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9134 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9135 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9136 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9137 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9138 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9139 * testsuite/libgomp.c/omp-single-1.c: Likewise.
9140 * testsuite/libgomp.c/omp-single-2.c: Likewise.
9141 * testsuite/libgomp.c/omp_matvec.c: Likewise.
9142 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9143 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9144 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
9145 declarations.
9146
5771c391
JJ
91472014-10-03 Jakub Jelinek <jakub@redhat.com>
9148
9149 PR libgomp/61200
9150 * testsuite/libgomp.c/pr61200.c: New test.
9151
bce16b88
JJ
91522014-09-18 Jakub Jelinek <jakub@redhat.com>
9153
9154 PR c++/63248
9155 * testsuite/libgomp.c++/pr63248.C: New test.
9156
3696163c
JJ
91572014-08-04 Jakub Jelinek <jakub@redhat.com>
9158
9159 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9160 is not zero, but taskgroup->children is NULL and there are
9161 any task->children, schedule those instead of waiting.
9162 * testsuite/libgomp.c/depend-6.c: New test.
9163 * testsuite/libgomp.c/depend-7.c: New test.
9164 * testsuite/libgomp.c/depend-8.c: New test.
9165 * testsuite/libgomp.c/depend-9.c: New test.
9166 * testsuite/libgomp.c/depend-10.c: New test.
9167
0494285a
JJ
91682014-08-01 Jakub Jelinek <jakub@redhat.com>
9169
9170 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9171 (struct gomp_taskwait): New type.
9172 (struct gomp_task): Add taskwait and parent_depends_on, remove
9173 in_taskwait and taskwait_sem fields.
9174 (gomp_finish_task): Don't destroy taskwait_sem.
9175 * task.c (gomp_init_task): Don't init in_taskwait, instead init
9176 taskwait and parent_depends_on.
9177 (GOMP_task): For if (0) tasks with depend clause that depend on
9178 earlier tasks don't defer them, instead call
9179 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9180 Initialize redundant_out field, for redundant out entries just
9181 move them at the end of linked list instead of removing them
9182 completely, and set redundant_out flag instead of redundant.
9183 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9184 that task.
9185 (gomp_task_run_post_handle_dependers): If parent is in
9186 gomp_task_maybe_wait_for_dependencies and newly runnable task
9187 is not parent_depends_on, queue it in parent->children linked
9188 list after all runnable tasks with parent_depends_on set.
9189 Adjust for addition of taskwait indirection.
9190 (gomp_task_run_post_remove_parent): If parent is in
9191 gomp_task_maybe_wait_for_dependencies and task to be removed
9192 is parent_depends_on, decrement n_depend and if needed awake
9193 parent. Adjust for addition of taskwait indirection.
9194 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9195 (gomp_task_maybe_wait_for_dependencies): New function.
9196 * testsuite/libgomp.c/depend-5.c: New test.
9197
60ab4b44
TB
91982014-07-13 Tobias Burnus <burnus@net-b.de>
9199
9200 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 9201 with TS 18508/Fortran 2015.
60ab4b44 9202
773ec47f
MP
92032014-07-06 Marek Polacek <polacek@redhat.com>
9204
9205 PR c/6940
9206 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9207
f707da16
JJ
92082014-07-03 Jakub Jelinek <jakub@redhat.com>
9209
9210 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9211 matches regex $lang_source_re, add $lang_include_flags to options.
9212 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9213 * testsuite/libgomp.c++/c++.exp: Likewise.
9214 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9215 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9216 ALWAYS_CFLAGS.
9217 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9218
07b6c044
TS
92192014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9220
9221 * testsuite/libgomp.fortran/fortran.exp: Explain
9222 gfortran-dg-runtest usage.
9223
da6f124d
JJ
92242014-06-25 Jakub Jelinek <jakub@redhat.com>
9225
9226 * testsuite/libgomp.fortran/simd5.f90: New test.
9227 * testsuite/libgomp.fortran/simd6.f90: New test.
9228 * testsuite/libgomp.fortran/simd7.f90: New test.
9229
b46ebd6c
JJ
92302014-06-24 Jakub Jelinek <jakub@redhat.com>
9231
56ad0e38
JJ
9232 * testsuite/libgomp.c/for-2.c: Define SC to static for
9233 #pragma omp for simd testing.
9234 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9235 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9236 SC macro.
9237 * testsuite/libgomp.c/simd-14.c: New test.
9238 * testsuite/libgomp.c/simd-15.c: New test.
9239 * testsuite/libgomp.c/simd-16.c: New test.
9240 * testsuite/libgomp.c/simd-17.c: New test.
9241 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9242 #pragma omp for simd testing.
9243 * testsuite/libgomp.c++/simd10.C: New test.
9244 * testsuite/libgomp.c++/simd11.C: New test.
9245 * testsuite/libgomp.c++/simd12.C: New test.
9246 * testsuite/libgomp.c++/simd13.C: New test.
9247
b46ebd6c
JJ
9248 * testsuite/libgomp.fortran/aligned1.f03: New test.
9249 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9250 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9251 tasks with !$omp parallel !$omp single.
9252 * testsuite/libgomp.fortran/target8.f90: New test.
9253 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9254 not to use trim in the combiner, instead call elemental function.
9255 (fn): New elemental function.
9256 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9257 Make elemental.
9258 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9259 omp_in): Likewise.
9260 * testsuite/libgomp.fortran/udr12.f90: New test.
9261 * testsuite/libgomp.fortran/udr13.f90: New test.
9262 * testsuite/libgomp.fortran/udr14.f90: New test.
9263 * testsuite/libgomp.fortran/udr15.f90: New test.
9264
f014c653
JJ
92652014-06-18 Jakub Jelinek <jakub@redhat.com>
9266
9267 * omp_lib.f90.in (openmp_version): Set to 201307.
9268 * omp_lib.h.in (openmp_version): Likewise.
9269 * testsuite/libgomp.c/target-8.c: New test.
9270 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9271 and inbranch clauses.
9272 * testsuite/libgomp.fortran/depend-3.f90: New test.
9273 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9274 openmp_version.
9275 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9276 * testsuite/libgomp.fortran/target1.f90: New test.
9277 * testsuite/libgomp.fortran/target2.f90: New test.
9278 * testsuite/libgomp.fortran/target3.f90: New test.
9279 * testsuite/libgomp.fortran/target4.f90: New test.
9280 * testsuite/libgomp.fortran/target5.f90: New test.
9281 * testsuite/libgomp.fortran/target6.f90: New test.
9282 * testsuite/libgomp.fortran/target7.f90: New test.
9283
92d28cbb
JJ
92842014-06-10 Jakub Jelinek <jakub@redhat.com>
9285
9286 PR fortran/60928
9287 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9288 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9289 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9290 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9291 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9292 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9293 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9294 * testsuite/libgomp.fortran/associate1.f90: New test.
9295 * testsuite/libgomp.fortran/associate2.f90: New test.
9296 * testsuite/libgomp.fortran/procptr1.f90: New test.
9297
5f23671d
JJ
92982014-06-06 Jakub Jelinek <jakub@redhat.com>
9299
9300 * testsuite/libgomp.fortran/simd1.f90: New test.
9301 * testsuite/libgomp.fortran/udr1.f90: New test.
9302 * testsuite/libgomp.fortran/udr2.f90: New test.
9303 * testsuite/libgomp.fortran/udr3.f90: New test.
9304 * testsuite/libgomp.fortran/udr4.f90: New test.
9305 * testsuite/libgomp.fortran/udr5.f90: New test.
9306 * testsuite/libgomp.fortran/udr6.f90: New test.
9307 * testsuite/libgomp.fortran/udr7.f90: New test.
9308 * testsuite/libgomp.fortran/udr8.f90: New test.
9309 * testsuite/libgomp.fortran/udr9.f90: New test.
9310 * testsuite/libgomp.fortran/udr10.f90: New test.
9311 * testsuite/libgomp.fortran/udr11.f90: New test.
9312
0389fbb5
UB
93132014-05-27 Uros Bizjak <ubizjak@gmail.com>
9314
9315 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9316 vect_simd_clones effective target.
9317 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9318
decaaec8
JJ
93192014-05-21 Jakub Jelinek <jakub@redhat.com>
9320
9321 PR middle-end/61252
9322 * testsuite/libgomp.c++/simd-9.C: New test.
9323
72832460
UB
93242014-05-18 Uros Bizjak <ubizjak@gmail.com>
9325
9326 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9327 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9328 texts according to their @menu entry positions.
9329
dd2fc525
JJ
93302014-05-11 Jakub Jelinek <jakub@redhat.com>
9331
9332 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9333 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9334 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9335 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9336 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9337 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9338 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9339 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9340 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9341 * testsuite/libgomp.fortran/depend-1.f90: New test.
9342 * testsuite/libgomp.fortran/depend-2.f90: New test.
9343 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9344 * testsuite/libgomp.fortran/simd1.f90: New test.
9345 * testsuite/libgomp.fortran/simd2.f90: New test.
9346 * testsuite/libgomp.fortran/simd3.f90: New test.
9347 * testsuite/libgomp.fortran/simd4.f90: New test.
9348 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9349
95782571
JJ
93502014-05-02 Jakub Jelinek <jakub@redhat.com>
9351
9352 * testsuite/libgomp.c/simd-10.c: New test.
9353 * testsuite/libgomp.c/simd-11.c: New test.
9354 * testsuite/libgomp.c/simd-12.c: New test.
9355 * testsuite/libgomp.c/simd-13.c: New test.
9356
f7468577
JJ
93572014-04-24 Jakub Jelinek <jakub@redhat.com>
9358
42056eac
JJ
9359 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9360 atomic type clauses in any order and optional comma in between.
9361 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9362 * testsuite/libgomp.c/atomic-17.c: Likewise.
9363
f7468577
JJ
9364 * testsuite/libgomp.c/simd-7.c: New test.
9365 * testsuite/libgomp.c/simd-8.c: New test.
9366 * testsuite/libgomp.c/simd-9.c: New test.
9367 * testsuite/libgomp.c/loop-16.c: New test.
9368
ab18f2f5
RH
93692014-04-02 Richard Henderson <rth@redhat.com>
9370
9371 * config/linux/futex.h (futex_wait): Get error value from errno.
9372 (futex_wake): Likewise.
9373
8bcc90b0
JJ
93742014-03-25 Jakub Jelinek <jakub@redhat.com>
9375
9376 PR c++/60331
9377 * testsuite/libgomp.c++/udr-11.C: New test.
9378 * testsuite/libgomp.c++/udr-12.C: New test.
9379 * testsuite/libgomp.c++/udr-13.C: New test.
9380 * testsuite/libgomp.c++/udr-14.C: New test.
9381 * testsuite/libgomp.c++/udr-15.C: New test.
9382 * testsuite/libgomp.c++/udr-16.C: New test.
9383 * testsuite/libgomp.c++/udr-17.C: New test.
9384 * testsuite/libgomp.c++/udr-18.C: New test.
9385 * testsuite/libgomp.c++/udr-19.C: New test.
9386
18d73c7f
RS
93872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9388
9389 Update copyright years
9390
f9030485
RS
93912014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9392
9393 * hashtab.h: Use the standard form for the copyright notice.
9394
98db73df
TB
93952014-01-02 Tobias Burnus <burnus@net-b.de>
9396
9397 * libgomp.texi: Bump @copying's copyright year.
9398
ae246f7f
AT
93992013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9400
93d90219 9401 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
9402 alloca () with __builtin_alloca ().
9403 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9404 * testsuite/libgomp.c/lock-3.c: Likewise.
9405 * testsuite/libgomp.c/pr48591.c: Likewise.
9406
fa00a5fe
JJ
94072013-12-17 Jakub Jelinek <jakub@redhat.com>
9408
9409 PR testsuite/59534
9410 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9411 comparisons.
9412
e9792e1d
JJ
94132013-12-16 Jakub Jelinek <jakub@redhat.com>
9414
9415 PR libgomp/58756
9416 * testsuite/libgomp.c/pr58756.c: New test.
9417
cab37c89
JJ
94182013-12-12 Jakub Jelinek <jakub@redhat.com>
9419
9420 PR libgomp/59467
9421 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9422 !$omp parallel.
9423
de14871c
TS
94242013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9425
1707a5de
TS
9426 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9427 ALWAYS_CFLAGS.
9428 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9429 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9430 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9431 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9432 Likewise.
9433
70f05c43
TS
9434 * libgomp_g.h: Include <stddef.h> for size_t.
9435
de14871c
TS
9436 * libgomp.spec.in: Update comment about libgomp's dependencies.
9437 * configure.ac: Likewise.
9438 * configure: Regenerate.
9439
83fd6c5b
TB
94402013-10-16 Tobias Burnus <burnus@net-b.de>
9441
9442 * libgomp.texi: (Runtime Library Routines): Update references for
9443 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9444 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9445 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9446 (Environment Variables): Update references for OpenMP 4.0. Add
9447 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9448 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9449 order.
9450
c8673881
JJ
94512013-10-14 Jakub Jelinek <jakub@redhat.com>
9452
9453 * env.c (parse_bind_var): Initialize value to avoid
9454 (false positive) warning.
9455
f89163fd
JJ
94562013-10-12 Jakub Jelinek <jakub@redhat.com>
9457
9458 PR libgomp/58691
9459 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9460 to check variable.
9461 (gomp_init_num_threads): Move i variable declaration into
9462 #ifdef CPU_ALLOC_SIZE block.
9463 * config/linux/affinity.c (gomp_affinity_init_level): Test
9464 gomp_places_list_len == 0 rather than gomp_places_list == 0
9465 when checking for topology reading error.
9466 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9467 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9468 gomp_places_list, only parse env var and always return false.
9469 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9470 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9471 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9472 and either of these variables were parsed correctly into a places
9473 list.
9474
1d340638
TS
94752013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9476 Jakub Jelinek <jakub@redhat.com>
9477
9478 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9479 of 5 loopfn matches.
9480 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9481 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9482 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9483 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9484 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9485 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9486 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9487 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9488
71a81c21
TS
94892013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9490
bd87f731
TS
9491 * Makefile.am (omp_lib.mod): Streamline rule.
9492 * Makefile.in: Regenerate.
9493
f5745bed
TS
9494 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9495 exceptions.
9496
b5512c66
TS
9497 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9498 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9499 * testsuite/libgomp.fortran/lib2.f: Likewise.
9500 * testsuite/libgomp.fortran/lib3.f: Likewise.
9501
451c19c4
TS
9502 * configure.ac: Typo fix.
9503 * configure: Regenerate.
9504
86a6016d
TS
9505 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9506 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9507
71a81c21
TS
9508 * omp.h.in: Don't touch the user's namespace.
9509
acf0174b
JJ
95102013-10-11 Jakub Jelinek <jakub@redhat.com>
9511 Tobias Burnus <burnus@net-b.de>
9512 Richard Henderson <rth@redhat.com>
9513
9514 * target.c: New file.
9515 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9516 * Makefile.in: Regenerated.
9517 * libgomp_g.h (GOMP_task): Add depend argument.
9518 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9519 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9520 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9521 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9522 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9523 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9524 GOMP_taskgroup_start, GOMP_taskgroup_end,
9525 GOMP_parallel_sections): New prototypes.
9526 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9527 (omp_is_initial_device_): New function.
9528 (ULP, STR1, STR2, ialias_redirect): Removed.
9529 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9530 omp_set_default_device_8_, omp_get_default_device_,
9531 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9532 functions.
9533 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9534 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9535 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9536 @@GOMP_4.0.
9537 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9538 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9539 omp_set_default_device, omp_set_default_device_,
9540 omp_set_default_device_8_, omp_get_default_device,
9541 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9542 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9543 omp_get_team_num_): Export @@OMP_4.0.
9544 * team.c (struct gomp_thread_start_data): Add place field.
9545 (gomp_thread_start): Clear thr->thread_pool and
9546 thr->task before returning. Use gomp_team_barrier_wait_final
9547 instead of gomp_team_barrier_wait. Initialize thr->place.
9548 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9549 team_cancelled and task_queued_count fields.
9550 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9551 before calling pthread_exit.
9552 (gomp_free_thread): No longer static. Use
9553 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9554 (gomp_team_start): Add flags argument. Set
9555 thr->thread_pool->threads_busy to nthreads immediately after creating
9556 new pool. Use gomp_managed_threads_lock instead of
9557 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9558 (gomp_team_end): Use gomp_managed_threads_lock instead of
9559 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9560 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 9561 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
9562 rather than thr->ts.work_share.
9563 (initialize_team): Don't call gomp_sem_init here.
9564 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9565 caller.
9566 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9567 * env.c (gomp_global_icv): Add default_device_var, target_data and
9568 bind_var initializers.
9569 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9570 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9571 gomp_places_list_len): New variables.
9572 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9573 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9574 sized places.
9575 (gomp_cancel_var): New global variable.
9576 (parse_int): New function.
9577 (handle_omp_display_env): New function.
9578 (initialize_env): Use it. Initialize default_device_var.
9579 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9580 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9581 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9582 been successfully parsed (and call gomp_init_affinity in that case).
9583 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9584 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9585 omp_get_team_num, omp_is_initial_device): New functions.
9586 * libgomp.h: Include stdlib.h.
9587 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9588 Define.
9589 (struct target_mem_desc): Forward declare.
9590 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9591 and thread_limit_var fields.
9592 (gomp_get_num_devices): New prototype.
9593 (gomp_cancel_var): New extern decl.
9594 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9595 team_cancelled and task_queued_count fields. Add comments about
9596 task_{,queued_,running_}count.
9597 (gomp_cancel_kind): New enum.
9598 (gomp_work_share_end_cancel): New prototype.
9599 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9600 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9601 and depend fields.
9602 (struct gomp_taskgroup): New type.
9603 (struct gomp_task_depend_entry,
9604 struct gomp_dependers_vec): New types.
9605 (gomp_finish_task): Free depend_hash if non-NULL.
9606 (struct gomp_team_state): Add place_partition_off
9607 and place_partition_len fields.
9608 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9609 gomp_places_list_len): New extern decls.
9610 (struct gomp_thread): Add place field.
9611 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9612 (gomp_init_thread_affinity): Add place argument.
9613 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9614 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9615 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9616 gomp_affinity_init_level, gomp_affinity_print_place): New
9617 prototypes.
9618 (gomp_team_start): Add flags argument.
9619 (gomp_thread_limit_var, gomp_remaining_threads_count,
9620 gomp_remaining_threads_lock): Remove.
9621 (gomp_managed_threads_lock): New variable.
9622 (struct gomp_thread_pool): Add threads_busy field.
9623 (gomp_free_thread): New prototype.
9624 * task.c: Include hashtab.h.
9625 (hash_entry_type): New typedef.
9626 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9627 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9628 copy_ctors_done and taskgroup fields.
9629 (GOMP_task): Add depend argument, handle depend clauses. If
9630 gomp_team_barrier_cancelled or if it's taskgroup has been
9631 cancelled, don't queue or start new tasks. Set copy_ctors_done
9632 field if needed. Initialize taskgroup field. If copy_ctors_done
9633 and already cancelled, don't discard the task. If taskgroup is
9634 non-NULL, enqueue the task into taskgroup queue. Increment
9635 num_children field in taskgroup. Increment task_queued_count.
9636 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9637 gomp_task_run_post_remove_taskgroup): New inline functions.
9638 (gomp_task_run_post_handle_depend_hash,
9639 gomp_task_run_post_handle_dependers,
9640 gomp_task_run_post_handle_depend): New functions.
9641 (GOMP_taskwait): Use them. If more than one new tasks
9642 have been queued, wake other threads if needed.
9643 (gomp_barrier_handle_tasks): Likewise. If
9644 gomp_team_barrier_cancelled, don't start any new tasks, just free
9645 all tasks.
9646 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9647 * omp_lib.f90.in
9648 (omp_proc_bind_kind, omp_proc_bind_false,
9649 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9650 omp_proc_bind_spread): New params.
9651 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9652 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9653 omp_get_team_num, omp_is_initial_device): New interfaces.
9654 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9655 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9656 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9657 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9658 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9659 useless use omp_lib_kinds.
9660 * omp.h.in (omp_proc_bind_t): New typedef.
9661 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9662 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9663 omp_get_team_num, omp_is_initial_device): New prototypes.
9664 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9665 through to gomp_team_start.
9666 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9667 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9668 Adjust gomp_parallel_loop_start callers.
9669 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9670 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9671 GOMP_loop_end_cancel): New functions.
9672 (GOMP_parallel_end): Add ialias_redirect.
9673 * hashtab.h: New file.
9674 * libgomp.texi (Environment Variables): Minor cleanup,
9675 update section refs to OpenMP 4.0rc2.
9676 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9677 environment variables.
9678 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9679 team->work_shares_to_free to thr->ts.work_share before calling
9680 free_work_share.
9681 (gomp_work_share_end_cancel): New function.
9682 * config/linux/proc.c: Include errno.h.
9683 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9684 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9685 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9686 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9687 gomp_cpuset_size is sizeof (cpu_set_t).
9688 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9689 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9690 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9691 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9692 contain any logical CPUs.
9693 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9694 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9695 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9696 pthread_getaffinity_np. Check gomp_places_list instead of
9697 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9698 * config/linux/bar.c (gomp_barrier_wait_end,
9699 gomp_barrier_wait_last): Use BAR_* defines.
9700 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9701 from state where needed. Set work_share_cancelled to 0 on last
9702 thread.
9703 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9704 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9705 functions.
9706 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9707 Add cpusetsize argument.
9708 (gomp_cpuset_size, gomp_cpusetp): Declare.
9709 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9710 (affinity_counter): Remove.
9711 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9712 if CPU_ALLOC_SIZE isn't defined.
9713 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9714 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9715 bind current thread to the first place.
9716 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9717 pthread_setaffinity_np to gomp_places_list[place].
9718 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9719 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9720 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9721 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9722 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9723 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9724 (gomp_barrier_t): Add awaited_final field.
9725 (gomp_barrier_init): Initialize awaited_final field.
9726 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9727 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9728 prototypes.
9729 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9730 defines.
9731 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9732 gomp_team_barrier_cancelled): New inline functions.
9733 (gomp_barrier_last_thread,
9734 gomp_team_barrier_set_task_pending,
9735 gomp_team_barrier_clear_task_pending,
9736 gomp_team_barrier_set_waiting_for_tasks,
9737 gomp_team_barrier_waiting_for_tasks,
9738 gomp_team_barrier_done): Use BAR_* defines.
9739 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9740 (gomp_barrier_wait_end): Use BAR_* defines.
9741 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9742 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9743 Use BAR_* defines.
9744 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9745 gomp_team_barrier_cancel): New functions.
9746 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9747 argument.
9748 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9749 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9750 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9751 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9752 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9753 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9754 (gomp_barrier_t): Add cancellable field.
9755 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9756 gomp_team_barrier_cancel): New prototypes.
9757 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9758 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9759 gomp_team_barrier_cancelled): New inline functions.
9760 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9761 gomp_team_barrier_set_task_pending,
9762 gomp_team_barrier_clear_task_pending,
9763 gomp_team_barrier_set_waiting_for_tasks,
9764 gomp_team_barrier_waiting_for_tasks,
9765 gomp_team_barrier_done): Use BAR_* defines.
9766 * barrier.c (GOMP_barrier_cancel): New function.
9767 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9768 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9769 omp_proc_bind_spread): New params.
9770 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9771 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9772 omp_get_team_num, omp_is_initial_device): New externals.
9773 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9774 New functions.
9775 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9776 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9777 infinity. If not nested, just return minimum of max_num_threads
9778 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9779 to the returned value. Otherwise, don't update atomically
9780 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9781 (GOMP_parallel_end): Adjust for thread_limit now being in
9782 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9783 infinity. Adjust threads_busy in the pool rather than
9784 gomp_remaining_threads_count. Remember team->nthreads and call
9785 gomp_team_end before adjusting threads_busy, if not nested
9786 afterwards, just set it to 1 non-atomically. Add ialias.
9787 (GOMP_parallel_start): Adjust gomp_team_start caller.
9788 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9789 * testsuite/libgomp.c/affinity-1.c: New test.
9790 * testsuite/libgomp.c/atomic-15.c: New test.
9791 * testsuite/libgomp.c/atomic-16.c: New test.
9792 * testsuite/libgomp.c/atomic-17.c: New test.
9793 * testsuite/libgomp.c/cancel-for-1.c: New test.
9794 * testsuite/libgomp.c/cancel-for-2.c: New test.
9795 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9796 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9797 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9798 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9799 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9800 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9801 * testsuite/libgomp.c/depend-1.c: New test.
9802 * testsuite/libgomp.c/depend-2.c: New test.
9803 * testsuite/libgomp.c/depend-3.c: New test.
9804 * testsuite/libgomp.c/depend-4.c: New test.
9805 * testsuite/libgomp.c/for-1.c: New test.
9806 * testsuite/libgomp.c/for-1.h: New file.
9807 * testsuite/libgomp.c/for-2.c: New test.
9808 * testsuite/libgomp.c/for-2.h: New file.
9809 * testsuite/libgomp.c/for-3.c: New test.
9810 * testsuite/libgomp.c/pr58392.c: New test.
9811 * testsuite/libgomp.c/simd-1.c: New test.
9812 * testsuite/libgomp.c/simd-2.c: New test.
9813 * testsuite/libgomp.c/simd-3.c: New test.
9814 * testsuite/libgomp.c/simd-4.c: New test.
9815 * testsuite/libgomp.c/simd-5.c: New test.
9816 * testsuite/libgomp.c/simd-6.c: New test.
9817 * testsuite/libgomp.c/target-1.c: New test.
9818 * testsuite/libgomp.c/target-2.c: New test.
9819 * testsuite/libgomp.c/target-3.c: New test.
9820 * testsuite/libgomp.c/target-4.c: New test.
9821 * testsuite/libgomp.c/target-5.c: New test.
9822 * testsuite/libgomp.c/target-6.c: New test.
9823 * testsuite/libgomp.c/target-7.c: New test.
9824 * testsuite/libgomp.c/taskgroup-1.c: New test.
9825 * testsuite/libgomp.c/thread-limit-1.c: New test.
9826 * testsuite/libgomp.c/thread-limit-2.c: New test.
9827 * testsuite/libgomp.c/thread-limit-3.c: New test.
9828 * testsuite/libgomp.c/udr-1.c: New test.
9829 * testsuite/libgomp.c/udr-2.c: New test.
9830 * testsuite/libgomp.c/udr-3.c: New test.
9831 * testsuite/libgomp.c++/affinity-1.C: New test.
9832 * testsuite/libgomp.c++/atomic-10.C: New test.
9833 * testsuite/libgomp.c++/atomic-11.C: New test.
9834 * testsuite/libgomp.c++/atomic-12.C: New test.
9835 * testsuite/libgomp.c++/atomic-13.C: New test.
9836 * testsuite/libgomp.c++/atomic-14.C: New test.
9837 * testsuite/libgomp.c++/atomic-15.C: New test.
9838 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9839 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9840 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9841 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9842 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9843 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9844 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9845 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9846 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9847 * testsuite/libgomp.c++/cancel-test.h: New file.
9848 * testsuite/libgomp.c++/for-9.C: New test.
9849 * testsuite/libgomp.c++/for-10.C: New test.
9850 * testsuite/libgomp.c++/for-11.C: New test.
9851 * testsuite/libgomp.c++/simd-1.C: New test.
9852 * testsuite/libgomp.c++/simd-2.C: New test.
9853 * testsuite/libgomp.c++/simd-3.C: New test.
9854 * testsuite/libgomp.c++/simd-4.C: New test.
9855 * testsuite/libgomp.c++/simd-5.C: New test.
9856 * testsuite/libgomp.c++/simd-6.C: New test.
9857 * testsuite/libgomp.c++/simd-7.C: New test.
9858 * testsuite/libgomp.c++/simd-8.C: New test.
9859 * testsuite/libgomp.c++/target-1.C: New test.
9860 * testsuite/libgomp.c++/target-2.C: New test.
9861 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9862 * testsuite/libgomp.c++/target-3.C: New test.
9863 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9864 * testsuite/libgomp.c++/udr-1.C: New test.
9865 * testsuite/libgomp.c++/udr-2.C: New test.
9866 * testsuite/libgomp.c++/udr-3.C: New test.
9867 * testsuite/libgomp.c++/udr-4.C: New test.
9868 * testsuite/libgomp.c++/udr-5.C: New test.
9869 * testsuite/libgomp.c++/udr-6.C: New test.
9870 * testsuite/libgomp.c++/udr-7.C: New test.
9871 * testsuite/libgomp.c++/udr-8.C: New test.
9872 * testsuite/libgomp.c++/udr-9.C: New test.
9873
bd599dea
JJ
98742013-09-20 Jakub Jelinek <jakub@redhat.com>
9875
9876 PR testsuite/57605
9877 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9878 ALWAYS_CFLAGS.
9879
3cbe17f7
AM
98802013-09-20 Alan Modra <amodra@gmail.com>
9881
9882 * configure: Regenerate.
9883
4befd127
JJ
98842013-09-19 Jakub Jelinek <jakub@redhat.com>
9885
9886 * testsuite/libgomp.c/sections-2.c: New test.
9887
946c8f7b
MS
98882013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9889
9890 * testsuite/libgomp.fortran/strassen.f90:
9891 Add dg-skip-if aarch64_tiny.
9892
1ef3b58e
IS
98932013-06-20 Iain Sandoe <iain@codesourcery.com>
9894 Cesar Philippidis <cesar@codesourcery.com>
9895
9896 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9897 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9898 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9899 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9900 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9901 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9902 Use dg-runtest rather than gfortran-dg-runtest.
9903
9275f73a
TS
99042013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9905
9906 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9907 Linux-based x86 systems to cover all GNU systems.
9908 * testsuite/libgomp.c/lock-3.c: Likewise.
9909 * testsuite/libgomp.c/pr48591.c: Likewise.
9910
492992e2
TS
99112013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9912
48df3acb
TS
9913 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9914 GNU/Hurd, as done for Linux-based systems.
9915
492992e2
TS
9916 * config/posix/ptrlock.h: Fix comment.
9917
4fed6b25
TB
99182013-05-27 Tobias Burnus <burnus@net-b.de>
9919
9920 PR fortran/57423
9921 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9922 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9923 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9924 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9925 omp_destroy_nest_lock): Correct arguments to match the one in
9926 the OpenMP spec.
9927 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9928 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9929 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9930 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9931
5a0f4dd3
JJ
99322013-05-16 Jakub Jelinek <jakub@redhat.com>
9933
9934 * testsuite/libgomp.c/loop-13.c: New test.
9935 * testsuite/libgomp.c/loop-14.c: New test.
9936 * testsuite/libgomp.c/loop-15.c: New test.
9937 * testsuite/libgomp.c++/loop-13.C: New test.
9938 * testsuite/libgomp.c++/loop-14.C: New test.
9939 * testsuite/libgomp.c++/loop-15.C: New test.
9940
6d840d99
JJ
99412013-02-06 Jakub Jelinek <jakub@redhat.com>
9942
9943 PR middle-end/56217
9944 * testsuite/libgomp.c++/pr56217.C: New test.
9945
bed8d8a6
AM
99462013-02-01 Alan Modra <amodra@gmail.com>
9947
9948 * task.c (GOMP_task, GOMP_taskwait): Comment.
9949
3b35cd04
DV
99502013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9951 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9952
9953 PR libgomp/55561
9954 * config/linux/wait.h (do_spin): Use atomic load for addr.
9955 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9956 for intptr and ptrlock.
9957 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9958 for ptrlock.
9959
9a647288
AM
99602013-01-22 Alan Modra <amodra@gmail.com>
9961
9962 PR libgomp/51376
9963 PR libgomp/56073
9964 * task.c (GOMP_task): Revert 2011-12-09 change.
9965 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9966 barrier to read task->children..
9967 (gomp_barrier_handle_tasks): ..and matching atomic store with
9968 release barrier here when setting parent->children to NULL.
9969
f34dea03
JJ
99702013-01-16 Jakub Jelinek <jakub@redhat.com>
9971 Tobias Burnus <burnus@net-b.de>
9972
9973 PR driver/55884
9974 * testsuite/libgomp.fortran/fortran.exp: Use
9975 -fintrinsic-modules-path= instead of
9976 -fintrinsic-modules-path.
9977
8129609c
RS
99782013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9979
9980 Update copyright years.
9981
aa86bf1e
TB
99822012-12-19 Tobias Burnus <burnus@net-b.de>
9983
9984 * testsuite/libgomp.fortran/fortran.exp: Set
9985 -fintrinsic-modules-path.
9986
2865ea66
TB
99872012-12-19 Tobias Burnus <burnus@net-b.de>
9988
9989 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9990 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9991
4c5ba8d0
JJ
99922012-11-21 Jakub Jelinek <jakub@redhat.com>
9993
9994 PR libgomp/55411
9995 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9996 if pool had any threads_used.
9997
e9f958c2
JH
99982012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9999
10000 * testsuite/libgomp.c++/pr24455.C: Use
10001 -Wl,-undefined,dynamic_lookup on darwin.
10002
a57d75dc
DE
100032012-11-07 David Edelsohn <dje.gcc@gmail.com>
10004
10005 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10006
c6c08485
DH
100072012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
10008
10009 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10010
c1f37c00
IB
100112012-10-23 Ian Bolton <ian.bolton@arm.com>
10012 Jim MacArthur <jim.macarthur@arm.com>
10013 Marcus Shawcroft <marcus.shawcroft@arm.com>
10014 Nigel Stephens <nigel.stephens@arm.com>
10015 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10016 Richard Earnshaw <rearnsha@arm.com>
10017 Sofiane Naci <sofiane.naci@arm.com>
10018 Stephen Thomas <stephen.thomas@arm.com>
10019 Tejas Belagod <tejas.belagod@arm.com>
10020 Yufeng Zhang <yufeng.zhang@arm.com>
10021
10022 * configure.tgt: Add AArch64.
10023
7c424acd
JM
100242012-10-04 Jason Merrill <jason@redhat.com>
10025
10026 * testsuite/libgomp.c++/tls-init1.C: New.
10027
6608378b
DE
100282012-09-14 David Edelsohn <dje.gcc@gmail.com>
10029
10030 * configure: Regenerated.
10031
c24dbebb
CLT
100322012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
10033
10034 * config/linux/mips/futex.h (sys_futex0): Change to static
10035 function with noinline, nomips16 attributes under MIPS16. Adjust
10036 asm statement to place 'li v0,SYS_futex' immediately before
10037 syscall insn.
10038
3d3949df
SL
100392012-07-04 Sandra Loosemore <sandra@codesourcery.com>
10040
10041 * libgomp.texi (Library Index): Renamed from "Index" to prevent
10042 conflict with index.html on case-insensitive file systems.
10043
68a12ef3
UB
100442012-07-03 Uros Bizjak <ubizjak@gmail.com>
10045
10046 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10047 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10048
33ad93b9 100492012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
10050 Michael Matz <matz@suse.de>
10051 Tobias Grosser <tobias@grosser.es>
10052 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
10053
10054 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10055 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10056 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10057 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10058
e6fdc918
AS
100592012-06-28 Andreas Schwab <schwab@linux-m68k.org>
10060
10061 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10062
62e0a1ed
RG
100632012-06-22 Richard Guenther <rguenther@suse.de>
10064
10065 Merge from graphite branch
10066 2012-01-13 Tobias Grosser <tobias@grosser.es>
10067
10068 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10069 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10070
26127932
JJ
100712012-06-07 Jakub Jelinek <jakub@redhat.com>
10072
10073 PR middle-end/53580
10074 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10075 use GOMP_barrier () call instead.
10076 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10077 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10078 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10079 call GOMP_barrier instead.
10080 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10081
43fa5db5
JJ
100822012-06-06 Jakub Jelinek <jakub@redhat.com>
10083
10084 PR libgomp/52993
10085 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10086 argument to memset call.
10087
e6d5f8c9
L
100882012-05-16 H.J. Lu <hongjiu.lu@intel.com>
10089
10090 * configure: Regenerated.
10091
559d990c
MLI
100922012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10093
10094 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10095
b9c23a61
L
100962012-03-31 H.J. Lu <hongjiu.lu@intel.com>
10097
10098 PR bootstrap/52812
10099 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10100
c140ddf3
JJ
101012012-03-22 Jakub Jelinek <jakub@redhat.com>
10102
10103 PR middle-end/52547
10104 * testsuite/libgomp.c/pr52547.c: New test.
10105
6a26a74d
BRF
101062012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10107
10108 * testsuite/lib/libgomp.exp: load fortran-modules.exp
10109
b24513a1
RO
101102012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10111
10112 * configure.tgt (mips-sgi-irix6*): Remove.
10113
5c30094f
RO
101142012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10115
10116 * configure.tgt (alpha*-dec-osf*): Remove.
10117
10118 * config/osf/sem.h: Remove.
10119 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10120
a339c9d6
EB
101212012-02-29 Eric Botcazou <ebotcazou@adacore.com>
10122
10123 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10124
cc2de92d
RO
101252012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10126
10127 PR libstdc++/52188
10128 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10129 Remove ENABLE_SYMVERS_SOL2.
10130 * configure: Regenerate.
10131 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10132 (PREPROCESS): New variable.
10133 (libgomp.ver): New target.
10134 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10135 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10136 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10137 Use libgomp.ver.
10138 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10139 * Makefile.in: Regenerate.
10140
dd552284
WL
101412012-02-14 Walter Lee <walt@tilera.com>
10142
10143 * configure.tgt: Handle tilegx and tilepro.
10144 * config/linux/tile/futex.h: New file.
10145
31432e21
RG
101462012-02-08 Richard Guenther <rguenther@suse.de>
10147
10148 PR tree-optimization/46886
10149 * testsuite/libgomp.c/pr46886.c: New testcase.
10150
b9264b5f
MK
101512012-01-25 Matthias Klose <doko@ubuntu.com>
10152
10153 * config/linux/arm: Remove empty directory.
10154 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10155
fbf7be80
AM
101562011-12-09 Alan Modra <amodra@gmail.com>
10157
10158 PR libgomp/51376
10159 * task.c (GOMP_taskwait): Don't access task->children outside of
10160 task_lock mutex region.
10161 (GOMP_task): Likewise.
10162
5de62d00
JJ
101632011-12-06 Jakub Jelinek <jakub@redhat.com>
10164
10165 PR libgomp/51132
10166 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10167 to file scope.
10168 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10169 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10170 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10171 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10172 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10173
45608a43
AM
101742011-12-02 Alan Modra <amodra@gmail.com>
10175
10176 * config/linux/affinity.c: Use atomic rather than sync builtin.
10177 * config/linux/lock.c: Likewise.
10178 * config/linux/ptrlock.h: Likewise.
10179 * config/linux/ptrlock.c: Likewise.
10180 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10181 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10182 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10183 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10184 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10185 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10186 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10187 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10188 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10189 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10190
ab6dd406
AM
101912011-11-30 Alan Modra <amodra@gmail.com>
10192
10193 PR libgomp/51298
10194 * config/linux/bar.h: Use atomic rather than sync builtins.
10195 * config/linux/bar.c: Likewise. Add missing acquire
10196 synchronisation on generation field.
10197 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10198 double unlock.
10199
b40c885f
AM
102002011-11-30 Alan Modra <amodra@gmail.com>
10201
10202 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10203 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10204 * config/linux/mutex.h: Use atomic rather than sync builtins.
10205 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10206 * config/linux/omp-lock.h: Comment fix.
10207 * config/linux/arm/mutex.h: Delete.
10208 * config/linux/powerpc/mutex.h: Delete.
10209 * config/linux/ia64/mutex.h: Delete.
10210 * config/linux/mips/mutex.h: Delete.
10211
3e348fcc
AM
102122011-11-30 Alan Modra <amodra@gmail.com>
10213
10214 PR libgomp/51249
10215 * config/linux/sem.h: Rewrite.
10216 * config/linux/sem.c: Rewrite.
10217
cef86eb2
RH
102182011-11-28 Richard Henderson <rth@redhat.com>
10219
10220 * libgomp.h (enum memmodel): New.
10221
c6084f68
AT
102222011-11-21 Andreas Tobler <andreast@fgznet.ch>
10223
10224 * configure: Regenerate.
10225
06fe026c
MK
102262011-10-10 Matthias Klose <doko@ubuntu.com>
10227
10228 * config/posix95: Remove empty directory.
10229
a6c975bd
JJ
102302011-08-26 Jakub Jelinek <jakub@redhat.com>
10231
10232 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10233
c26dffff
JJ
102342011-08-19 Jakub Jelinek <jakub@redhat.com>
10235
10236 PR fortran/49792
10237 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10238 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10239
ddaad3c8
RO
102402011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10241
10242 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10243
98d03683
RO
102442011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10245
10246 PR libgomp/49965
10247 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10248
e0b23d9f
UB
102492011-08-03 Uros Bizjak <ubizjak@gmail.com>
10250
10251 * config/linux/proc.h: New.
10252 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10253 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10254 (gomp_init_num_threads): Update call to cpuset_popcount.
10255 (get_num_procs): Ditto.
10256 * config/linux/affinity.c (gomp_init_affinity): Call
10257 gomp_cpuset_popcount.
10258
20906c66
JJ
102592011-08-02 Jakub Jelinek <jakub@redhat.com>
10260
10261 PR fortran/42041
10262 PR fortran/46752
10263 * omp.h.in (omp_in_final): New prototype.
10264 * omp_lib.f90.in (omp_in_final): New interface.
10265 (omp_integer_kind, omp_logical_kind): Remove
10266 and replace all its uses in the module with 4.
10267 (openmp_version): Change to 201107.
10268 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10269 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10270 kind for the parameters.
10271 (omp_in_final): New external.
10272 (openmp_version): Change to 201107.
10273 * task.c (omp_in_final): New function.
10274 (gomp_init_task): Initialize final_task.
10275 (GOMP_task): Remove unused attribute from flags. Handle final
10276 tasks.
10277 (GOMP_taskyield): New function.
10278 (omp_in_final): Return true if if (false) or final (true) task
10279 or descendant of final (true).
10280 * fortran.c (omp_in_final_): New function.
10281 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10282 (GOMP_3.0): Export GOMP_taskyield.
10283 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10284 variables.
10285 (parse_unsigned_long_list): New function.
10286 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10287 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10288 even if parse_affinity returned false.
10289 * config/linux/affinity.c (gomp_init_affinity): Handle
10290 gomp_cpu_affinity_len == 0.
10291 * libgomp_g.h (GOMP_taskyield): New prototype.
10292 * libgomp.h (struct gomp_task): Add final_task field.
10293 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10294 * team.c (gomp_team_start): Override new task's nthreads_var icv
10295 if list form OMP_NUM_THREADS has been used and it has value for
10296 the new nesting level.
10297
10298 * testsuite/libgomp.c/atomic-11.c: New test.
10299 * testsuite/libgomp.c/atomic-12.c: New test.
10300 * testsuite/libgomp.c/atomic-13.c: New test.
10301 * testsuite/libgomp.c/atomic-14.c: New test.
10302 * testsuite/libgomp.c/reduction-6.c: New test.
10303 * testsuite/libgomp.c/task-5.c: New test.
10304 * testsuite/libgomp.c++/atomic-2.C: New test.
10305 * testsuite/libgomp.c++/atomic-3.C: New test.
10306 * testsuite/libgomp.c++/atomic-4.C: New test.
10307 * testsuite/libgomp.c++/atomic-5.C: New test.
10308 * testsuite/libgomp.c++/atomic-6.C: New test.
10309 * testsuite/libgomp.c++/atomic-7.C: New test.
10310 * testsuite/libgomp.c++/atomic-8.C: New test.
10311 * testsuite/libgomp.c++/atomic-9.C: New test.
10312 * testsuite/libgomp.c++/task-8.C: New test.
10313 * testsuite/libgomp.c++/reduction-4.C: New test.
10314 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10315 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10316 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10317 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10318 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10319 * testsuite/libgomp.fortran/pointer1.f90: New test.
10320 * testsuite/libgomp.fortran/pointer2.f90: New test.
10321 * testsuite/libgomp.fortran/task4.f90: New test.
10322
103232011-08-02 Tobias Burnus <burnus@net-b.de>
10324
10325 * libgomp.texi: Update OpenMP spec references to 3.1.
10326 (omp_in_final,OMP_PROC_BIND): New sections.
10327 (OMP_NUM_THREADS): Document that the value can be now a list.
10328 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10329
c01ecafc
L
103302011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10331
10332 * config/linux/x86/futex.h: Check __x86_64__ instead of
10333 __LP64__.
10334
25142650
JJ
103352011-07-29 Jakub Jelinek <jakub@redhat.com>
10336
10337 PR middle-end/49897
10338 PR middle-end/49898
10339 * testsuite/libgomp.c/pr49897-1.c: New test.
10340 * testsuite/libgomp.c/pr49897-2.c: New test.
10341 * testsuite/libgomp.c/pr49898-1.c: New test.
10342 * testsuite/libgomp.c/pr49898-2.c: New test.
10343
f53d712f
L
103442011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10345
10346 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10347 for ia32 instead of ilp32.
10348
10349 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10350 * testsuite/libgomp.c/atomic-6.c: Likewise.
10351
3689198d
SP
103522011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10353
10354 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10355 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10356
1a79cb73
RO
103572011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10358
10359 PR libgomp/45351
10360 * config/osf/sem.h: New file.
10361 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10362
c1f51484
RO
103632011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10364
10365 PR target/49541
10366 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10367 ldflags.
10368
bfee0724
JJ
103692011-07-15 Jakub Jelinek <jakub@redhat.com>
10370
10371 * config/linux/wait.h (do_spin): New inline, largely copied
10372 from do_wait, just don't do futex_wait here, instead return true if
10373 it should be done.
10374 (do_wait): Implement using do_spin.
10375 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10376 to prototype.
10377 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10378 __sync_bool_compare_and_swap, pass the oldval to
10379 gomp_mutex_lock_slow.
10380 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10381 If all mutex contenders are just spinning and not sleeping, don't
10382 change state to 2 unnecessarily. Optimize the loop when state has
10383 already become 2 to use just one atomic operation per loop instead
10384 of two.
10385 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10386 to prototype.
10387 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10388 __sync_bool_compare_and_swap, pass the oldval to
10389 gomp_mutex_lock_slow.
10390
fb79f500
JJ
103912011-06-22 Jakub Jelinek <jakub@redhat.com>
10392
10393 PR libgomp/49490
10394 * iter.c (gomp_iter_static_next): For chunk size 0
10395 only use n ceil/ nthreads size for the first
10396 n % nthreads threads in the team instead of
10397 all threads except for the last few ones which
10398 get less work or none at all.
10399 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10400 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10401 chunk argument, set run_sched_modifier to 0 for static
10402 resp. 1 for other kinds. If chunk argument is 0
10403 and not static, set value to 1.
10404
4577f730
JJ
104052011-05-19 Jakub Jelinek <jakub@redhat.com>
10406
ea93a47b
JJ
10407 PR c++/49043
10408 * testsuite/libgomp.c++/pr49043.C: New test.
10409
4577f730
JJ
10410 PR c++/48869
10411 * testsuite/libgomp.c++/pr48869.C: New test.
10412
e7385332
JJ
104132011-05-06 Jakub Jelinek <jakub@redhat.com>
10414
10415 PR fortran/48894
10416 * fortran.c: Include limits.h.
10417 (TO_INT): Define.
10418 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10419 *set.
10420 (omp_set_num_threads_8_, omp_set_schedule_8_,
10421 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10422 omp_get_team_size_8_): Use TO_INT macro.
10423 * testsuite/libgomp.fortran/pr48894.f90: New test.
10424
20790697
JJ
104252011-04-13 Jakub Jelinek <jakub@redhat.com>
10426
10427 PR middle-end/48591
10428 * testsuite/libgomp.c/pr48591.c: New test.
10429
bf382f5f
RO
104302011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10431
10432 PR bootstrap/48135
10433 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10434 * configure: Regenerate.
10435
113a53c1
JJ
104362011-02-27 Jakub Jelinek <jakub@redhat.com>
10437
10438 PR fortran/47886
10439 * testsuite/libgomp.fortran/task3.f90: New test.
10440
0024f1af
TB
104412011-02-24 Tobias Burnus <burnus@net-b.de>
10442
10443 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10444
21e1e594
JJ
104452011-02-23 Jakub Jelinek <jakub@redhat.com>
10446
10447 PR libgomp/47854
10448 * libgomp.texi (omp_get_wtime): Don't say time in the past
10449 must be Unix Epoch.
10450
67962076
JJ
104512011-02-18 Jakub Jelinek <jakub@redhat.com>
10452
10453 PR libgomp/47804
10454 * testsuite/libgomp.fortran/fortran.exp: Check for both
10455 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10456 but $blddir != "", still append ${blddir}/${lang_library_path}
10457 to ld_library_path.
10458
3808007c
TB
104592011-02-16 Tobias Burnus <burnus@net-b.de>
10460
10461 PR libgomp/47758
10462 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10463 of libquadmath.a before adding its libpath to ldflags.
10464
53b4d41d
JJ
104652011-02-14 Jakub Jelinek <jakub@redhat.com>
10466
10467 PR libgomp/47731
10468 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10469 to FUTEX_WAIT futex syscall.
10470 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10471
029c8f3e
RW
104722011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10473
10474 * configure: Regenerate.
10475
bddd6626
BK
104762011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10477
10478 PR libstdc++/36104
10479 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10480
f1d4ab26
GP
104812011-01-16 Gerald Pfeifer
10482
10483 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10484
2b503136
JJ
104852010-12-14 Jakub Jelinek <jakub@redhat.com>
10486
10487 PR fortran/46874
10488 * libgomp.fortran/allocatable6.f90: New test.
10489
c0f9d583
RO
104902010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10491
10492 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10493 * configure: Regenerate.
10494
7de6ba7a
DK
104952010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10496
10497 PR target/40125
10498 PR lto/46695
10499 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10500 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10501 * aclocal.m4: Regenerate.
10502 * configure: Regenerate.
10503 * Makefile.in: Regenerate.
10504 * testsuite/Makefile.in: Regenerate.
10505
b7516041
JJ
105062010-12-02 Jakub Jelinek <jakub@redhat.com>
10507
edaadf74
JJ
10508 PR fortran/46753
10509 * libgomp.fortran/pr46753.f90: New test.
10510
4c698cf8
JJ
10511 PR libgomp/43706
10512 * env.c (initialize_env): Default to spin count 300000
10513 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10514 is specified.
10515
b7516041
JJ
10516 PR libgomp/45240
10517 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10518 at the end if sync builtins aren't supported.
10519
6b43a34c
RO
105202010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10521
10522 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10523
950691fa
RO
105242010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10525
10526 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10527
fb9041ea
IS
105282010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10529
10530 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10531
1ec601bf
FXC
105322010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10533 Tobias Burnus <burnus@net-b.de>
10534
10535 PR fortran/32049
3e348fcc 10536 * configure.ac:
1ec601bf
FXC
10537 * configure: Regenerate.
10538
d213e92e
MS
105392010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10540
10541 * config/linux/futex.h: New.
10542 * config/linux/arm/mutex.h: New.
10543 * configure.tgt (arm*-*-linux*): Add config path.
10544
89d5c66f
SP
105452010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10546
10547 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10548
87350d4a
TB
105492010-09-23 Tobias Burnus <burnus@net-b.de>
10550
10551 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10552 Change Fortran datatype to LOGICAL.
10553 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10554 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10555
75bc9e5e
RW
105562010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10557
10558 * configure: Regenerate.
10559
acb5c916
JJ
105602010-07-26 Jakub Jelinek <jakub@redhat.com>
10561
10562 * libgomp.texi: Add function keyword to a couple of Fortran
10563 interfaces, use integer instead of int for Fortran.
10564
6a2ba183
AH
105652010-07-26 Aldy Hernandez <aldyh@redhat.com>
10566
10567 * libgomp.texi: Fix spelling and pasto problems throughout.
10568 Adjust prototypes to match code.
10569
df161b69
TB
105702010-07-24 Tobias Burnus <burnus@net-b.de>
10571
10572 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10573 silence -fwhole-file warning.
10574
16c9d3b1
RO
105752010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10576
10577 * configure.tgt (*-*-solaris2.[56]*): Removed.
10578
6d28b933
RO
105792010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10580
10581 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10582 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10583 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10584 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10585 targetting solaris2*.
10586 * configure: Regenerate.
10587 * config.h.in: Regenerate.
10588
10589 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10590 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10591 Add libgomp_version_dep.
10592 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10593 versioning.
10594 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10595 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10596 * Makefile.in: Regenerate.
10597
10598 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10599 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10600 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10601 to common block, protected by
10602 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10603
07a67d6a
GP
106042010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10605
10606 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10607
dbd34b89
IS
106082010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10609
10610 PR bootstrap/43170
10611 * configure: Regenerate.
10612
13917ae3
RW
106132010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10614
10615 PR other/43620
10616 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10617 * configure: Regenerate.
10618 * Makefile.in: Regenerate.
10619 * testsuite/Makefile.in: Regenerate.
10620
b83a701b
JJ
106212010-04-26 Jakub Jelinek <jakub@redhat.com>
10622
10623 PR c/43893
10624 * testsuite/libgomp.c/pr43893.c: New test.
10625 * testsuite/libgomp.c++/pr43893.C: New test.
10626
78db7d92
JJ
106272010-04-21 Jakub Jelinek <jakub@redhat.com>
10628
10629 PR middle-end/43570
10630 * testsuite/libgomp.fortran/vla8.f90: New test.
10631
5221d7a9
JJ
106322010-04-20 Jakub Jelinek <jakub@redhat.com>
10633
e4ba7a60
JJ
10634 PR libgomp/43706
10635 * config/linux/affinity.c (gomp_init_affinity): Decrease
10636 gomp_available_cpus if affinity mask confines the process to fewer
10637 CPUs.
10638 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10639 non-NULL, just return gomp_available_cpus.
10640
5221d7a9
JJ
10641 PR libgomp/43569
10642 * sections.c (gomp_sections_init): Initialize ws->mode.
10643
289a9f86
UB
106442010-04-14 Uros Bizjak <ubizjak@gmail.com>
10645
10646 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10647 not unused bar variable.
10648 * configure: Regenerate.
10649
4d9e8446
RW
106502010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10651
10652 * Makefile.in: Regenerate.
10653 * aclocal.m4: Regenerate.
10654 * testsuite/Makefile.in: Regenerate.
10655
80f046cc
JJ
106562010-03-22 Jakub Jelinek <jakub@redhat.com>
10657
10658 PR libgomp/42942
10659 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10660 (initialize_env): Adjust callers.
10661 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10662 when the argument is 0.
10663
10664 * testsuite/libgomp.c/pr42942.c: New test.
10665
b58543c3
SP
106662010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10667
10668 PR middle-end/42644
10669 PR middle-end/42130
10670 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10671 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10672
41d1138f
RO
106732010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10674
10675 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10676 * testsuite/libgomp.c++/task-6.C: Likewise.
10677
6684eb28
SE
106782010-01-28 Steve Ellcey <sje@cup.hp.com>
10679
10680 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10681
2122aa97
PB
106822010-01-26 Paolo Bonzini <bonzini@gnu.org>
10683
10684 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10685 * configure: Regenerate.
10686
057dd91d
JJ
106872010-01-26 Jakub Jelinek <jakub@redhat.com>
10688
10689 PR fortran/42866
10690 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10691
d0709b6a
PB
106922010-01-20 Paolo Bonzini <bonzini@gnu.org>
10693
10694 * configure.ac: Test for executability of GFORTRAN.
10695 * configure: Regenerate.
10696
b9497ab5
RO
106972010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10698
10699 * configure: Regenerate.
10700
45de5648
L
107012010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10702
10703 PR libgomp/42602
10704 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10705
e74003a1
RG
107062010-01-03 Richard Guenther <rguenther@suse.de>
10707
10708 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10709
1b3abda8
SP
107102009-12-23 Sebastian Pop <sebpop@gmail.com>
10711
10712 * testsuite/libgomp.graphite/pr4118.c: New.
10713
e19977d3
IS
107142009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10715
10716 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10717 for darwin, protect the test with require-effective-target tls_runtime.
10718 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10719
1d32a772
IS
107202009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10721
10722 PR target/41605
10723 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10724 link spec %s substitutions for static libraries.
10725
deb109b2
JH
107262009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10727
10728 PR testsuite/42135
10729 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10730
43e02a8a
RW
107312009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10732
10733 * Makefile.in: Regenerate.
10734 * configure: Regenerate.
10735 * testsuite/Makefile.in: Regenerate.
10736
17f35e23
DK
107372009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10738
10739 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10740 settings for LC_ALL and LANG.
10741
281e33e1
JJ
107422009-11-25 Jakub Jelinek <jakub@redhat.com>
10743
10744 PR fortran/42162
10745 * testsuite/libgomp.fortran/pr42162.f90: New test.
10746
2b32c27d
JJ
107472009-11-13 Jakub Jelinek <jakub@redhat.com>
10748
10749 PR middle-end/42029
281e33e1 10750 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10751
89c74f4a
JJ
107522009-10-26 Jakub Jelinek <jakub@redhat.com>
10753
10754 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10755 *s. Accept ld version without text in ()s.
10756 * configure: Regenerated.
10757
7e06c3d6
EB
107582009-10-22 Razya Ladelsky <razya@il.ibm.com>
10759
10760 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10761
0046b1a7
RW
107622009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10763
10764 PR libgomp/41418
10765 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10766 or a hyphen (happens with fortran language disabled).
10767 * configure: Regenerate.
10768
c82852f7
RW
107692009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10770
10771 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10772 use sed script portable to Solaris /bin/sed for extracting ld
10773 version.
10774 * configure: Regenerate.
10775
98f3eb1f
AM
107762009-09-17 Alexander Monakov <amonakov@ispras.ru>
10777
10778 * testsuite/libgomp.graphite/bounds.c: New test.
10779
878f62e5
RW
107802009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10781
10782 * Makefile.am (libgomp_la_LINK): New.
10783 * Makefile.in: Regenerate.
10784
df58e648
RW
107852009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10786
10787 * configure.ac (AC_PREREQ): Bump to 2.64.
10788
5213506e
RW
107892009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10790
70fa0efa
RW
10791 * Makefile.am (install-html, install-pdf): Remove.
10792 * Makefile.in: Regenerate.
10793
5213506e
RW
10794 * Makefile.in: Regenerate.
10795 * aclocal.m4: Regenerate.
10796 * config.h.in: Regenerate.
10797 * configure: Regenerate.
10798 * testsuite/Makefile.in: Regenerate.
10799
84fec8a5
RW
108002009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10801
10802 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10803 * Makefile.in: Regenerate.
10804
197c68cc
DK
108052009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10806
10807 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10808 * Makefile.in: Regenerate.
10809
693d54f2
TB
108102009-08-19 Tobias Burnus <burnus@net-b.de>
10811
10812 PR fortran/41102
10813 omp_lib.h.in: Fix -std=f95 errors.
10814
8cac884c
DE
108152009-08-14 David Edelsohn <edelsohn@gnu.org>
10816
10817 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10818 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10819 * testsuite/libgomp.graphite/graphite.exp: New.
10820
78729ee2
AT
108212009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10822
10823 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10824 only build.
10825
b13b7f39
DD
108262009-08-04 David Daney <ddaney@caviumnetworks.com>
10827
10828 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10829 needed memory barrier semantics.
10830 * config/linux/mips/mutex.h: New file.
10831
1b3b24c2
RW
108322009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10833
10834 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10835
396b7fa4
JM
108362009-07-16 Joseph Myers <joseph@codesourcery.com>
10837
10838 * configure: Regenerate.
10839
33cde516
RS
108402009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10841
10842 PR testsuite/40699
10843 PR testsuite/40707
10844 PR testsuite/40709
10845 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10846 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10847 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10848
bc21bfa5
RS
108492009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10850
10851 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10852 options when choosing a multilib.
10853
b30bfd40
RS
108542009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10855
10856 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10857 ld_library_path. Use add_path. Add just find_libgcc_s to
10858 ld_library_path, not every libgcc multilib directory.
10859 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10860 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10861 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10862 Use add_path.
10863 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10864
479c15c2
NF
108652009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10866
10867 * Makefile.am (LTLDFLAGS): Define.
10868 (LINK): Define.
10869 * Makefile.in: Regenerate.
10870
667e6f89
JB
108712009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10872
10873 PR fortran/39718
10874 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10875 libgfortranbegin, check existence of libgfortran.a instead of
10876 libgfortranbegin.a.
10877
6dea8e99
JJ
108782009-05-20 Jakub Jelinek <jakub@redhat.com>
10879
10880 PR libgomp/40174
10881 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10882 (gomp_free_pool_helper): Likewise.
10883
34d01e1d
VL
108842009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10885 Jakub Jelinek <jakub@redhat.com>
10886
10887 PR fortran/35423
10888 * testsuite/libgomp.fortran/workshare2.f90: New test.
10889
748086b7
JJ
108902009-04-09 Nick Clifton <nickc@redhat.com>
10891
10892 * iter.c: Change copyright header to refer to version 3 of the
10893 GNU General Public License with version 3.1 of the GCC Runtime
10894 Library Exception and to point readers at the COPYING3 and
10895 COPYING3.RUNTIME files and the FSF's license web page.
10896 * alloc.c: Likewise.
10897 * barrier.c: Likewise.
10898 * config/bsd/proc.c: Likewise.
10899 * config/linux/affinity.c: Likewise.
10900 * config/linux/alpha/futex.h: Likewise.
10901 * config/linux/bar.c: Likewise.
10902 * config/linux/bar.h: Likewise.
10903 * config/linux/ia64/futex.h: Likewise.
10904 * config/linux/ia64/mutex.h: Likewise.
10905 * config/linux/lock.c: Likewise.
10906 * config/linux/mips/futex.h: Likewise.
10907 * config/linux/mutex.c: Likewise.
10908 * config/linux/mutex.h: Likewise.
10909 * config/linux/powerpc/futex.h: Likewise.
10910 * config/linux/proc.c: Likewise.
10911 * config/linux/ptrlock.c: Likewise.
10912 * config/linux/ptrlock.h: Likewise.
10913 * config/linux/s390/futex.h: Likewise.
10914 * config/linux/sem.c: Likewise.
10915 * config/linux/sem.h: Likewise.
10916 * config/linux/sparc/futex.h: Likewise.
10917 * config/linux/wait.h: Likewise.
10918 * config/linux/x86/futex.h: Likewise.
10919 * config/mingw32/proc.c: Likewise.
10920 * config/mingw32/time.c: Likewise.
10921 * config/posix/affinity.c: Likewise.
10922 * config/posix/bar.c: Likewise.
10923 * config/posix/bar.h: Likewise.
10924 * config/posix/lock.c: Likewise.
10925 * config/posix/mutex.h: Likewise.
10926 * config/posix/proc.c: Likewise.
10927 * config/posix/ptrlock.h: Likewise.
10928 * config/posix/sem.c: Likewise.
10929 * config/posix/sem.h: Likewise.
10930 * config/posix/time.c: Likewise.
10931 * config/posix95/lock.c: Likewise.
10932 * critical.c: Likewise.
10933 * env.c: Likewise.
10934 * error.c: Likewise.
10935 * fortran.c: Likewise.
10936 * iter_ull.c: Likewise.
10937 * libgomp.h: Likewise.
10938 * libgomp_f.h.in: Likewise.
10939 * libgomp_g.h: Likewise.
10940 * loop.c: Likewise.
10941 * loop_ull.c: Likewise.
10942 * omp.h.in: Likewise.
10943 * omp_lib.f90.in: Likewise.
10944 * omp_lib.h.in: Likewise.
10945 * ordered.c: Likewise.
10946 * parallel.c: Likewise.
10947 * sections.c: Likewise.
10948 * single.c: Likewise.
10949 * task.c: Likewise.
10950 * team.c: Likewise.
10951 * work.c: Likewise.
10952
109532009-04-09 Jakub Jelinek <jakub@redhat.com>
10954
10955 * testsuite/config/default.exp: Change copyright header to refer to
10956 version 3 of the GNU General Public License and to point readers
10957 at the COPYING3 file and the FSF's license web page.
10958
4f0ae266
JJ
109592009-04-08 Jakub Jelinek <jakub@redhat.com>
10960
10961 PR middle-end/39573
10962 * libgomp.c++/pr39573.C: New test.
10963
03742a9b
JJ
109642009-04-01 Jakub Jelinek <jakub@redhat.com>
10965
10966 PR other/39591
10967 * testsuite/libgomp.c/pr39591-1.c: New test.
10968 * testsuite/libgomp.c/pr39591-2.c: New test.
10969 * testsuite/libgomp.c/pr39591-3.c: New test.
10970
e50ea10b
UB
109712009-03-25 Uros Bizjak <ubizjak@gmail.com>
10972
10973 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10974 * testsuite/libgomp.c/atomic-6.c: Ditto.
10975
c5cdb03f
JJ
109762009-03-23 Jakub Jelinek <jakub@redhat.com>
10977
10978 PR c/39495
10979 * testsuite/libgomp.c/loop-12.c: New test.
10980 * testsuite/libgomp.c/loop-11.c: New test.
10981 * testsuite/libgomp.c++/loop-11.C: New test.
10982 * testsuite/libgomp.c++/loop-12.C: New test.
10983 * testsuite/libgomp.c++/for-8.C: New test.
10984
7a9d3fe8
RW
109852009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10986
10987 * configure: Regenerate.
10988
3ad6b266
JJ
109892009-02-11 Jakub Jelinek <jakub@redhat.com>
10990
10991 PR middle-end/39154
10992 * testsuite/libgomp.c/pr39154.c: New test.
10993
b39dea08
ILT
109942009-01-30 Ian Lance Taylor <iant@google.com>
10995
10996 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10997 libgomp_ld_is_gold. Get gold version number.
10998 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10999 * configure: Rebuild.
11000
72c66596
IS
110012009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11002
e50ea10b 11003 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
11004 use libgfortran.a%s in their specs.
11005
876080ff
JJ
110062009-01-07 Jakub Jelinek <jakub@redhat.com>
11007
11008 PR libgomp/38086
11009 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11010 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11011 HAVE_AS_SYMVER_DIRECTIVE is not defined.
11012 * configure: Regenerated.
11013 * config.h.in: Likewise.
11014
e4ebaef3
JJ
110152008-12-28 Jakub Jelinek <jakub@redhat.com>
11016
11017 PR c++/38650
11018 * testsuite/libgomp.c/pr38650.c: New test.
11019 * testsuite/libgomp.c++/pr38650.C: New test.
11020
382017a6
JJ
110212008-12-27 Jakub Jelinek <jakub@redhat.com>
11022
11023 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11024
79644b27
UB
110252008-12-26 Uros Bizjak <ubizjak@gmail.com>
11026
11027 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11028
baafc534
RW
110292008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11030
11031 * configure: Regenerate.
11032
d9c194cb
JJ
110332008-12-08 Jakub Jelinek <jakub@redhat.com>
11034
11035 PR middle-end/36802
11036 * testsuite/libgomp.c/pr36802-1.c: New test.
11037 * testsuite/libgomp.c/pr36802-2.c: New test.
11038 * testsuite/libgomp.c/pr36802-3.c: New test.
11039
86a182bf
JJ
110402008-12-01 Janis Johnson <janis187@us.ibm.com>
11041
11042 PR libgomp/38270
11043 * config/linux/powerpc/mutex.h: New.
11044
956adfaf
JJ
110452008-12-01 Jakub Jelinek <jakub@redhat.com>
11046
a2d4cdc9
JJ
11047 PR c++/38257
11048 * testsuite/libgomp.c++/for-7.C: New test.
11049
956adfaf
JJ
11050 PR c++/38348
11051 * testsuite/libgomp.c++/for-6.C: New test.
11052
d4038ca2
JJ
110532008-11-26 Janis Johnson <janis187@us.ibm.com>
11054
11055 PR testsuite/28870
11056 * testsuite/lib/libgomp.exp: Include new timeout library files.
11057 (libgomp_target_compile): Set timeout value from new proc.
11058
8b159eea
SE
110592008-11-13 Steve Ellcey <sje@cup.hp.com>
11060
11061 PR libgomp/37938
11062 * config/linux/ia64/mutex.h: New.
11063
5c6ed53a
TB
110642008-11-04 Tobias Burnus <burnus@net-b.de>
11065
11066 PR libgomp/37935
11067 * libgomp.texi (Runtime library routines, environment variables):
11068 Update for OpenMP version 3.0.
11069
6b4a97ed
PG
110702008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
11071 Steve Ellcey <sje@cup.hp.com>
11072
11073 * configure: Regenerate for new libtool.
11074 * Makefile.in: Ditto.
11075 * testsuite/Makefile.in: Ditto.
11076
e2b34106
JJ
110772008-09-19 Jakub Jelinek <jakub@redhat.com>
11078 Andreas Tobler <a.tobler@schweiz.org>
11079
11080 * config/bsd/proc.c: New file.
8c3b3600 11081 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
11082 * configure.ac: Check for header <sys/sysctl.h>
11083 * configure: Regenerate.
11084 * config.h.in: Likewise.
11085
3606b8bf
JJ
110862008-09-05 Janis Johnson <janis187@us.ibm.com>
11087
11088 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11089
6528b88d
AL
110902008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
11091
11092 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11093 * Makefile.in: Regenerated.
11094 * testsuite/Makefile.in: Regenerated.
11095
d9b14b12 110962008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 11097
a16b68bb 11098 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
11099 depend on blddir if blddir exists.
11100 (libgomp_target_compile): Likewise.
11101 * testsuite/libgomp.c++/c++.exp: Likewise.
11102 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11103
70b1e376
RW
111042008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11105
11106 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
11107 Do not list GPL as Invariant Section.
11108
318e8c3f
IG
111092008-07-28 Ilie Garbacea <ilie@mips.com>
11110 Chao-ying Fu <fu@mips.com>
11111
11112 * configure.tgt: Enable futex for MIPS.
11113 * config/linux/mips/futex.h: New file.
11114
4db72361
JJ
111152008-07-16 Jakub Jelinek <jakub@redhat.com>
11116
11117 * team.c (gomp_team_end): Free team immediately if it has
11118 just one thread.
11119
87bd23b8
DE
111202008-07-08 David Edelsohn <edelsohn@gnu.org>
11121
11122 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11123 * testsuite/libgomp.fortran/fortran.exp: Same.
11124 * testsuite/libgomp.c/c.exp: Same.
11125 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11126 directory to library path first.
11127
323ff903
KW
111282008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
11129
11130 * env.c (parse_stacksize): Add cast to avoid warning.
11131 (parse_spincount): Likewise.
11132
b357f682
JJ
111332008-06-27 Jakub Jelinek <jakub@redhat.com>
11134
ca2b1311
JJ
11135 * testsuite/libgomp.c/loop-10.c: New test.
11136 * libgomp.c/loop-3.c (main): Add lastprivate clause.
11137 * libgomp.c++/loop-6.C (main): Likewise.
11138
b357f682
JJ
11139 PR debug/36617
11140 * testsuite/libgomp.c/debug-1.c: New test.
11141
09a46078
JJ
111422008-06-19 Jakub Jelinek <jakub@redhat.com>
11143
11144 * testsuite/libgomp.c/nqueens-1.c: New test.
11145
2368a460
JJ
11146 PR c++/36523
11147 * testsuite/libgomp.c++/task-7.C: New function.
11148
18c04407
RW
111492008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11150
11151 * configure: Regenerate.
11152
9c4e59e0
JDA
111532008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11154
11155 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11156 mutex when HAVE_SYNC_BUILTINS isn't defined.
11157
6ccde948
RW
111582008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11159
11160 * libgomp.texi (omp_test_lock): Fix typo.
11161
b896f9fd
TB
111622008-06-12 Tobias Burnus <burnus@net-b.de>
11163
11164 * omp_lib.f90.in: Add "implicit none".
11165
c34938a8
JJ
111662008-06-12 Jakub Jelinek <jakub@redhat.com>
11167
11168 PR middle-end/36506
11169 * testsuite/libgomp.c/reduction-5.c: New test.
11170
976e44e3
JJ
111712008-06-11 Jakub Jelinek <jakub@redhat.com>
11172
5f836cbb
JJ
11173 * libgomp.h (struct gomp_task): Add in_tied_task field.
11174 * task.c (gomp_init_task): Initialize it.
11175 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
11176 unconditionally. Don't call gomp_team_barrier_wake if
11177 current task is implicit or if(0) from implicit and number of
11178 running tasks is equal to nthreads - 1.
11179
01501fc8
JJ
11180 PR libgomp/36471
11181 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11182 omp_get_team_size_8): Fix pastos.
11183
976e44e3
JJ
11184 PR libgomp/36469
11185 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11186 * configure: Regenerated.
11187 * config.h.in: Regenerated.
11188 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11189 defined.
11190
e919209b
AT
111912008-06-06 Andreas Tobler <a.tobler@schweiz.org>
11192
11193 PR bootstrap/36452
11194 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11195 (GOMP_loop_ull_dynamic_start): Likewise.
11196 (GOMP_loop_ull_guided_start): Likewise.
11197 (GOMP_loop_ull_ordered_static_start): Likewise.
11198 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11199 (GOMP_loop_ull_ordered_guided_start): Likewise.
11200
a68ab351
JJ
112012008-06-06 Jakub Jelinek <jakub@redhat.com>
11202 Richard Henderson <rth@redhat.com>
11203 Ulrich Drepper <drepper@redhat.com>
11204 Jakob Blomer <jakob.blomer@ira.uka.de>
11205
11206 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11207 Substitute also OMP_*LOCK_25*.
11208 * configure: Regenerated.
11209 * config.h.in: Regenerated.
11210 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11211 ptrlock.c and task.c.
11212 * Makefile.in: Regenerated.
11213 * testsuite/Makefile.in: Regenerated.
11214 * task.c: New file.
11215 * loop_ull.c: New file.
11216 * iter_ull.c: New file.
11217 * libgomp.h: Include ptrlock.h.
11218 (enum gomp_task_kind): New type.
11219 (struct gomp_team): Add task_lock, task_queue, task_count,
11220 task_running_count, single_count fields. Add
11221 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11222 Remove work_share_lock, generation_mask,
11223 oldest_live_gen, num_live_gen and init_work_shares fields, add
11224 work work_share_list_alloc, work_share_list_free and work_share_chunk
11225 fields. Change work_shares from pointer to pointers into an array.
11226 Change ordered_release field into gomp_sem_t ** from flexible array
11227 member. Add implicit_task and initial_work_shares fields.
11228 Move close to the end of the struct.
11229 (struct gomp_team_state): Add single_count, last_work_share,
11230 active_level and level fields, remove work_share_generation.
11231 (gomp_barrier_handle_tasks): New prototype.
11232 (gomp_finish_task): New inline function.
11233 (struct gomp_work_share): Move chunk_size, end, incr into
11234 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11235 next_ll fields. Reshuffle fields. Add next_alloc,
11236 next_ws, next_free and inline_ordered_team_ids fields, change
11237 ordered_team_ids into pointer from flexible array member.
11238 Add mode field. Put lock and next into a different cache line
11239 from most of the write-once fields.
11240 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11241 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11242 gomp_iter_ull_guided_next): New prototypes.
11243 (gomp_new_icv): New prototype.
11244 (struct gomp_thread): Add thread_pool and task fields.
11245 (struct gomp_thread_pool): New type.
11246 (gomp_new_team): New prototype.
11247 (gomp_team_start): Change type of last argument.
11248 (gomp_new_work_share): Removed.
11249 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11250 (gomp_work_share_init_done): New static inline.
11251 (gomp_throttled_spin_count_var, gomp_available_cpus,
11252 gomp_managed_threads): New extern decls.
11253 (gomp_init_task): New prototype.
11254 (gomp_spin_count_var): New extern var decl.
11255 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11256 or no alias support, or if not PIC.
11257 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11258 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11259 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11260 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11261 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11262 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11263 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11264 gomp_test_nest_lock_25): New prototypes.
11265 (omp_lock_symver, strong_alias): Define.
11266 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11267 decls.
11268 (gomp_end_task): New.
11269 (struct gomp_task_icv, gomp_global_icv): New.
11270 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11271 (struct gomp_task): New.
11272 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11273 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11274 (gomp_icv): New.
11275 (gomp_schedule_type): Reorder enum to match
11276 omp_sched_t.
11277 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11278 fields.
11279 (gomp_thread_start): Add gomp_team_barrier_wait call.
11280 For non-nested case remove clearing of docked thread thr fields.
11281 Use pool fields instead of global gomp_* variables. Use
11282 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11283 Create tasks for each member thread.
11284 (free_team): Only destroy team barrier, task_lock here and free it.
11285 (gomp_free_thread): Free last_team if non-NULL.
11286 (gomp_team_end): Call gomp_team_barrier_wait instead of
11287 gomp_barrier_wait. For nested case call one extra
11288 gomp_barrier_wait. Move here some destruction from free_team.
11289 Call free_team on pool->last_team if any, rather than freeing
11290 current team. Destroy work_share_list_free_lock ifndef
11291 HAVE_SYNC_BUILTINS.
11292 (gomp_new_icv): New function.
11293 (gomp_threads, gomp_threads_size, gomp_threads_used,
11294 gomp_threads_dock): Removed.
11295 (gomp_thread_destructor): New variable.
11296 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11297 functions.
11298 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 11299 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
11300 Initialize thread_pool field for new threads. Clear single_count.
11301 Change last argument from ws to team, don't create
11302 new team, set ts.work_share to &team->work_shares[0] and clear
11303 ts.last_work_share. Don't clear ts.work_share_generation.
11304 If number of threads changed, adjust atomically gomp_managed_threads.
11305 Use gomp_init_task instead of gomp_new_task,
11306 set thr->task to the corresponding implicit_task array entry.
11307 Create tasks for each member thread. Initialize ts.level.
11308 (initialize_team): Call pthread_key_create on
11309 gomp_thread_destructor.
11310 (team_destructor): New function.
11311 (new_team): Removed.
11312 (gomp_new_team): New function.
11313 (free_team): Free gomp_work_share blocks chained through next_alloc,
11314 instead of freeing work_shares and destroying work_share_lock.
11315 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11316 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11317 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11318 of gomp_barrier_wait.
11319 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11320 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11321 if gomp_work_share_start returned true. Don't unlock ws->lock.
11322 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11323 of gomp_barrier_wait.
11324 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11325 gomp_work_share_init_done if gomp_work_share_start returned true.
11326 Don't unlock ws->lock.
11327 * work.c: Include stddef.h.
11328 (free_work_share): Use work_share_list_free_lock instead
11329 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11330 Call gomp_fini_work_share and then either free ws if orphaned, or
11331 put it into work_share_list_free list of the current team.
11332 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11333 functions.
11334 (gomp_work_share_start, gomp_work_share_end,
11335 gomp_work_share_end_nowait): Rewritten.
11336 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11337 (openmp_version): Set to 200805.
11338 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11339 omp_sched_guided, omp_sched_auto): New parameters.
11340 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11341 omp_set_max_active_levels, omp_get_max_active_levels,
11342 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11343 omp_get_active_level): New interfaces.
11344 * omp_lib.h.in (openmp_version): Set to 200805.
11345 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11346 omp_sched_guided, omp_sched_auto): New parameters.
11347 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11348 omp_set_max_active_levels, omp_get_max_active_levels,
11349 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11350 omp_get_active_level): New externals.
11351 * loop.c: Include limits.h.
11352 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11353 GFS_AUTO.
11354 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11355 Likewise. Use gomp_icv.
11356 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11357 ts.static_trip here.
11358 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11359 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11360 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11361 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11362 don't unlock ws->lock, otherwise lock it.
11363 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11364 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11365 (gomp_parallel_loop_start): Call gomp_new_team instead of
11366 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11367 Adjust gomp_team_start caller. Pass 0 as second argument to
11368 gomp_resolve_num_threads.
11369 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11370 If adding ws->chunk_size nthreads + 1 times after end won't
11371 overflow, set ws->mode to 1.
11372 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11373 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11374 GOMP_loop_ull_ordered_static_start,
11375 GOMP_loop_ull_ordered_dynamic_start,
11376 GOMP_loop_ull_ordered_guided_start,
11377 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11378 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11379 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11380 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11381 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11382 prototypes.
11383 * libgomp.map: Export lock routines also @@OMP_2.0.
11384 (GOMP_loop_ordered_dynamic_first,
11385 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11386 GOMP_loop_ordered_static_first): Remove.
11387 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11388 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11389 GOMP_loop_ull_ordered_dynamic_next,
11390 GOMP_loop_ull_ordered_dynamic_start,
11391 GOMP_loop_ull_ordered_guided_next,
11392 GOMP_loop_ull_ordered_guided_start,
11393 GOMP_loop_ull_ordered_runtime_next,
11394 GOMP_loop_ull_ordered_runtime_start,
11395 GOMP_loop_ull_ordered_static_next,
11396 GOMP_loop_ull_ordered_static_start,
11397 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11398 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11399 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11400 (omp_set_schedule, omp_get_schedule,
11401 omp_get_thread_limit, omp_set_max_active_levels,
11402 omp_get_max_active_levels, omp_get_level,
11403 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11404 omp_set_schedule_, omp_set_schedule_8_,
11405 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11406 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11407 omp_get_max_active_levels_, omp_get_level_,
11408 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11409 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11410 New exports @@OMP_3.0.
11411 * omp.h.in (omp_sched_t): New type.
11412 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11413 omp_set_max_active_levels, omp_get_max_active_levels,
11414 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11415 omp_get_active_level): New prototypes.
11416 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11417 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11418 gomp_thread_limit_var, gomp_remaining_threads_count,
11419 gomp_remaining_threads_lock): New variables.
11420 (parse_spincount): New function.
11421 (initialize_env): Call gomp_init_num_threads unconditionally.
11422 Initialize gomp_available_cpus. Call parse_spincount,
11423 initialize gomp_{,throttled_}spin_count_var
11424 depending on presence and value of OMP_WAIT_POLICY and
11425 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11426 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11427 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11428 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11429 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11430 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11431 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11432 (gomp_global_icv): New.
11433 (parse_schedule): Use it. Parse "auto".
11434 (omp_set_num_threads): Use gomp_icv.
11435 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11436 Likewise.
11437 (omp_get_max_threads): Move from parallel.c.
11438 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11439 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11440 add ialias.
11441 (parse_stacksize, parse_wait_policy): New functions.
11442 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11443 both wrappers for compatibility and new locks.
11444 (omp_set_schedule, omp_get_schedule,
11445 omp_get_thread_limit, omp_set_max_active_levels,
11446 omp_get_max_active_levels, omp_get_level,
11447 omp_get_ancestor_thread_num, omp_get_team_size,
11448 omp_get_active_level): New ialias_redirect.
11449 (omp_set_schedule_, omp_set_schedule_8_,
11450 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11451 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11452 omp_get_max_active_levels_, omp_get_level_,
11453 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11454 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11455 New functions.
11456 * parallel.c: Include limits.h.
11457 (gomp_resolve_num_threads): Add count argument. Rewritten.
11458 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11459 argument to gomp_team_start. Pass 0 as second argument to
11460 gomp_resolve_num_threads.
11461 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11462 if gomp_thread_limit_var != ULONG_MAX.
11463 (omp_in_parallel): Implement using ts.active_level.
11464 (omp_get_max_threads): Move to env.c.
11465 (omp_get_level, omp_get_ancestor_thread_num,
11466 omp_get_team_size, omp_get_active_level): New functions,
11467 add ialias.
11468 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11469 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11470 gomp_iter_dynamic_next instead of the _locked variant and don't take
11471 lock around it, otherwise acquire it before calling
11472 gomp_iter_dynamic_next_locked.
11473 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11474 gomp_iter_dynamic_next instead of the _locked variant and don't take
11475 lock around it.
11476 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11477 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11478 Adjust gomp_team_start caller. Pass count as second argument to
11479 gomp_resolve_num_threads, don't adjust num_threads after the call.
11480 Use gomp_icv.
11481 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11482 ws->chunk_size by incr.
11483 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11484 code.
11485 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11486 types.
11487 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11488 (omp_check_defines): Check even the compat defines.
11489 * config/linux/ptrlock.c: New file.
11490 * config/linux/ptrlock.h: New file.
11491 * config/linux/wait.h: New file.
11492 * config/posix/ptrlock.c: New file.
11493 * config/posix/ptrlock.h: New file.
11494 * config/linux/bar.h (gomp_team_barrier_wait,
11495 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11496 (gomp_team_barrier_set_task_pending,
11497 gomp_team_barrier_clear_task_pending,
11498 gomp_team_barrier_set_waiting_for_tasks,
11499 gomp_team_barrier_waiting_for_tasks,
11500 gomp_team_barrier_done): New inlines.
11501 (gomp_barrier_t): Rewritten.
11502 (gomp_barrier_state_t): New typedef.
11503 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11504 gomp_barrier_wait_start): Rewritten.
11505 (gomp_barrier_wait_end): Change second argument to
11506 gomp_barrier_state_t.
11507 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11508 inlines.
11509 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11510 futex.h.
11511 (gomp_barrier_wait_end): Rewritten.
11512 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11513 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11514 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11515 (gomp_barrier_state_t): New typedef.
11516 (gomp_team_barrier_wait,
11517 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11518 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11519 into the return value. Return gomp_barrier_state_t.
11520 (gomp_team_barrier_set_task_pending,
11521 gomp_team_barrier_clear_task_pending,
11522 gomp_team_barrier_set_waiting_for_tasks,
11523 gomp_team_barrier_waiting_for_tasks,
11524 gomp_team_barrier_done): New inlines.
11525 (gomp_barrier_wait_end): Change second argument to
11526 gomp_barrier_state_t.
11527 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11528 inlines.
11529 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11530 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11531 gomp_barrier_state_t.
a68ab351
JJ
11532 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11533 gomp_team_barrier_wake): New functions.
11534 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11535 futex.h.
11536 (gomp_futex_wake, gomp_futex_wait): New variables.
11537 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11538 * config/linux/lock.c: Rewrite to make locks task owned,
11539 for backwards compatibility provide the old entrypoints
11540 if symbol versioning. Include wait.h instead of libgomp.h and
11541 futex.h.
11542 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11543 * config/posix95/lock.c: Rewrite to make locks task owned,
11544 for backwards compatibility provide the old entrypoints
11545 if symbol versioning.
11546 * config/posix/lock.c: Rewrite to make locks task owned,
11547 for backwards compatibility provide the old entrypoints
11548 if symbol versioning.
11549 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11550 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11551 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11552 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11553 (sys_futex0): Return error code.
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/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11558 (futex_wake, futex_wait): If ENOSYS was returned, clear
11559 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11560 (cpu_relax, atomic_write_barrier): New static inlines.
11561 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11562 (sys_futex0): Return error code.
11563 (futex_wake, futex_wait): If ENOSYS was returned, clear
11564 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11565 (cpu_relax, atomic_write_barrier): New static inlines.
11566 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11567 (sys_futex0): Return error code.
11568 (futex_wake, futex_wait): If ENOSYS was returned, clear
11569 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11570 (cpu_relax, atomic_write_barrier): New static inlines.
11571 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11572 (sys_futex0): Return error code.
11573 (futex_wake, futex_wait): If ENOSYS was returned, clear
11574 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11575 (cpu_relax, atomic_write_barrier): New static inlines.
11576 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11577 (sys_futex0): Return error code.
11578 (futex_wake, futex_wait): If ENOSYS was returned, clear
11579 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11580 (cpu_relax, atomic_write_barrier): New static inlines.
11581 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11582 futex.h.
11583 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11584 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11585 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11586 types.
11587 (omp_nest_lock_t): Change owner into void *, add lock field.
11588 * config/posix95/omp-lock.h: Include semaphore.h.
11589 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11590 (omp_lock_t): Use sem_t instead of mutex if semaphores
11591 aren't broken.
11592 (omp_nest_lock_t): Likewise. Change owner to void *.
11593 * config/posix/omp-lock.h: Include semaphore.h.
11594 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11595 (omp_lock_t): Use sem_t instead of mutex if semaphores
11596 aren't broken.
11597 (omp_nest_lock_t): Likewise. Add owner field.
11598
115992008-06-06 Jakub Jelinek <jakub@redhat.com>
11600
11601 * testsuite/libgomp.c/collapse-1.c: New test.
11602 * testsuite/libgomp.c/collapse-2.c: New test.
11603 * testsuite/libgomp.c/collapse-3.c: New test.
11604 * testsuite/libgomp.c/icv-1.c: New test.
11605 * testsuite/libgomp.c/icv-2.c: New test.
11606 * testsuite/libgomp.c/lib-2.c: New test.
11607 * testsuite/libgomp.c/lock-1.c: New test.
11608 * testsuite/libgomp.c/lock-2.c: New test.
11609 * testsuite/libgomp.c/lock-3.c: New test.
11610 * testsuite/libgomp.c/loop-4.c: New test.
11611 * testsuite/libgomp.c/loop-5.c: New test.
11612 * testsuite/libgomp.c/loop-6.c: New test.
11613 * testsuite/libgomp.c/loop-7.c: New test.
11614 * testsuite/libgomp.c/loop-8.c: New test.
11615 * testsuite/libgomp.c/loop-9.c: New test.
11616 * testsuite/libgomp.c/nested-3.c: New test.
11617 * testsuite/libgomp.c/nestedfn-6.c: New test.
11618 * testsuite/libgomp.c/sort-1.c: New test.
11619 * testsuite/libgomp.c/task-1.c: New test.
11620 * testsuite/libgomp.c/task-2.c: New test.
11621 * testsuite/libgomp.c/task-3.c: New test.
11622 * testsuite/libgomp.c/task-4.c: New test.
11623 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11624 to C++ testsuite default compiler options.
11625 * testsuite/libgomp.c++/collapse-1.C: New test.
11626 * testsuite/libgomp.c++/collapse-2.C: New test.
11627 * testsuite/libgomp.c++/ctor-10.C: New test.
11628 * testsuite/libgomp.c++/for-1.C: New test.
11629 * testsuite/libgomp.c++/for-2.C: New test.
11630 * testsuite/libgomp.c++/for-3.C: New test.
11631 * testsuite/libgomp.c++/for-4.C: New test.
11632 * testsuite/libgomp.c++/for-5.C: New test.
11633 * testsuite/libgomp.c++/loop-8.C: New test.
11634 * testsuite/libgomp.c++/loop-9.C: New test.
11635 * testsuite/libgomp.c++/loop-10.C: New test.
11636 * testsuite/libgomp.c++/task-1.C: New test.
11637 * testsuite/libgomp.c++/task-2.C: New test.
11638 * testsuite/libgomp.c++/task-3.C: New test.
11639 * testsuite/libgomp.c++/task-4.C: New test.
11640 * testsuite/libgomp.c++/task-5.C: New test.
11641 * testsuite/libgomp.c++/task-6.C: New test.
11642 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11643 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11644 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11645 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11646 * testsuite/libgomp.fortran/collapse1.f90: New test.
11647 * testsuite/libgomp.fortran/collapse2.f90: New test.
11648 * testsuite/libgomp.fortran/collapse3.f90: New test.
11649 * testsuite/libgomp.fortran/collapse4.f90: New test.
11650 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11651 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11652 * testsuite/libgomp.fortran/lib4.f90: New test.
11653 * testsuite/libgomp.fortran/lock-1.f90: New test.
11654 * testsuite/libgomp.fortran/lock-2.f90: New test.
11655 * testsuite/libgomp.fortran/nested1.f90: New test.
11656 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11657 * testsuite/libgomp.fortran/strassen.f90: New test.
11658 * testsuite/libgomp.fortran/tabs1.f90: New test.
11659 * testsuite/libgomp.fortran/tabs2.f: New test.
11660 * testsuite/libgomp.fortran/task1.f90: New test.
11661 * testsuite/libgomp.fortran/task2.f90: New test.
11662 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11663 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11664 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11665 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11666 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11667
7a0112e7
JJ
116682008-05-23 Jakub Jelinek <jakub@redhat.com>
11669
11670 PR c++/36308
11671 * testsuite/libgomp.c++/ctor-11.C: New test.
11672 * testsuite/libgomp.c++/ctor-12.C: New test.
11673
91a5b394
JJ
116742008-05-15 Janis Johnson <janis187@us.ibm.com>
11675
11676 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11677
c18c98c0
JJ
116782008-05-07 Jakub Jelinek <jakub@redhat.com>
11679
11680 PR middle-end/36106
11681 * testsuite/libgomp.c/atomic-5.c: New test.
11682 * testsuite/libgomp.c/atomic-6.c: New test.
11683 * testsuite/libgomp.c/autopar-1.c: New test.
11684
6d26724a
RW
116852008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11686
11687 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11688 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11689 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11690 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11691 * configure: Regenerate.
11692 * Makefile.in, testsuite/Makefile.in: Likewise.
11693
deb984e6
PB
116942008-04-18 Paolo Bonzini <bonzini@gnu.org>
11695
11696 PR bootstrap/35457
11697 * aclocal.m4: Regenerate.
11698 * configure: Regenerate.
11699
9e775963
JJ
117002008-03-18 Jakub Jelinek <jakub@redhat.com>
11701
8119fc93
JJ
11702 PR middle-end/35611
11703 * testsuite/libgomp.c/atomic-4.c: New test.
11704
9e775963
JJ
11705 PR libgomp/35625
11706 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11707 (gomp_iter_guided_next): Likewise.
11708 * testsuite/libgomp.c/pr35625.c: New test.
11709
38d24731
RW
117102008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11711
11712 * aclocal.m4: Regenerate.
11713 * configure: Likewise.
11714 * Makefile.in: Likewise.
11715 * testsuite/Makefile.in: Likewise.
11716
d0fb20be
JJ
117172008-03-13 Jakub Jelinek <jakub@redhat.com>
11718
11719 PR middle-end/35185
11720 * testsuite/libgomp.c++/pr35185.C: New test.
11721
7c8f7639
JJ
117222008-03-12 Jakub Jelinek <jakub@redhat.com>
11723
11724 PR middle-end/35549
11725 * testsuite/libgomp.c/pr35549.c: New test.
11726
251923f5
JJ
117272008-03-06 Jakub Jelinek <jakub@redhat.com>
11728
11729 * testsuite/libgomp.c/atomic-3.c: New test.
11730
f489fba1
FXC
117312008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11732
11733 PR fortran/33197
251923f5 11734 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11735 .F08 file suffixes.
11736
a1b25e49
PG
117372008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11738
11739 PR libgomp/33131
11740 * configure.ac: Add ACX_HEADER_STRING.
11741 * env.c: Include strings.h.
11742 * aclocal.m4: Regenerate.
11743 * config.h.in: Regenerate.
11744 * configure: Regenerate.
11745 * Makefile.in: Regenerate.
11746 * testsuite/Makefile.in: Regenerate.
11747
6837b3b8
JJ
117482008-02-15 Jakub Jelinek <jakub@redhat.com>
11749
ac84c062
JJ
11750 PR middle-end/35196
11751 * testsuite/libgomp.c/pr35196.c: New test.
11752
6837b3b8
JJ
11753 PR middle-end/35130
11754 * testsuite/libgomp.fortran/pr35130.f90: New test.
11755 * testsuite/libgomp.c/pr35130.c: New test.
11756
c256730c
JJ
117572008-01-25 Jakub Jelinek <jakub@redhat.com>
11758
11759 PR middle-end/33880
11760 * testsuite/libgomp.c/pr33880.c: New test.
11761 * testsuite/libgomp.fortran/pr33880.f90: New test.
11762
c8e95542 117632008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
11764
11765 * configure: Regenerate.
11766
0f3e711e
JJ
117672008-01-08 Jakub Jelinek <jakub@redhat.com>
11768
11769 * configure.ac: Move futex checking into ../config/futex.m4.
11770 * configure: Rebuilt.
11771 * aclocal.m4: Rebuilt.
11772 * Makefile.in: Rebuilt.
11773
11774 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11775 2007-10-15 ../config/tls.m4 change.
11776
5259c813
JJ
117772007-12-19 Jakub Jelinek <jakub@redhat.com>
11778
11779 PR c++/34513
11780 * testsuite/libgomp.c/pr34513.c: New test.
11781 * testsuite/libgomp.c++/pr34513.C: New test.
11782
ae8d8879
JH
117832007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11784
11785 PR target/32765
11786 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11787
2b4cf991
JJ
117882007-12-04 Jakub Jelinek <jakub@redhat.com>
11789
11790 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11791
d2dda7fe
JJ
117922007-12-03 Jakub Jelinek <jakub@redhat.com>
11793
11794 * testsuite/libgomp.c/private-1.c: New test.
11795
d683ec81
PB
117962007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11797 Paolo Bonzini <bonzini@gnu.org>
11798
11799 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11800 instead of 'VPATH ='.
11801 * Makefile.in: Regenerate.
11802
a7415017
MK
118032007-11-23 Matthias Klose <doko@ubuntu.com>
11804
11805 * configure.ac: Adjust makeinfo version check.
11806 * configure: Regenerate.
11807
78e47463
JJ
118082007-11-10 Jakub Jelinek <jakub@redhat.com>
11809
11810 PR fortran/34020
11811 * testsuite/libgomp.fortran/pr34020.f90: New test.
11812
239371f9
JJ
118132007-11-06 Jakub Jelinek <jakub@redhat.com>
11814
11815 PR c++/33894
11816 * testsuite/libgomp.c++/atomic-1.C: New test.
11817
98a5fa94
JJ
118182007-10-25 Jakub Jelinek <jakub@redhat.com>
11819
11820 PR libgomp/33275
11821 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11822 Make x and y integers rather than (implicit) reals. Add private (j)
11823 clause to the last omp parallel.
11824
3afcaaf4
MR
118252007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11826
11827 * configure: Regenerate following changes to ../config/tls.m4.
11828
bd69daef
JJ
118292007-09-28 Jakub Jelinek <jakub@redhat.com>
11830
11831 * testsuite/libgomp.fortran/stack.f90: New test.
11832
1d0bd356
DS
118332007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11834
11835 * config/mingw32/proc.c: New file.
11836
b3172cab
UB
118372007-09-05 Uros Bizjak <ubizjak@gmail.com>
11838
11839 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11840 (main): Use __get_cpuid to get i386 target fetaures.
11841 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11842 (main): Use __get_cpuid to get x86_64 target fetaures.
11843
6da17392
JH
118442007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11845
11846 PR target/32765
11847 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11848 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11849
e1c82219
JJ
118502007-07-12 Jakub Jelinek <jakub@redhat.com>
11851
11852 PR fortran/32550
11853 * testsuite/libgomp.fortran/pr32550.f90: New test.
11854 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11855
12a27363
L
118562007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11857
11858 * aclocal.m4: Regenerated.
11859
5349080d
TB
118602007-07-05 Tobias Burnus <burnus@net-b.de>
11861
11862 PR fortran/32359
11863 * testsuite/libgomp.fortran/pr32359.f90: New.
11864
4f9c450c
JJ
118652007-07-02 Jakub Jelinek <jakub@redhat.com>
11866
11867 PR libgomp/32468
11868 * sections.c (GOMP_parallel_sections_start): Only decrease
11869 number of threads to COUNT if dyn_var is true.
11870 * testsuite/libgomp.c/pr32468.c: New test.
11871
28c67ed7
RO
118722007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11873
11874 PR libgomp/26308
11875 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11876
64964499
JJ
118772007-06-21 Jakub Jelinek <jakub@redhat.com>
11878
11879 PR middle-end/32362
11880 * testsuite/libgomp.c/pr32362-1.c: New test.
11881 * testsuite/libgomp.c/pr32362-2.c: New test.
11882 * testsuite/libgomp.c/pr32362-3.c: New test.
11883
46d8fbd1
JJ
118842007-06-07 Jakub Jelinek <jakub@redhat.com>
11885
11886 * team.c (gomp_team_start): Fix setting up thread_attr
11887 stack size.
11888
82a6cadf
PB
118892007-06-02 Paolo Bonzini <bonzini@gnu.org>
11890
11891 * configure: Regenerate.
11892
1cf3d07d
SE
118932007-05-23 Steve Ellcey <sje@cup.hp.com>
11894
11895 * Makefile.in: Regenerate.
11896 * configure: Regenerate.
11897 * aclocal.m4: Regenerate.
11898 * testsuite/Makefile.in: Regenerate.
11899
12aac30b
JJ
119002007-05-04 Jakub Jelinek <jakub@redhat.com>
11901
11902 * config/linux/proc.c: New file.
11903
f1028b02
JJ
11904 PR libgomp/28482
11905 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11906
06785a48
DF
119072007-04-19 Daniel Franke <franke.daniel@gmail.com>
11908
11909 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11910
b3b08ba0
MK
119112007-04-16 Matthias Klose <doko@debian.org>
11912
11913 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11914 flags if not building with -m64.
11915 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11916 flag for i?86-*-* targets, if current target matches -m64.
11917
6b2c5ce0
SE
119182007-04-14 Steve Ellcey <sje@cup.hp.com>
11919
11920 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11921 * Makefile.in: Regenerate.
11922
dd56fe7c
JDA
119232007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11924
11925 PR testsuite/31369
11926 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11927 ld_library_path.
11928 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11929
a0884cf0
JJ
119302007-04-04 Jakub Jelinek <jakub@redhat.com>
11931
11932 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11933 decls.
11934 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11935 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11936 (parse_affinity): New function.
11937 (initialize_env): Call it and gomp_init_affinity.
11938 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11939 create new pthread_attr_t and call gomp_init_thread_affinity
11940 on it for each thread before passing the attribute to pthread_create.
11941 * config/linux/affinity.c: New file.
11942 * config/posix/affinity.c: New file.
11943 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11944 * configure: Rebuilt.
11945 * config.h.in: Rebuilt.
11946 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11947 * Makefile.in: Rebuilt.
11948
1850744b
AT
119492007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11950
11951 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11952 *-*-darwin*.
11953 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11954 and use it if found.
11955
516f1ed8
UB
119562007-03-18 Uros Bizjak <ubizjak@gmail.com>
11957
11958 * testsuite/config/default.exp: New file.
11959 * testsuite/lib/libgomp.exp: New file.
11960 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11961 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11962 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11963 (libgomp_load): Remove.
11964 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11965 always_ld_library_path, not ld_library_path. Set additional_flags
11966 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11967 (target_compile): Do not call libgomp_init. Append lang_library_path
11968 and lang_link_flags to options.
11969 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11970 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11971 here.
11972 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11973 always_ld_library_path. Set LD_LIBRARY_PATH here.
11974 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11975 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11976 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11977 CX8 flag.
11978 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11979 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11980 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11981 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11982 * testsuite/libgomp.c/atomic-10.c: Ditto.
11983
2ada56f5
JJ
119842007-03-21 Jakub Jelinek <jakub@redhat.com>
11985
11986 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11987 dg-final cleanup-modules line.
11988 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11989 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11990 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11991 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11992 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11993 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11994 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11995
f210f1cd
AS
119962007-03-18 Andreas Schwab <schwab@suse.de>
11997
11998 * acinclude.m4: Adjust regular expression for ld version
11999 extraction.
12000 * configure: Regenerate.
12001
c4dc950d
BM
120022007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
12003
12004 * Makefile.am: Add install-pdf target as copied from
12005 automake v1.10 rules.
12006 * Makefile.in: Regenerate
12007
e02a048f
JJ
120082007-02-07 Jakub Jelinek <jakub@redhat.com>
12009
78e075d4
JJ
12010 PR libgomp/28486
12011 * configure: Regenerate.
12012
e02a048f
JJ
12013 PR c++/30703
12014 * testsuite/libgomp.c++/pr30703.C: New test.
12015
60def7ed
JJ
120162007-02-02 Jakub Jelinek <jakub@redhat.com>
12017
12018 Revert:
12019 2006-07-05 Eric Christopher <echristo@apple.com>
12020 * configure.ac: Depend addition of -pthread on host OS.
12021 * configure: Regenerate.
12022
f1b0882e
RW
120232007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12024
12025 * libgomp.texi: Fix spacing after abbreviations.
12026
748b9d7c
DF
120272007-01-31 Daniel Franke <franke.daniel@gmail.com>
12028
12029 PR libgomp/30546
12030 * configure.ac: Add check for makeinfo
12031 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 12032 if an appropriate version of makeinfo is found.
748b9d7c
DF
12033 * aclocal.m4: Regenerated.
12034 * configure: Regenerated.
12035 * Makefile.in: Regenerated.
12036 * testsuite/Makefile.in: Regenerated.
12037
14734fc7
DF
120382007-01-29 Daniel Franke <franke.daniel@gmail.com>
12039
12040 PR libgomp/30540
12041 * libgomp.texi: More about implementation-dependent settings.
12042
7befd5d2
TB
120432007-01-26 Tobias Burnus <burnus@net-b.de>
12044
12045 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12046
4288fea2
JJ
120472007-01-24 Jakub Jelinek <jakub@redhat.com>
12048
12049 PR middle-end/30494
12050 * testsuite/libgomp.c/pr30494.c: New test.
12051
627ab4b8
TT
120522007-01-15 Tom Tromey <tromey@redhat.com>
12053
12054 * configure: Rebuilt.
12055 * configure.ac: Fixed comment.
12056
7c2b7f45
DF
120572007-01-14 Daniel Franke <franke.daniel@gmail.com>
12058
12059 * libgomp.texi: Document implementation specific default values of
12060 environment variables.
12061
3721b9e1
DF
120622006-12-21 Daniel Franke <franke.daniel@gmail.com>
12063
12064 PR libgomp/28209
12065 * libgomp.texi: New file.
12066 * configure.ac: Add --enable-generated-files-in-srcdir option.
12067 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12068 files to srcdir.
12069 * Makefile.in: Regenerated.
12070 * config.h.in: Regenerated.
12071 * testsuite/Makefile.in: Regenerated.
12072 * NOTES: Removed.
12073
62bd6216
DF
120742006-12-04 Daniel Franke <franke.daniel@gmail.com>
12075
12076 PR libgomp/29949
12077 * env.c (omp_set_num_threads): Set illegal thread count to 1.
12078
aad741f4
EB
120792006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
12080
12081 * configure: Regenerate.
12082
22568cc6
JJ
120832006-12-04 Jakub Jelinek <jakub@redhat.com>
12084
12085 PR libgomp/29947
12086 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
12087 start if there shouldn't be any loop iterations.
12088 (gomp_loop_ordered_static_start): Remove start == end test.
12089 * testsuite/libgomp.c/pr29947-1.c: New test.
12090 * testsuite/libgomp.c/pr29947-2.c: New test.
12091
a9690009
EB
120922006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12093
12094 * configure.tgt: Force initial-exec TLS model on Linux only.
12095
597c25e6
DJ
120962006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
12097
12098 * configure: Regenerated.
12099
6acf0b38
UB
121002006-11-09 Uros Bizjak <ubizjak@gmail.com>
12101
12102 * env.c (parse_schedule): Reject out of range values.
12103 (parse_unsigned_long): Reject out of range, negative or zero values.
12104
a7a53ca5
JJ
121052006-10-29 Jakub Jelinek <jakub@redhat.com>
12106
12107 PR fortran/29629
12108 * testsuite/libgomp.fortran/pr29629.f90: New test.
12109
6d4d216a
EB
121102006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
12111
12112 PR libgomp/29494
12113 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12114 * config/posix95: New directory.
12115 * config/posix95/omp-lock.h: New file.
12116 * config/posix95/lock.c: Likewise.
12117
5b043f08
GK
121182006-10-14 Geoffrey Keating <geoffk@apple.com>
12119
12120 * aclocal.m4: Regenerate.
12121 * configure: Regenerate.
12122
b50019f0
DS
121232006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12124
12125 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12126 '<' to '<='.
12127
8887708e
DS
121282006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12129
12130 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12131 test.
12132 * configure: Regenerate.
12133 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12134
9b9e4cd6
JJ
121352006-09-26 Jakub Jelinek <jakub@redhat.com>
12136
a70ad3bb
JJ
12137 PR middle-end/25261
12138 PR middle-end/28790
12139 * testsuite/libgomp.c/nestedfn-4.c: New test.
12140 * testsuite/libgomp.c/nestedfn-5.c: New test.
12141 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12142
9b9e4cd6
JJ
12143 PR fortran/29097
12144 * testsuite/libgomp.fortran/condinc1.f: New test.
12145 * testsuite/libgomp.fortran/condinc2.f: New test.
12146 * testsuite/libgomp.fortran/condinc3.f90: New test.
12147 * testsuite/libgomp.fortran/condinc4.f90: New test.
12148 * testsuite/libgomp.fortran/condinc1.inc: New file.
12149
2fb31455
TT
121502006-09-18 Tom Tromey <tromey@redhat.com>
12151
12152 * configure: Rebuilt.
12153
c663e301
JM
121542006-09-13 Joseph S. Myers <joseph@codesourcery.com>
12155
12156 PR c/28768
12157 PR preprocessor/14634
12158 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12159 to AC_DEFINE.
12160 * configure: Regenerate.
12161
38371be9
SK
121622006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
12163
12164 * testsuite/libgomp.fortran/reduction3.f90: Change
12165 -2147483648 to -huge(i)-1 to avoid overflow.
12166 * testsuite/libgomp.fortran/reduction4.f90: Change
12167 Z'ffffffff' to not(0) to avoid overflow.
12168
571d5ac5
JM
121692006-08-26 Joseph S. Myers <joseph@codesourcery.com>
12170
12171 PR libgomp/25938
12172 * Makefile.am (libsubincludedir): New.
12173 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12174 * Makefile.in: Regenerate.
12175
89b3e3cd
JJ
121762006-08-17 Jakub Jelinek <jakub@redhat.com>
12177
12178 PR libgomp/28725
12179 * env.c: Include ctype.h.
12180 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12181 leading and/or trailing whitespace and compare strings case
12182 insensitively.
12183
742fae05
JJ
121842006-07-16 Jakub Jelinek <jakub@redhat.com>
12185
12186 PR fortran/28390
12187 * testsuite/libgomp.fortran/pr28390.f: New test.
12188
a1daed2d
EC
121892006-07-05 Eric Christopher <echristo@apple.com>
12190
12191 * configure.ac: Depend addition of -pthread on host OS.
12192 * configure: Regenerate.
12193
5d7b5199
JJ
121942006-06-21 Jakub Jelinek <jakub@redhat.com>
12195
12196 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12197 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12198 defined.
12199
fe5568e9
JJ
122002006-06-20 Jakub Jelinek <jakub@redhat.com>
12201
12202 PR libgomp/26175
12203 PR libgomp/26477
12204 * configure.ac: If neither --enable-linux-futex nor
12205 --disable-linux-futex is passed, determine the default by checking
12206 for compiling and/or running against NPTL. With --enable-linux-futex,
12207 check if SYS_gettid and SYS_futex are defined.
12208 * configure: Rebuilt.
12209
c3b11a40
RH
122102006-06-14 Richard Henderson <rth@redhat.com>
12211
12212 PR libgomp/28008
12213 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12214 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12215
d0d1b24d
RH
122162006-06-09 Richard Henderson <rth@redhat.com>
12217
12218 * env.c (gomp_nthreads_var): Change to unsigned long.
12219 (gomp_run_sched_chunk): Likewise.
12220 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12221 (initialize_env): Initialize gomp_thread_attr.
12222 * libgomp.h (gomp_nthreads_var): Update decl.
12223 (gomp_run_sched_chunk): Likewise.
12224 (gomp_thread_attr): Declare.
12225 * team.c (gomp_thread_attr): Export.
12226 (initialize_team): Don't initialize it.
12227
cd75853e
JJ
122282006-06-09 Jakub Jelinek <jakub@redhat.com>
12229
12230 PR fortran/27916
12231 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12232 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12233
33815e0c
FXC
122342006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12235
12236 * config/mingw32/time.c: New file.
12237 * configure.tgt: Use it.
12238
6667de0d
CD
122392006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12240
12241 * Makefile.am: Add install-html target. Add install-html to .PHONY
12242 * Makefile.in: Regenerate.
12243
e962c46b
JDA
122442006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12245
12246 PR libgomp/27612
12247 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12248 * testsuite/libgomp.c/critical-1.c: Likewise.
12249 * testsuite/libgomp.c/loop-1.c: Likewise.
12250 * testsuite/libgomp.c/loop-2.c: Likewise.
12251 * testsuite/libgomp.c/single-1.c: Likewise.
12252 * testsuite/libgomp.c/ordered-1.c: Likewise.
12253 * testsuite/libgomp.c/ordered-2.c: Likewise.
12254
eeb1d9e0
JJ
122552006-05-15 Jakub Jelinek <jakub@redhat.com>
12256
12257 PR middle-end/27416
12258 * libgomp.fortran/pr27416-1.f90: New test.
12259
693d710f
JJ
122602006-05-03 Jakub Jelinek <jakub@redhat.com>
12261
12262 PR fortran/27395
12263 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12264 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12265
8ca5b2a2
JJ
122662006-05-02 Jakub Jelinek <jakub@redhat.com>
12267
12268 PR c++/26943
12269 * testsuite/libgomp.c/pr26943-1.c: New test.
12270 * testsuite/libgomp.c/pr26943-2.c: New test.
12271 * testsuite/libgomp.c/pr26943-3.c: New test.
12272 * testsuite/libgomp.c/pr26943-4.c: New test.
12273 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12274 * testsuite/libgomp.c++/pr26943.C: New test.
12275
077b0dfb
JJ
122762006-05-02 Jakub Jelinek <jakub@redhat.com>
12277
12278 PR middle-end/27337
12279 * testsuite/libgomp.c++/pr27337.C: New test.
12280
91b6c26d
JJ
122812006-04-26 Jakub Jelinek <jakub@redhat.com>
12282
12283 PR c/26171
12284 * testsuite/libgomp.c/pr26171.c: New test.
12285
60e1758f
RH
122862006-04-25 Richard Henderson <rth@redhat.com>
12287
12288 PR libgomp/25865
12289 * configure.ac: Use GCC_CHECK_TLS.
12290 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12291 * Makefile.in, aclocal.m4, configure: Regenerate.
12292
615baed7
MK
122932006-04-10 Matthias Klose <doko@debian.org>
12294
12295 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12296 directory names containing underscores.
12297
fae2b46b
JJ
122982006-03-21 Jakub Jelinek <jakub@redhat.com>
12299
12300 PR c++/26691
12301 * testsuite/libgomp.c++/pr26691.C: New test.
12302
11a5f608
JJ
123032006-03-13 Jakub Jelinek <jakub@redhat.com>
12304
12305 * testsuite/libgomp.fortran/retval2.f90: New test.
12306
1799e5d5
RH
123072006-03-09 Diego Novillo <dnovillo@redhat.com>
12308
12309 * testsuite/libgomp.c++: New directory.
12310
d349482e
AT
123112006-02-25 Shantonu Sen <ssen@opendarwin.org>
12312
12313 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12314 * config/posix/sem.c: Implement the above.
12315
123162006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12317
12318 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12319 define HAVE_BROKEN_POSIX_SEMAPHORES.
12320 * configure: Rebuilt.
12321 * config.h.in: Rebuilt.
12322
124452c9
FXC
123232006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12324
12325 PR bootstrap/26161
12326 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12327 for the other pthread check.
12328 * configure: Regenerate.
12329 * config.h.in: Regenerate.
12330
dd8d6dfe
JJ
123312006-02-15 Jakub Jelinek <jakub@redhat.com>
12332
12333 PR libgomp/25938
12334 PR libgomp/25984
12335 * Makefile.am (fincludedir): New variable.
12336 (nodist_include_HEADERS): Remove Fortran files.
12337 (nodist_finclude_HEADERS): New variable.
12338 * Makefile.in: Regenerated.
12339
6c7a4dfd
JJ
123402006-02-13 Jakub Jelinek <jakub@redhat.com>
12341
12342 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12343 Remove tests for returning assumed character length arrays.
12344
5142e08b
RS
123452006-02-12 Roger Sayle <roger@eyesopen.com>
12346 John David Anglin <dave@hiauly1.hia.nrc.ca>
12347
12348 PR libgomp/25936
12349 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 12350
5821fba8
UW
123512006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12352
12353 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12354
cb2bbc67
EB
123552006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12356
12357 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12358 part of LD_LIBRARY_PATH manually.
12359
f05ee80c
L
123602006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12361
12362 PR libgomp/25852
12363 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12364 libgomp_init.
12365
03b8fe49
PB
123662005-01-25 Paolo Bonzini <bonzini@gnu.org>
12367
12368 PR libgomp/25884
f05ee80c
L
12369 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12370 * configure.ac (PERL): Don't set.
12371 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12372 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12373 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12374 * omp.h.in: Wrap the new configure substitutions with @ characters.
12375 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12376 * aclocal.m4, configure, Makefile.in: Regenerate.
12377 * mkomp_h.pl: Delete.
03b8fe49 12378
18cbfd85
PB
123792005-01-24 Paolo Bonzini <bonzini@gnu.org>
12380
12381 PR libgomp/25259
12382 * configure.ac: Use GCC_HEADER_STDINT.
12383 * libgomp.h: Include gstdint.h.
12384 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12385 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12386
c41303c6
RH
123872006-01-24 Richard Henderson <rth@redhat.com>
12388
12389 PR libgomp/25942
12390 * configure.ac: Add AM_MAINTAINER_MODE.
12391 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12392
149b9553
DN
123932006-01-24 Diego Novillo <dnovillo@redhat.com>
12394
12395 * Makefile.in: Regenerate.
12396 * testsuite/Makefile.in: Regenerate.
12397 * aclocal.m4: Regenerate.
12398
192a50ad
AT
123992006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12400
12401 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12402 Solaris.
12403 * configure.ac: Add check for loadavg.h.
12404 (link_gomp): Adjust comment.
12405 * configure: Regenerate.
12406 * config.h.in: Regenerate.
12407
a55b8e18
SE
124082006-01-21 Steve Ellcey <sje@cup.hp.com>
12409
12410 PR libgomp/25877
12411 * configure.ac: Remove check for alloca.h.
12412 * configure: Regenerate.
12413 * config.h.in: Regenerate.
12414 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12415 * team.c: Remove use of alloca.h.
12416 Call gomp_alloca instead of alloca.
12417
692eeb34
SE
124182006-01-20 Steve Ellcey <sje@cup.hp.com>
12419
12420 PR libgomp/25877
12421 * team.c: Add include of alloca.h.
12422 * configure.ac: Add check for alloca.h.
12423 * configure: Regenerate.
12424 * config.h.in: Regenerate.
12425
953ff289
DN
124262006-01-17 Jakub Jelinek <jakub@redhat.com>
12427
12428 PR fortran/25219
12429 * testsuite/libgomp.fortran/pr25219.f90: New test.
12430
124312005-12-05 Uros Bizjak <uros@kss-loka.si>
12432
12433 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12434 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12435 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12436 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12437 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12438 testsuite/libgomp.fortran/threadprivate1.f90,
12439 testsuite/libgomp.fortran/threadprivate2.f90,
12440 testsuite/libgomp.fortran/threadprivate3.f90,
12441 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12442 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12443 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12444 effective-target to TLS runtime.
12445
12446 * testsuite/libgomp.fortran/pr25162.f: Require
12447 effective-target TLS runtime.
12448
124492005-12-01 Jakub Jelinek <jakub@redhat.com>
12450
12451 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12452 * testsuite/libgomp.c/nestedfn-3.c: New test.
12453
124542005-11-30 Jakub Jelinek <jakub@redhat.com>
12455
12456 PR fortran/25162
12457 * testsuite/libgomp.fortran/pr25162.f: New test.
12458
124592005-11-28 Jakub Jelinek <jakub@redhat.com>
12460
12461 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12462 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12463
124642005-11-25 Jakub Jelinek <jakub@redhat.com>
12465
12466 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12467 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12468 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12469 single.c, team.c, work.c, config/linux/alpha/futex.h,
12470 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12471 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12472 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12473 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12474 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12475 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12476 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12477 FSF address.
12478
124792005-11-18 Jakub Jelinek <jakub@redhat.com>
12480
12481 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12482 to nodist_noinst_HEADERS.
12483 * Makefile.in: Rebuilt.
12484
12485 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12486 add integer count field.
12487 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12488 omp_nest_lock_t type change.
12489 (omp_init_nest_lock): Likewise. Initialize count to 0.
12490 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12491 Increment count.
12492 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12493 Decrement count.
12494 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12495 Increment count if successful and return the new nesting level.
12496 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12497 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12498 * testsuite/libgomp.c/lib-1.c: New test.
12499 * testsuite/libgomp.fortran/lib1.f90: New test.
12500 * testsuite/libgomp.fortran/lib2.f: New test.
12501 * testsuite/libgomp.fortran/lib3.f: New test.
12502
125032005-11-17 Richard Henderson <rth@redhat.com>
12504
12505 PR 24845
12506 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12507 * configure.ac (link_gomp): New. Substitute it.
12508 (AC_CONFIG_FILES): Add libgomp.spec.
12509 * libgomp.spec.in: New file.
12510 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12511 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12512
125132005-11-18 Jakub Jelinek <jakub@redhat.com>
12514
12515 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12516 reduction(-:var) behaving the same as reduction(+:var).
12517 * testsuite/libgomp.c/reduction-4.c: New test.
12518
125192005-11-15 Uros Bizjak <uros@kss-loka.si>
12520
12521 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12522 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12523 testsuite/libgomp.c/copyin-3.c,
12524 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12525 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12526 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12527 testsuite/libgomp.c++/pr24455.C,
12528 testsuite/libgomp.fortran/threadprivate1.f90,
12529 testsuite/libgomp.fortran/threadprivate2.f90,
12530 testsuite/libgomp.fortran/threadprivate3.f90,
12531 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12532 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12533 testsuite/libgomp.fortran/omp_parse3.f90: Require
12534 effective-target TLS.
12535
125362005-11-14 Diego Novillo <dnovillo@redhat.com>
12537
12538 * HEADER: Remove.
12539
125402005-11-13 Jakub Jelinek <jakub@redhat.com>
12541
12542 PR libgomp/24797
12543 * team.c (initialize_team): Pass NULL rather than free as
12544 pthread_key_create destructor. Initialize thread specific data
12545 pointer in initial thread to a static local variable rather than
12546 malloced memory.
12547
125482005-11-11 Uros Bizjak <uros@kss-loka.si>
12549
12550 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12551 its location to ld_library_path.
12552
125532005-11-10 Diego Novillo <dnovillo@redhat.com>
12554
12555 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12556
125572005-11-10 Diego Novillo <dnovillo@redhat.com>
12558
12559 * testsuite/libgomp.c: Rename from libgomp.dg.
12560
125612005-11-09 Diego Novillo <dnovillo@redhat.com>
12562
12563 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12564 threadprivate variable 'i'.
12565
125662005-11-09 Jakub Jelinek <jakub@redhat.com>
12567
12568 * config/linux/s390/futex.h: New file.
12569 * configure.tgt: Use it.
12570
12571 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12572 before the parallel.
12573
125742005-11-08 Jakub Jelinek <jakub@redhat.com>
12575
12576 PR c++/24734
12577 * testsuite/libgomp.c++/master-1.C: New test.
12578
125792005-11-07 Jakub Jelinek <jakub@redhat.com>
12580
12581 * testsuite/libgomp.dg/copyin-3.c: New test.
12582
125832005-11-07 Jakub Jelinek <jakub@redhat.com>
12584
12585 * testsuite/libgomp.fortran/retval1.f90: New test.
12586 * testsuite/libgomp.fortran/vla7.f90: New test.
12587
125882005-11-06 Jakub Jelinek <jakub@redhat.com>
12589
12590 * testsuite/libgomp.fortran/vla2.f90: New test.
12591 * testsuite/libgomp.fortran/vla3.f90: New test.
12592 * testsuite/libgomp.fortran/vla4.f90: New test.
12593 * testsuite/libgomp.fortran/vla5.f90: New test.
12594 * testsuite/libgomp.fortran/vla6.f90: New test.
12595
125962005-11-01 Jakub Jelinek <jakub@redhat.com>
12597
12598 * config/linux/sparc/futex.h: New file.
12599 * configure.tgt: Use it.
12600 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12601
12602 * critical.c: Include stdlib.h.
12603 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12604 ignoring return value.
12605 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12606 LIBGOMP_CHECK_SYNC_BUILTINS check.
12607 * configure: Rebuilt.
12608
126092005-10-31 Jakub Jelinek <jakub@redhat.com>
12610
12611 * testsuite/libgomp.fortran/vla1.f90: New test.
12612
126132005-10-31 Richard Henderson <rth@redhat.com>
12614
12615 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12616 setting 's' in different threads.
12617
126182005-10-31 Jakub Jelinek <jakub@redhat.com>
12619
12620 * libgomp.h (attribute_hidden, ialias): Define.
12621 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12622 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12623 * config/posix/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 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12628 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12629 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12630 omp_test_lock, omp_test_nest_lock): Likewise.
12631 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12632 omp_get_dynamic, omp_get_nested): Likewise.
12633 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12634 omp_get_thread_num, omp_in_parallel): Likewise.
12635 * fortran.c (ialias_redirect): Define.
12636 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12637 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12638 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12639 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12640 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12641 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12642 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12643 omp_get_wtime): Add ialias_redirect.
12644
126452005-10-30 Jakub Jelinek <jakub@redhat.com>
12646
12647 * fortran.c: Include stdlib.h.
12648
126492005-10-29 Jakub Jelinek <jakub@redhat.com>
12650
12651 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12652 * Makefile.in: Regenerated.
12653
126542005-10-28 Jakub Jelinek <jakub@redhat.com>
12655
12656 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12657 * libgomp_f.h.in (omp_check_defines): New function.
12658 * env.c: Include libgomp_f.h.
12659 (initialize_env): Call omp_check_defines.
12660
12661 * testsuite/libgomp.dg/copyin-2.c: New test.
12662 * testsuite/libgomp.c++/copyin-2.C: New test.
12663 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12664
12665 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12666 * testsuite/libgomp.fortran/sharing2.f90: New test.
12667
12668 * testsuite/libgomp.dg/copyin-1.c: New test.
12669 * testsuite/libgomp.c++/copyin-1.C: New test.
12670
126712005-10-26 Jakub Jelinek <jakub@redhat.com>
12672
12673 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12674
12675 * testsuite/libgomp.fortran/workshare1.f90: New test.
12676
12677 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12678 only test.
12679 * libgomp.fortran/sharing1.f90: New test.
12680
126812005-10-24 Jakub Jelinek <jakub@redhat.com>
12682
12683 PR c++/24502
12684 * testsuite/libgomp.c++/loop-7.C: New test.
12685
12686 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12687
12688 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12689 * testsuite/libgomp.fortran/reduction6.f90: New test.
12690 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12691
126922005-10-23 Richard Henderson <rth@redhat.com>
12693
12694 * testsuite/libgomp.c++/ctor-1.C: New.
12695 * testsuite/libgomp.c++/ctor-2.C: New.
12696 * testsuite/libgomp.c++/ctor-3.C: New.
12697 * testsuite/libgomp.c++/ctor-4.C: New.
12698 * testsuite/libgomp.c++/ctor-5.C: New.
12699 * testsuite/libgomp.c++/ctor-6.C: New.
12700 * testsuite/libgomp.c++/ctor-7.C: New.
12701 * testsuite/libgomp.c++/ctor-8.C: New.
12702 * testsuite/libgomp.c++/ctor-9.C: New.
12703
127042005-10-21 Diego Novillo <dnovillo@redhat.com>
12705
12706 PR 24455
12707 * testsuite/libgomp.c++/pr24455-1.C: New test.
12708 * testsuite/libgomp.c++/pr24455.C: New test.
12709 * testsuite/libgomp.dg/pr24455-1.c: New test.
12710 * testsuite/libgomp.dg/pr24455.c: New test.
12711
127122005-10-20 Richard Henderson <rth@redhat.com>
12713
12714 * testsuite/libgomp.c++/loop-6.C: New.
12715 * testsuite/libgomp.dg/loop-3.c: New.
12716
127172005-10-20 Jakub Jelinek <jakub@redhat.com>
12718
12719 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12720 explicitly private.
12721 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12722 explicitly shared.
12723
127242005-10-19 Diego Novillo <dnovillo@redhat.com>
12725
12726 * testsuite/libgomp.fortran/jacobi.f: New test.
12727
127282005-10-19 Richard Henderson <rth@redhat.com>
12729
12730 * configure.tgt (i?86-linux): Default to with_arch instead of
12731 CFLAGS. Add -mtune to match target_cpu.
12732 (x86_64-linux): Tune to i686.
12733
12734 * fortran.c (omp_test_nest_lock_): Fix typo.
12735
127362005-10-19 Jakub Jelinek <jakub@redhat.com>
12737
12738 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12739 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12740 * testsuite/libgomp.dg/ordered-3.c: New test.
12741
12742 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12743 Remove volatile keyword.
12744
12745 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12746 in COMMON block to avoid warnings on 64-bit targets.
12747
127482005-10-18 Diego Novillo <dnovillo@redhat.com>
12749
12750 * testsuite/libgomp.dg/shared-3.c: New test.
12751
127522005-10-18 Jakub Jelinek <jakub@redhat.com>
12753
12754 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12755 * testsuite/libgomp.fortran/reduction5.f90: New test.
12756
127572005-10-18 Jakub Jelinek <jakub@redhat.com>
12758
12759 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12760 dg-options.
12761 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12762 flush loop now that __sync_synchronize has proper memory barrier.
12763 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12764 Add -ffixed-form to dg-options.
12765
127662005-10-17 Diego Novillo <dnovillo@redhat.com>
12767
12768 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12769 from subdirectories.
12770 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12771 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12772 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12773 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12774 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12775 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12776 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12777 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12778 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12779 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12780 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12781 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12782 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12783 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12784 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12785 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12786 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12787 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12788 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12789 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12790 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12791 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12792 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12793 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12794 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12795
127962005-10-17 Jakub Jelinek <jakub@redhat.com>
12797
12798 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12799 lang_library_path exists. Use find instead of glob to gather tests.
12800 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12801
128022005-10-17 Diego Novillo <dnovillo@redhat.com>
12803
12804 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12805 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12806 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12807 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12808 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12809 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12810 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12811 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12812 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12813 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12814 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12815 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12816 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12817
128182005-10-15 Jakub Jelinek <jakub@redhat.com>
12819
12820 * testsuite/libgomp.dg/vla-1.c: New test.
12821
12822 * testsuite/libgomp.fortran/reference2.f90: New test.
12823
12824 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12825 declaration of omp_get_thread_num.
12826 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12827 use omp_lib.
12828
12829 * testsuite/libgomp.fortran/reduction1.f90: New test.
12830 * testsuite/libgomp.fortran/reduction2.f90: New test.
12831 * testsuite/libgomp.fortran/reduction3.f90: New test.
12832 * testsuite/libgomp.fortran/reduction4.f90: New test.
12833
128342005-10-13 Richard Henderson <rth@redhat.com>
12835
12836 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12837 * Makefile.in: Regenerate.
12838 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12839 * libgomp.h: Include bar.h.
12840 (struct gomp_barrier): Remove.
12841 (struct gomp_team): Add barrier. Replace master_barrier with
12842 master_release. Replace threads with ordered_release.
12843 (struct gomp_thread): Replace barrier with release.
12844 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12845 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12846 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12847 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12848 (GOMP_single_copy_end): Likewise.
12849 * team.c (gomp_threads_dock): New.
12850 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12851 (gomp_thread_start): Use gomp_barrier_wait.
12852 (new_team, free_team): Update for gomp_team changes.
12853 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12854 (gomp_team_end): Use gomp_barrier_wait.
12855 (initialize_team): Update for gomp_thread changes.
12856 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12857 (gomp_work_share_end_nowait): Use atomic ops when available.
12858 * config/linux/bar.c, config/linux/bar.h: New files.
12859 * config/posix/bar.c, config/posix/bar.h: New files.
12860
128612005-10-13 Jakub Jelinek <jakub@redhat.com>
12862
12863 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12864 * testsuite/libgomp.dg/single-2.c: New test.
12865
12866 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12867 lang_link_flags): Unset, so that they aren't inherited from previously
12868 sourced *.exp.
12869
12870 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12871
128722005-10-12 Richard Henderson <rth@redhat.com>
12873
12874 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12875 (libgomp_init): Use lang_test_file, lang_library_path, and
12876 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12877
12878 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12879 (lang_test_file, lang_link_flags): New.
12880 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12881
12882 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12883 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12884 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12885 testsuite/libgomp.c++/parallel-1.C,
12886 testsuite/libgomp.c++/reduction-1.C,
12887 testsuite/libgomp.c++/reduction-2.C,
12888 testsuite/libgomp.c++/reduction-3.C,
12889 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12890 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12891 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12892 New files, largely cribbed from the C testsuite.
12893
128942005-10-12 Jakub Jelinek <jakub@redhat.com>
12895
12896 * testsuite/libgomp.fortran/character1.f90: New test.
12897 * testsuite/libgomp.fortran/character2.f90: New test.
12898
12899 * testsuite/libgomp.dg/nested-1.c: New test.
12900 * testsuite/libgomp.dg/nested-2.c: New test.
12901 * testsuite/libgomp.fortran/do1.f90: New test.
12902 * testsuite/libgomp.fortran/do2.f90: New test.
12903
12904 * testsuite/libgomp.fortran/reference1.f90: New test.
12905
129062005-10-11 Jakub Jelinek <jakub@redhat.com>
12907
12908 * testsuite/libgomp.dg/reduction-1.c: New test.
12909 * testsuite/libgomp.dg/reduction-2.c: New test.
12910 * testsuite/libgomp.dg/reduction-3.c: New test.
12911
129122005-10-10 Jakub Jelinek <jakub@redhat.com>
12913
12914 * testsuite/libgomp.dg/atomic-1.c: New test.
12915 * testsuite/libgomp.dg/atomic-2.c: New test.
12916
129172005-10-09 Richard Henderson <rth@redhat.com>
12918
12919 * critical.c (atomic_lock): New.
12920 (initialize_critical): Initialize it.
12921 (GOMP_atomic_start, GOMP_atomic_end): New.
12922 * libgomp.map: Export them.
12923 * libgomp_g.h: Declare them.
12924
12925 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12926
129272005-10-02 Richard Henderson <rth@redhat.com>
12928
12929 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12930 to XCFLAGS instead of CFLAGS.
12931
129322005-09-30 Richard Henderson <rth@redhat.com>
12933
12934 * configure.ac: Determine whether -pthread or -lpthread is needed.
12935 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 12936 * Makefile.in, configure: Rebuild.
953ff289
DN
12937
129382005-09-28 Richard Henderson <rth@redhat.com>
12939
12940 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12941 * testsuite/libgomp.dg/omp-single-3.c: New test.
12942
129432005-09-28 Diego Novillo <dnovillo@redhat.com>
12944
12945 * testsuite/libgomp.dg/omp-single-2.c: New test.
12946 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12947
129482005-09-27 Richard Henderson <rth@redhat.com>
12949
12950 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12951 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12952
129532005-09-27 Jakub Jelinek <jakub@redhat.com>
12954
12955 * testsuite/libgomp.dg/omp-loop03.c: New test.
12956
129572005-09-27 Diego Novillo <dnovillo@redhat.com>
12958
12959 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12960
129612005-09-27 Diego Novillo <dnovillo@redhat.com>
12962
12963 * testsuite/libgomp.dg/omp-single-1.c: New test.
12964 * testsuite/libgomp.dg/shared-1.c: Return 0.
12965 Add prototype for abort.
12966 * testsuite/libgomp.dg/shared-2.c: Likewise.
12967
129682005-09-26 Jakub Jelinek <jakub@redhat.com>
12969
12970 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12971 constructs.
12972
129732005-09-26 Diego Novillo <dnovillo@redhat.com>
12974
12975 * testsuite/libgomp.dg/shared-1.c: New test.
12976 * testsuite/libgomp.dg/shared-2.c: New test.
12977
129782005-09-24 Richard Henderson <rth@redhat.com>
12979
12980 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12981
129822005-09-24 Richard Henderson <rth@redhat.com>
12983
12984 * iter.c (gomp_iter_static_next): Round up when computing number
12985 of iterations. Don't bother distributing a remainder equally.
12986
12987 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12988 Don't call srand. Zero b before testing.
12989 (main): New.
12990
129912005-09-24 Jakub Jelinek <jakub@redhat.com>
12992
12993 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12994 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12995
129962005-09-23 Jakub Jelinek <jakub@redhat.com>
12997
12998 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12999 without !$omp end do, followed immediately by subroutine end.
13000
130012005-09-23 Diego Novillo <dnovillo@redhat.com>
13002
13003 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13004
130052005-09-22 Richard Henderson <rth@redhat.com>
13006
13007 * critical.c (GOMP_critical_name_start): Change argument to void**.
13008 Reuse the pointer space if the mutex fits.
13009 (GOMP_critical_name_end): Likewise.
13010 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13011 * libgomp_g.h (GOMP_critical_name_start): Update decl.
13012 (GOMP_critical_name_end): Likewise.
13013 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13014 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13015
130162005-09-20 Richard Henderson <rth@redhat.com>
13017
13018 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13019 (create_lock_lock): New.
13020 (initialize_critical): Initialize it.
13021 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13022 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13023
130242005-09-20 Diego Novillo <dnovillo@redhat.com>
13025
13026 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13027
130282005-09-20 Diego Novillo <dnovillo@redhat.com>
13029
13030 * testsuite/libgomp.dg/omp-loop01.c: New test.
13031 * testsuite/libgomp.dg/omp-loop02.c: New test.
13032
130332005-09-20 Jakub Jelinek <jakub@redhat.com>
13034
13035 * configure.ac (AC_PROG_FC): Add.
13036 (USE_FORTRAN): New automake conditional.
13037 * configure: Rebuilt.
13038 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13039 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13040 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13041 Add rules to build them.
13042 * Makefile.in: Rebuilt.
13043 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13044 OMP_NEST_LOCK_KIND.
13045 * libgomp.map: Add Fortran wrappers.
13046 * libgomp_f.h.in: New file.
13047 * omp_lib.h.in: New file.
13048 * omp_lib.f90.in: New file.
13049 * fortran.c: New file.
13050 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13051 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13052 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13053 libgfortran has been built.
13054 * testsuite/libgomp.fortran/fortran.exp: New file.
13055 * testsuite/libgomp.fortran/omp_cond1.f: New test.
13056 * testsuite/libgomp.fortran/omp_cond2.f: New test.
13057 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13058 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13059 * testsuite/libgomp.fortran/omp_hello.f: New test.
13060 * testsuite/libgomp.fortran/omp_orphan.f: New test.
13061 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13062 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13063 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13064 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13065 * testsuite/libgomp.fortran/omp_reduction.f: New test.
13066 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13067 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13068
130692005-08-30 Richard Henderson <rth@redhat.com>
13070
13071 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13072 function for when aliases are not usable.
13073 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13074 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13075 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13076 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13077 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13078 GOMP_loop_ordered_guided_next): Likewise.
13079 * ordered.c (GOMP_ordered_start): Likewise.
13080
130812005-08-01 Diego Novillo <dnovillo@redhat.com>
13082
13083 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13084 * testsuite/libgomp.dg/omp_hello.c: Fix return code
13085 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13086 * testsuite/libgomp.dg/omp_orphan.c: Likewise
13087 * testsuite/libgomp.dg/omp_reduction.c: Likewise
13088 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13089 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13090 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13091 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13092
130932005-07-07 Eric Christopher <echristo@redhat.com>
13094 Diego Novillo <dnovillo@redhat.com>
13095
13096 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13097 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13098 up code.
13099 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13100 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13101 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13102 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13103 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13104 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13105 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13106
131072005-06-13 Diego Novillo <dnovillo@redhat.com>
13108
13109 * TOPLEVEL.patch: Remove.
13110
131112005-05-16 Richard Henderson <rth@redhat.com>
13112
13113 * configure.ac: Test for clock_gettime.
13114 * config.h.in, configure: Rebuild.
13115 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13116 (omp_get_wtime): Use clock_gettime if available.
13117 (omp_get_wtick): Use clock_getres if available.
13118
131192005-05-11 Richard Henderson <rth@redhat.com>
13120
13121 * config/linux/ia64/futex.h: New file.
13122 * configure.tgt: Use it.
13123
13124 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13125
131262005-05-07 Richard Henderson <rth@redhat.com>
13127
13128 * config/linux/powerpc/futex.h: New file.
13129 * configure.tgt: Use it.
13130
13131 * config/linux/i486/futex.h: Merge ...
13132 * config/linux/x86_64/futex.h: ... into ...
13133 * config/linux/x86/futex.h: ... here.
13134 * configure.tgt: Update to match.
13135
131362005-05-06 Richard Henderson <rth@redhat.com>
13137
13138 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13139 * config/linux/i486/futex.h: Likewise.
13140 * config/linux/x86_64/futex.h: Likewise.
13141
13142 * config/linux/lock.c: New file.
13143 * config/linux/omp-lock.h: New file.
13144
13145 * critical.c, env.h: Don't include omp.h
13146 * config/posix/lock.c: Include libgomp.h instead of omp.h.
13147 * config/posix/time.c: Likewise.
13148 * config/posix/omp-lock.h: New file.
13149 * libgomp.h: Include omp-lock.h and omp.h.
13150 * Makefile.am (nodist_include_HEADERS): New.
13151 (omp.h): New rule.
13152 * configure.ac (PERL): New.
13153 * mkomp_h.pl: New file.
13154 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13155 with templates.
13156 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13157
13158 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13159 build directory. Re-add -march=i486 hack.
13160
13161 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13162 (libgomp_link_flags): Remove.
13163 (libgomp_initialized): Remove.
13164 (libgomp_init): Don't protect from reinitialization. Copy code
13165 from libstdc++ for getting the multilib set correctly.
13166
131672005-05-05 Richard Henderson <rth@redhat.com>
13168
13169 * config/linux/alpha/futex.h: New file.
13170 * configure.tgt (alpha*-*-linux*): Use it.
13171
13172 * config/posix/mutex.c: New file.
13173 * config/posix/sem.c: Use libgomp.h.
13174
13175 * configure.tgt (x86_64-linux): Also test CC for -m32.
13176 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13177
a1daed2d 13178 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
13179 after $gccpath.
13180
13181 * Makefile.am (SUBDIRS): New.
13182 (libgomp_la_LDFLAGS): Add -lpthread.
13183 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13184 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13185
13186 * libgomp_g.h: New file.
13187 * libgomp.h: Split out all public declarations to libgomp_g.h.
13188 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13189 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13190 * config/linux/sem.h: Likewise.
13191 * config/posix/sem.h: Likewise.
13192
13193 * Makefile.am (AM_LDFLAGS): New.
13194 (libgomp_version_script): Split out from ...
13195 (libgomp_la_LDFLAGS): ... here.
13196 (libgomp_version_info): New.
13197 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13198 (LIBGOMP_ENABLE): New.
13199 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13200 (LIBGOMP_ENABLE_SYMVERS): New.
13201 * configure.ac (AC_INIT): Version 1.0.
13202 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13203 (enable-linux-futex): Likewise. Rename from enable-futex.
13204 (libtool_VERSION): New.
13205 (LIBGOMP_ENABLE_SYMVERS): Use it.
13206 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13207 * Makefile.in, aclocal.m4, configure: Rebuild.
13208
13209 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13210 (gomp_mutex_unlock_slow): Fix typo.
13211 * config/linux/sem.c: Similarly.
13212 (gomp_sem_post_slow): Fix typo.
13213 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13214 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13215 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13216
13217 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13218 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13219 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13220 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13221 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13222 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13223 LDFLAGS. Pull enable_futex check to top-level.
13224 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13225 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13226
13227 First attempt at real configury.
13228 * Makefile, config.h: Remove file.
13229 * Makefile.am, Makefile.in: New file.
13230 * acinclude.m4 aclocal.m4: New file.
13231 * configure.ac, configure.tgt, configure: New file.
13232
13233 * config/posix/lock.c: Rename from sys-lock.c.
13234 * config/posix/mutex.h: Rename from sys-mutex.h.
13235 * config/posix/sem.c: Rename from sys-sem.c.
13236 * config/posix/sem.h: Rename from sys-sem.h.
13237 * config/posix/proc.c: Rename from sys-proc.c.
13238 * config/posix/time.c: Rename from sys-proc.c.
13239
13240 * config/linux/mutex.c: New file.
13241 * config/linux/mutex.h: New file.
13242 * config/linux/sem.c: New file.
13243 * config/linux/sem.h: New file.
13244 * config/linux/i486/futex.h: New file.
13245 * config/linux/x86_64/futex.h: New file.
13246
132472005-05-04 Richard Henderson <rth@redhat.com>
13248
13249 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13250 * libgomp.h: Declare them.
13251 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13252 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13253
132542005-05-04 Richard Henderson <rth@redhat.com>
13255
13256 * libgomp-1 code drop
13257
132582005-05-04 Richard Henderson <rth@redhat.com>
13259
13260 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13261 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13262 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13263 (gomp_iter_static_next): Update.
13264 (gomp_ordered_static_next): Update.
13265 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13266 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13267 totally empty range.
13268 (gomp_loop_ordered_static_next): Refine test for calling
13269 gomp_ordered_static_next.
13270 * testsuite/ordered-1.c: Add case for more threads than iterations.
13271
13272 * iter.c (gomp_iter_runtime_next_locked): Remove.
13273 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 13274 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
13275 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13276 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13277 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13278 gomp_loop_ordered_guided_next): Downcase name, make static, add
13279 an external alias with the old name.
13280 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13281 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13282 switch and call one of the above static functions.
13283 * libgomp.h: Update.
13284
13285 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13286 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13287 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13288 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13289 GOMP_loop_ordered_guided_start): Update to match.
13290 * sections.c (GOMP_sections_start): Likewise.
13291 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13292
13293 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13294 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13295 Use bounds check instead of modulus.
13296 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13297 (gomp_ordered_last): Don't sync with ordered_owner here.
13298 (gomp_ordered_next): Likewise.
13299 (gomp_ordered_static_loop_next): Likewise.
13300 * loop.c, libgomp.h: Update to match.
13301
13302 * libgomp.h (GOMP_barrier): Declare.
13303
13304 * testsuite/barrier-1.c: New file.
13305 * testsuite/critical-1.c: New file.
13306 * testsuite/ordered-2.c: New file.
13307 * testsuite/ordered-1.c: New file.
13308 * testsuite/sections-1.c: New file.
13309 * testsuite/single-1.c: New file.
13310 * testsuite/Makefile (TESTS): Add them.
13311
133122005-05-04 Richard Henderson <rth@redhat.com>
13313
13314 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13315 * loop.c (GOMP_loop_static_start): If not the startup thread,
13316 acquire the mutex to wait for initialization complete.
13317 (GOMP_loop_ordered_static_start): Likewise.
13318 (GOMP_loop_ordered_runtime_start): Likewise.
13319 (GOMP_loop_ordered_static_first): Remove.
13320 (GOMP_loop_ordered_dynamic_first): Remove.
13321 (GOMP_loop_ordered_guided_first): Remove.
13322 (GOMP_loop_ordered_runtime_first): Remove.
13323 * ordered.c (gomp_ordered_loop_first): Post to own release when
13324 we're the first thread.
13325 (gomp_ordered_loop_last): Wait on release if not owner.
13326 (gomp_ordered_loop_next): Likewise.
13327 (gomp_ordered_static_loop_init): New.
13328 (gomp_ordered_static_loop_next): Use ordered_owner.
13329 (GOMP_ordered_start): Likewise.
13330 * work.c (gomp_new_work_share): Initialize ordered_owner.
13331
133322005-05-03 Richard Henderson <rth@redhat.com>
13333
13334 * Makefile (OPT): New.
13335 (CFLAGS): Use it.
13336
13337 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13338 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13339 * libgomp.h, libgomp.map, NOTES: Update to match.
13340
13341 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13342 Add initialized and thr members.
13343 (gomp_thread_start): Pause when initially spawned to wait for
13344 the whole team to be created.
13345 (gomp_team_start): Release team members at the end.
13346
13347 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13348 (f_foo_1): Use GOMP_loop_end.
13349 (f_foo_2): Use GOMP_loop_end_nowait.
13350
13351 * testsuite/loop-2.c: New file.
13352 * testsuite/Makefile (TESTS): Add it.
13353
133542005-05-03 Richard Henderson <rth@redhat.com>
13355
13356 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13357 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13358 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13359 initial work_share.
13360
13361 * testsuite/Makefile: New file.
13362 * testsuite/loop-1.c: New file.
13363
133642005-05-03 Richard Henderson <rth@redhat.com>
13365
13366 Initial implementation and checkin.
21fa2a29 13367\f
8d9254fc 13368Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
13369
13370Copying and distribution of this file, with or without modification,
13371are permitted in any medium without royalty provided the copyright
13372notice and this notice are preserved.