]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Linux/i386: Remove SUBTARGET_FRAME_POINTER_REQUIRED
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
4543acc8
GA
12020-06-23 Alexandre Oliva <oliva@adacore.com>
2
3 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
4 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
5
605a8f3b
GA
62020-06-22 David Edelsohn <dje.gcc@gmail.com>
7
8 * Makefile.am: Use -include.
9 * Makefile.in: Regenerate.
10
f86e11a2
GA
112020-06-21 David Edelsohn <dje.gcc@gmail.com>
12
13 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
14 * Makefile.in: Regenerate
15 * configure.ac (tmake_file): Substitute.
16 * configure: Regenerate.
17 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
18 * config/t-aix: New file.
19
aff95ee7
GA
202020-06-17 Thomas Schwinge <thomas@codesourcery.com>
21
22 PR lto/94848
23 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
24 'dg-do run'.
25
262020-06-17 Andrew Stubbs <ams@codesourcery.com>
27
28 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
29 variant for HSA_RUNTIME_LIB name.
30 (find_executable_symbol_1): Delete.
31 (find_executable_symbol): Delete.
32 (init_kernel_properties): Add ".kd" suffix to symbol names.
33 (find_load_offset): Delete.
34 (create_and_finalize_hsa_program): Remove relocation handling.
35
56638b9b
GA
362020-06-16 Tobias Burnus <tobias@codesourcery.com>
37
38 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
39
2c455ae0
GA
402020-06-08 Tobias Burnus <tobias@codesourcery.com>
41
42 PR lto/94848
43 PR middle-end/95551
44 * testsuite/libgomp.fortran/target-var.f90: New test.
45
1a59f3db
GA
462020-06-05 Thomas Schwinge <thomas@codesourcery.com>
47 Julian Brown <julian@codesourcery.com>
48
49 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
50 special handling.
51
522020-06-05 Thomas Schwinge <thomas@codesourcery.com>
53 Julian Brown <julian@codesourcery.com>
54
55 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
56 Simplify.
57
582020-06-05 Julian Brown <julian@codesourcery.com>
59
60 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
61 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
62
3add3425
GA
632020-06-04 Thomas Schwinge <thomas@codesourcery.com>
64
65 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
66 Evaluate 'copyfrom' individually for each entry.
67 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
68
692020-06-04 Thomas Schwinge <thomas@codesourcery.com>
70
71 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
72 Evaluate 'finalize' individually for each entry.
73 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
74 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
75 file.
76
772020-06-04 Thomas Schwinge <thomas@codesourcery.com>
78
79 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
80 usage.
81 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
82
832020-06-04 Thomas Schwinge <thomas@codesourcery.com>
84 Julian Brown <julian@codesourcery.com>
85
86 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
87 checking.
88 (acc_unmap_data, goacc_exit_data_internal): Restore
89 'is_tgt_unmapped' checking.
90 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
91 file.
92 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
93 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
94 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
95 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
96 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
97 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
98
992020-06-04 Thomas Schwinge <thomas@codesourcery.com>
100 Julian Brown <julian@codesourcery.com>
101
102 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
103
1042020-06-04 Thomas Schwinge <thomas@codesourcery.com>
105
106 PR libgomp/92854
107 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
108
1092020-06-04 Thomas Schwinge <thomas@codesourcery.com>
110
111 PR libgomp/92854
112 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
113 more.
114
1152020-06-04 Thomas Schwinge <thomas@codesourcery.com>
116 Julian Brown <julian@codesourcery.com>
117
118 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
119 'gomp_map_vars'.
120 (acc_map_data): Clean up accordingly.
121
1222020-06-04 Thomas Schwinge <thomas@codesourcery.com>
123
124 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
125 of over-eager 'finalize' clause.
126 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
127 file.
128 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
129 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
130 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
131 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
132 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
133 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
134 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
135 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
136
1372020-06-04 Thomas Schwinge <thomas@codesourcery.com>
138
139 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
140
1412020-06-04 Julian Brown <julian@codesourcery.com>
142
143 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
144 error path.
145 (goacc_detach_internal): Likewise.
146
1472020-06-04 Thomas Schwinge <thomas@codesourcery.com>
148
149 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
150 the checkpoint.
151 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
152 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
153 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
154 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
155 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
156
a9312a79
GA
1572020-06-02 Jakub Jelinek <jakub@redhat.com>
158
159 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
160 defined.
161
945b53cc
GA
1622020-05-30 Jakub Jelinek <jakub@redhat.com>
163
164 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
165
1662020-05-30 Jakub Jelinek <jakub@redhat.com>
167
168 * allocator.c (omp_alloc): For size == 0, return NULL early.
169
885ef72f
GA
1702020-05-29 H.J. Lu <hjl.tools@gmail.com>
171
172 PR bootstrap/95413
173 * configure: Regenerated.
174
8df7ee67
TK
1752020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
176
177 PR libfortran/95191
178 * testsuite/libgomp.fortran/async_io_9.f90: New test.
179
800bcc8c
JJ
1802020-05-19 Jakub Jelinek <jakub@redhat.com>
181
182 * omp.h.in (omp_uintptr_t): New typedef.
183 (__GOMP_UINTPTR_T_ENUM): Define.
184 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
185 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
186 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
187 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
188 omp_get_default_allocator, omp_alloc, omp_free): Declare.
189 * libgomp.h (struct gomp_team_state): Add def_allocator field.
190 (gomp_def_allocator): Declare.
191 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
192 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
193 omp_alloc and omp_free.
194 * team.c (gomp_team_start): Copy over ts.def_allocator.
195 * env.c (gomp_def_allocator): New variable.
196 (parse_wait_policy): Adjust function comment.
197 (parse_allocator): New function.
198 (handle_omp_display_env): Print OMP_ALLOCATOR.
199 (initialize_env): Call parse_allocator.
200 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
201 * allocator.c: New file.
202 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
203 functions.
204 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
205 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
206 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
207 * Makefile.in: Regenerated.
208
4c1a5d8b
L
2092020-05-15 H.J. Lu <hongjiu.lu@intel.com>
210
211 PR bootstrap/95147
212 * configure: Regenerated.
213
cdc34b50
TK
2142020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
215
216 PR libfortran/95119
217 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
218
2192020-05-14 H.J. Lu <hongjiu.lu@intel.com>
220
221 * configure: Regenerated.
222
2232020-05-14 Jakub Jelinek <jakub@redhat.com>
224
225 * testsuite/libgomp.c-c++-common/target-40.c: New test.
226
f884bef2
TB
2272020-05-13 Tobias Burnus <tobias@codesourcery.com>
228
229 PR fortran/94690
230 * testsuite/libgomp.fortran/pr66199-3.f90: New.
231 * testsuite/libgomp.fortran/pr66199-4.f90: New.
232 * testsuite/libgomp.fortran/pr66199-5.f90: New.
233 * testsuite/libgomp.fortran/pr66199-6.f90: New.
234 * testsuite/libgomp.fortran/pr66199-7.f90: New.
235 * testsuite/libgomp.fortran/pr66199-8.f90: New.
236 * testsuite/libgomp.fortran/pr66199-9.f90: New.
237
dc703151
JJ
2382020-05-12 Jakub Jelinek <jakub@redhat.com>
239
240 * testsuite/libgomp.c/target-39.c: New test.
241
b9dc11b6
TS
2422020-04-29 Thomas Schwinge <thomas@codesourcery.com>
243
a5d0bc12
TS
244 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
245 * openacc.f90 (acc_device_current): Likewise.
246 * openacc.h (acc_device_current): Likewise.
247 * openacc_lib.h (acc_device_current): Likewise.
248
7f198924
TS
249 PR target/94282
250 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
251 'dg-allow-blank-lines-in-output'.
252
4912a04f
TS
253 * oacc-init.c (get_openacc_name): Handle 'gcn'.
254 * testsuite/lib/libgomp.exp
255 (offload_target_to_openacc_device_type) [amdgcn*]: Return
256 'radeon'. Adjust all users.
257 (check_effective_target_openacc_amdgcn_accel_present): Rename
258 to...
259 (check_effective_target_openacc_radeon_accel_present): ... this.
260 Adjust all users.
261 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
262 (check_effective_target_openacc_radeon_accel_selected): ... this.
263 Adjust all users.
264
b9dc11b6
TS
265 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
266 'dg-do run'.
267
966de09b
AS
2682020-04-23 Andrew Stubbs <ams@codesourcery.com>
269
270 PR other/94629
271
272 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
273 hsa_iterate_agents.
274 (GOMP_OFFLOAD_init_device): Check return values from both calls to
275 hsa_agent_iterate_regions.
276
3f5d94c1
TS
2772020-04-20 Thomas Schwinge <thomas@codesourcery.com>
278
279 PR middle-end/94635
280 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
281 run'.
282
85d8c05a
TB
2832020-04-20 Tobias Burnus <tobias@codesourcery.com>
284
285 PR middle-end/94120
286 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
287 test case.
288
af557050
TB
2892020-04-17 Tobias Burnus <tobias@codesourcery.com>
290
291 PR middle-end/94635
292 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
293
af4c9257
TS
2942020-04-13 Thomas Schwinge <thomas@codesourcery.com>
295
296 PR libgomp/92843
297 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
298 Rename to...
299 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
300 ... this.
301 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
302 Rename to...
303 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
304 ... this.
305 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
306 Rename to...
307 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
308 ... this.
309 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
310 Rename to...
311 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
312 ... this.
313 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
314 Rename to...
315 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
316 ... this.
317 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
318 Rename to...
319 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
320 ... this.
321 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
322 Rename to...
323 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
324 ... this.
325 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
326 Rename to...
327 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
328 ... this.
329 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
330 Rename to...
331 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
332 ... this.
333 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
334 Rename to...
335 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
336 ... this.
337 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
338 Rename to...
339 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
340 ... this.
341 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
342 Rename to...
343 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
344 ... this.
345 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
346 Rename to...
347 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
348 ... this.
349 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
350 Rename to...
351 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
352 ... this.
353 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
354 Rename to...
355 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
356 ... this.
357 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
358 Rename to...
359 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
360 ... this.
361
be9862dd
JB
3622020-04-10 Julian Brown <julian@codesourcery.com>
363 Thomas Schwinge <thomas@codesourcery.com>
364
365 PR libgomp/92843
366 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
367 New file.
368 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
369 Likewise.
370 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
371 Likewise.
372 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
373 Likewise.
374 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
375 Likewise.
376 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
377 Likewise.
378 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
379 Likewise.
380 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
381 Likewise.
382 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
383 Likewise.
384 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
385 Likewise.
386 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
387 Likewise.
388 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
389 Likewise.
390 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
391 Likewise.
392 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
393 Likewise.
394 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
395 Likewise.
396 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
397 Likewise.
398
6b816a5f
TS
3992020-04-10 Thomas Schwinge <thomas@codesourcery.com>
400
401 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
402 run'.
403
13e41d8b
TB
4042020-04-08 Tobias Burnus <tobias@codesourcery.com>
405
406 PR middle-end/94120
407 * libgomp.oacc-c++/declare-pr94120.C: New.
408
749bd22d
MR
4092020-04-06 Maciej W. Rozycki <macro@wdc.com>
410
411 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
412 files.
413 * configure: Regenerate.
414 * testsuite/libgomp-site-extra.exp.in: New file.
415 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
416 variable.
417 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
418 variable.
419 * testsuite/Makefile.in: Regenerate.
420
2b1e849b
TS
4212020-04-03 Thomas Schwinge <thomas@codesourcery.com>
422
423 PR tree-optimization/89713
424 PR c/94392
425 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
426 'bar.sync'.
427 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
428
689418b9
TB
4292020-03-31 Tobias Burnus <tobias@codesourcery.com>
430
431 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
432 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
433
c2211a60
TB
4342020-03-24 Tobias Burnus <tobias@codesourcery.com>
435
436 PR libgomp/81689
437 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
438
4897bb00
TB
4392020-03-20 Tobias Burnus <tobias@codesourcery.com>
440
441 PR libgomp/94251
442 * target.c (gomp_load_image_to_device): Fix link
443 variable handling.
444
02f7334a
JJ
4452020-03-19 Jakub Jelinek <jakub@redhat.com>
446
447 PR c++/93931
448 * testsuite/libgomp.c++/pr93931.C: New test.
449
bb83e069
TB
4502020-03-19 Tobias Burnus <tobias@codesourcery.com>
451
452 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
453 dg-allow-blank-lines-in-output.
454
26cbcfe5
TB
4552020-03-18 Julian Brown <julian@codesourcery.com>
456 Tobias Burnus <tobias@codesourcery.com>
457
458 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
459 it work concurrently.
460
4da92887
TB
4612020-03-18 Tobias Burnus <tobias@codesourcery.com>
462
463 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
464 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
465 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
466
9c3cdb43
JJ
4672020-03-14 Jakub Jelinek <jakub@redhat.com>
468
469 PR middle-end/93566
470 * testsuite/libgomp.c/pr93566.c: New test.
471
83d45e1d
FH
4722020-02-21 Frederik Harwath <frederik@codesourcery.com>
473
474 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
475 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
476 integer(acc_device_property) for the type of the return value of
477 acc_get_property.
478
8d1a1cb1
TB
4792020-02-19 Tobias Burnus <tobias@codesourcery.com>
480
481 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
482 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
483 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
484 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
485 (acc_set_device_num): Fix Fortran argument name, use same name for C.
486 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
487 corrections; add note about the previous interface and named constant.
488 (OpenACC library and environment variables): Fix two typos.
489 * openacc.f90: Use for all procedures the argument names from the spec
490 as for …_h they are user visible.
491 (openacc_kinds): Rename acc_device_property to
492 acc_device_property_kinds and change value to int32 ; and update users.
493 Re-add acc_device_property for for backward compatibility.
494 (acc_get_property_string_h): Clean up as acc_device_property_kind
495 changed.
496 (acc_get_property_h): Likewise and return c_size_t instead of
497 acc_device_property.
498 (openacc): Also export acc_device_property_kinds.
499 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
500 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
501 handling; check against /= 0 instead of == 1 to match C.
502 * openacc_lib.h: Use for all procedures the argument names from the spec
503 as for …_h they are user visible. Place !GCC$ into the first column to
504 be active also for fixed-form souce form.
505 (acc_device_current, acc_device_property_kind, acc_device_property,
506 acc_property_memory, acc_property_free_memory, acc_property_name,
507 acc_property_vendor, acc_property_driver): New named constants.
508 (acc_get_property, acc_get_property_string): New generic interface.
509
2d9eb4e4
FH
5102020-02-13 Frederik Harwath <frederik@codesourcery.com>
511
512 PR libgomp/93481
513 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
514 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
515 optional.
516 (gomp_target_task_fn): Assert "devicep->async_run_func".
517 (clear_unsupported_flags): New function to remove unsupported flags
518 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
519 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
520 * testsuite/libgomp.c/target-33.c:
521 Remove xfail for offload_target_nvptx.
522 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
523
5242020-02-10 Frederik Harwath <frederik@codesourcery.com>
525
526 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
527 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
528 * testsuite/libgomp.c/target-34.c: Likewise.
529 * testsuite/libgomp.c/target-link-1.c: Add xfail for
530 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
531
9bc3b95d
JJ
5322020-02-09 Jakub Jelinek <jakub@redhat.com>
533
534 * testsuite/libgomp.c/target-38.c: New test.
535
cb3f0648
JJ
5362020-02-06 Jakub Jelinek <jakub@redhat.com>
537
538 PR libgomp/93515
539 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
540
91bc3c98
TB
5412020-02-05 Tobias Burnus <tobias@codesourcery.com>
542
543 * testsuite/lib/libgomp.exp
544 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
545 and not as 'source' argument to libgomp_target_compile.
546
591f869a
AS
5472020-02-03 Andrew Stubbs <ams@codesourcery.com>
548
549 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
550 (gcn_gfx801_s): Remove.
551 (isa_hsa_name): Remove gfx801.
552 (isa_gcc_name): Remove gfx801/carizzo.
553 (isa_code): Remove gfx801.
554
e464fc90
TB
5552020-02-03 Julian Brown <julian@codesourcery.com>
556 Tobias Burnus <tobias@codesourcery.com>
557
558 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
559 and *_finalize variants; document acc_attach and acc_detach; update
560 references from OpenACC 2.0 to 2.6.
561 * openacc.f90 (openacc_version): Update to 201711.
562 * openacc_lib.h (openacc_version): Update to 201711.
563 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
564 openacc_version to 201711.
565 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
566
5a28e272
KCY
5672020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
568
569 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
570 and vgpr_count fields.
571 (struct kernel_info): Add a field for a hsa_kernel_description.
572 (run_kernel): Reduce the number of threads/workers if the requested
573 number would require too many VGPRs.
574 (init_basic_kernel_info): Initialize description field with
575 the hsa_kernel_description entry for the kernel.
576
5ab5d81b
TB
5772020-01-29 Tobias Burnus <tobias@codesourcery.com>
578
579 PR bootstrap/93409
580 * plugin/configfrag.ac (enable_offload_targets): Skip
581 HSA and GCN plugin besides -m32 also for -mx32.
582 * configure: Regenerate.
583
989a5fb3
FH
5842020-01-29 Frederik Harwath <frederik@codesourcery.com>
585
586 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
587
5882020-01-29 Frederik Harwath <frederik@codesourcery.com>
589
590 * plugin-gcn.c (struct agent_info): Add fields "name" and
591 "vendor_name" ...
592 (GOMP_OFFLOAD_init_device): ... and init from here.
593 (struct hsa_context_info): Add field "driver_version_s" ...
594 (init_hsa_contest): ... and init from here.
595 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
596 implementation.
597 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
598 Enable test execution for amdgcn and host offloading targets.
599 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
600 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
601 (expect_device_properties): Split function into ...
602 (expect_device_string_properties): ... this new function ...
603 (expect_device_memory): ... and this new function.
604 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
605 Add test.
606
278c3214
JB
6072020-01-28 Julian Brown <julian@codesourcery.com>
608
609 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
610 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
611 component/non-component variable refs in a single directive.
612 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
613
e8e66971
MR
6142020-01-24 Maciej W. Rozycki <macro@wdc.com>
615
616 * configure.ac: Handle `--with-toolexeclibdir='.
617 * Makefile.in: Regenerate.
618 * aclocal.m4: Regenerate.
619 * configure: Regenerate.
620 * testsuite/Makefile.in: Regenerate.
621
9e424d97
FH
6222020-01-24 Frederik Harwath <frederik@codesourcery.com>
623
624 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
625 (expect_device_properties): Remove "expected_free_mem" argument,
626 change "expected_total_mem" argument type to size_t;
627 change types of acc_get_property results to size_t,
628 adapt format strings.
629 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
630 Use %zu instead of %zd to print size_t values.
631 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
632 rename to ...
633 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
634 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
635 rename to ...
636 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
637
14e5e746
AS
6382020-01-23 Andrew Stubbs <ams@codesourcery.com>
639
640 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
641 the device id.
642
09e0ad62
AS
6432020-01-20 Andrew Stubbs <ams@codesourcery.com>
644
645 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
646 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
647 Adjust test dimensions for amdgcn.
648 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
649 gang/worker/vector expectations dynamically.
650 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
651 (main): Likewise.
652 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
653 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
654 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
655 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
656 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
657 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
658 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
659 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
660 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
661 (acc_gang): Recognise acc_device_radeon.
662 (acc_worker): Likewise.
663 (acc_vector): Likewise.
664 (main): Set expectations for amdgcn.
665 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
666 (main): Adjust gang/worker/vector expectations dynamically.
667 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
668 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
669 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
670 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
671 for amdgcn.
672
6687d13a
AS
6732020-01-17 Andrew Stubbs <ams@codesourcery.com>
674
675 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
676 acc_device_radeon.
677 (openacc): Likewise.
678 * openacc.f90 (openacc_kinds): Likewise.
679 (openacc): Likewise.
680 * openacc.h (acc_device_t): Likewise.
681 * openacc_lib.h: Likewise.
682 * testsuite/lib/libgomp.exp
683 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
684 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
685 (cb_compute_construct_end): Likewise.
686 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
687 (cb_enqueue_launch_start): Likewise.
688 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
689 (cb_enter_data_end): Likewise.
690 (cb_exit_data_start): Likewise.
691 (cb_exit_data_end): Likewise.
692 (cb_compute_construct_end): Likewise.
693 (cb_enqueue_launch_start): Likewise.
694 (cb_enqueue_launch_end): Likewise.
695 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
696 (main): Likewise.
697
b3b75e66
TS
6982020-01-10 Thomas Schwinge <thomas@codesourcery.com>
699
6fc0385c
TS
700 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
701 to use this instead of 'enum gomp_device_property'.
702 (GOMP_OFFLOAD_get_property): Rename to...
703 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
704 * libgomp.h (struct gomp_device_descr): Move
705 'GOMP_OFFLOAD_openacc_get_property'...
706 (struct acc_dispatch_t): ... here. Adjust all users.
707 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
708
b3b75e66
TS
709 * target.c (gomp_map_vars_internal)
710 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
711 paths.
712
91df4397
JJ
7132020-01-10 Jakub Jelinek <jakub@redhat.com>
714
715 PR libgomp/93219
716 * libgomp.h (gomp_print_string): Change return type from void to int.
717 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
718 not all characters have been written.
719
df2c0d36
TB
7202020-01-08 Tobias Burnus <tobias@codesourcery.com>
721
722 * libgomp.texi: Fix typos, use https.
723
f760c0c7
TB
7242020-01-03 Tobias Burnus <tobias@codesourcery.com>
725
726 * testsuite/libgomp.fortran/optional-map.f90: Add test for
727 unallocated/disassociated actual arguments to nonallocatable/nonpointer
728 dummy arguments; those are/shall be regarded as absent arguments.
729 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
730 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
731
7e7065b9
JJ
7322020-01-01 Jakub Jelinek <jakub@redhat.com>
733
8d9254fc
JJ
734 Update copyright years.
735
7e7065b9
JJ
736 * libgomp.texi: Bump @copying's copyright year.
737
2c829799
AM
7382019-12-31 Ayush Mittal <ayush.m@samsung.com>
739
740 PR libgomp/93065
741 * oacc-init.c (goacc_runtime_deinitialize): New function.
742
e9dcb75e
JJ
7432019-12-28 Jakub Jelinek <jakub@redhat.com>
744
745 PR bootstrap/93074
746 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
747 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
748
6c84c8bf
MR
7492019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
750 Frederik Harwath <frederik@codesourcery.com>
751 Thomas Schwinge <tschwinge@codesourcery.com>
752
753 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
754 * libgomp-plugin.h (gomp_device_property_value): New union.
755 (gomp_device_property_value): New prototype.
756 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
757 constant.
758 (acc_device_property_t): New enum.
759 (acc_get_property, acc_get_property_string): New prototypes.
760 * oacc-init.c (acc_get_device_type): Also assert that result
761 is not `acc_device_current'.
762 (get_property_any, acc_get_property, acc_get_property_string):
763 New functions.
764 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
765 `acc_property_memory', `acc_property_free_memory',
766 `acc_property_name', `acc_property_vendor' and
767 `acc_property_driver' constants. Add `acc_device_property' data
768 type.
769 (openacc_internal): Add `acc_get_property' and
770 `acc_get_property_string' interfaces. Add `acc_get_property_h',
771 `acc_get_property_string_h', `acc_get_property_l' and
772 `acc_get_property_string_l'.
773 * oacc-host.c (host_get_property): New function.
774 (host_dispatch): Wire it.
775 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
776 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
777 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
778 * libgomp.texi (OpenACC Runtime Library Routines): Add
779 `acc_get_property'.
780 (acc_get_property): New node.
781 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
782 function (stub).
783 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
784 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
785 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
786 calls.
787 (GOMP_OFFLOAD_get_property): New function.
788 (struct ptx_device): Add new field "name".
789 (cuda_driver_version_s): Add new static variable ...
790 (nvptx_init): ... and init from here.
791
792 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
793 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
794 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
795 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
796 with test helper functions.
797
798 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
799
c8e759b4
MR
8002019-12-22 Maciej W. Rozycki <macro@wdc.com>
801
802 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
803 variable.
804
b092fb3b
TS
8052019-12-21 Thomas Schwinge <thomas@codesourcery.com>
806
807 * target.c (gomp_map_vars_internal): Restore 'omp declare target
808 link' handling.
809
9be3ac5d
JB
8102019-12-19 Julian Brown <julian@codesourcery.com>
811
812 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
813 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
814 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
815
02817027
JB
8162019-12-19 Julian Brown <julian@codesourcery.com>
817 Cesar Philippidis <cesar@codesourcery.com>
818
819 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
820 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
821 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
822 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
823 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
824 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
825 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
826 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
827 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
828 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
829 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
830 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
831 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
832
c2eb021f
JB
8332019-12-19 Julian Brown <julian@codesourcery.com>
834
835 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
836 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
837 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
838 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
839 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
840 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
841 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
842 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
843 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
844 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
845 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
846 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
847
8e7e71ff
JB
8482019-12-19 Julian Brown <julian@codesourcery.com>
849
850 * libgomp.h (struct target_var_desc): Add do_detach flag.
851 * oacc-init.c (acc_shutdown_1): Free aux block if present.
852 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
853 struct components. Tidy up and add some new checks.
854 (goacc_enter_data_internal): Update call to find_group_last.
855 (goacc_exit_data_internal): Support detach operations and
856 GOMP_MAP_STRUCT.
857 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
858 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
859 attach/detach in enter/exit data detection code.
860 * target.c (gomp_map_vars_existing): Initialise do_detach field of
861 tgt_var_desc.
862 (gomp_map_vars_internal): Support attach.
863 (gomp_unmap_vars_internal): Support detach.
864
5d5be7bf
JB
8652019-12-19 Julian Brown <julian@codesourcery.com>
866 Thomas Schwinge <thomas@codesourcery.com>
867
868 * libgomp.h (struct splay_tree_aux): Add attach_count field.
869 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
870 * libgomp.map (OACC_2.6): New section. Add acc_attach,
871 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
872 acc_detach_finalize_async.
873 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
874 acc_detach, acc_detach_async, acc_detach_finalize,
875 acc_detach_finalize_async): New functions.
876 * openacc.h (acc_attach, acc_attach_async, acc_detach,
877 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
878 prototypes.
879 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
880 (gomp_remove_var_internal): Free attachment counts if present.
881 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
882 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
883
5bcd470b
JB
8842019-12-19 Julian Brown <julian@codesourcery.com>
885 Cesar Philippidis <cesar@codesourcery.com>
886
887 * libgomp.h (gomp_map_val): Add prototype.
888 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
889 open-coding device-address calculation.
890 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
891 non-present case.
892
378da98f
JB
8932019-12-19 Julian Brown <julian@codesourcery.com>
894
895 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
896 field for virtual_refcount.
897 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
898 (gomp_free_memmap): Remove prototype.
899 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
900 instead of calling gomp_free_memmap.
901 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
902 dynamic_refcount.
903 (acc_unmap_data): Open code instead of forcing target_mem_desc's
904 to_free field to NULL then calling gomp_unmap_vars. Handle
905 REFCOUNT_INFINITY on target blocks.
906 (goacc_enter_data): Rename to...
907 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
908 handling for mapping groups. Use virtual_refcount instead of
909 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
910 map_map_vars_async call. Re-do lookup for target pointer return value.
911 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
912 renamed goacc_enter_datum function.
913 (goacc_exit_data): Rename to...
914 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
915 (acc_delete, acc_delete_async, acc_delete_finalize,
916 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
917 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
918 goacc_exit_datum function.
919 (gomp_acc_remove_pointer, find_pointer): Remove functions.
920 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
921 New functions.
922 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
923 goacc_exit_data_internal helper functions.
924 * target.c (gomp_map_vars_internal): Handle
925 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
926 semantics.
927 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
928 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
929 virtual_refcount field instead of dynamic_refcount.
930 (gomp_free_memmap): Remove function.
931 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
932 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
933 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
934
2a656a93
JB
9352019-12-19 Julian Brown <julian@codesourcery.com>
936 Thomas Schwinge <thomas@codesourcery.com>
937
938 * libgomp.h (struct splay_tree_aux): New.
939 (struct splay_tree_key_s): Replace link_key field with aux pointer.
940 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
941 to aux struct.
942 (gomp_remove_var_internal): Free aux block if present.
943 (gomp_load_image_to_device): Zero-initialise aux field instead of
944 link_key field.
945 (omp_target_associate_pointer): Zero-initialise aux field.
946
601399c0
JJ
9472019-12-18 Jakub Jelinek <jakub@redhat.com>
948
949 PR middle-end/86416
950 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
951 q or none.
952 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
953 L or none.
954
a6163563
JB
9552019-12-19 Julian Brown <julian@codesourcery.com>
956 Maciej W. Rozycki <macro@codesourcery.com>
957 Tobias Burnus <tobias@codesourcery.com>
958 Thomas Schwinge <thomas@codesourcery.com>
959
960 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
961 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
962 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
963 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
964 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
965 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
966 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
967 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
968 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
969
6278b549
TS
9702019-12-18 Thomas Schwinge <thomas@codesourcery.com>
971
77ce5555
TS
972 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
973 called...
974 (goacc_insert_pointer): ... from here, "present" case.
975 (goacc_insert_pointer): Inline function into...
976 (GOACC_enter_exit_data): ... here, and simplify.
977
9444a299
TS
978 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
979 called...
980 (goacc_insert_pointer): ... from here, "not present" case.
981
5031b619
TS
982 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
983 all users.
984
1a79b578
TS
985 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
986 'goacc_enter_data', 'goacc_exit_data'.
987
34cfe31e
TS
988 * oacc-mem.c (delete_copyout): Refactor into...
989 (goacc_exit_data): ... this. Adjust all users.
990
aaf0e9d7
TS
991 * oacc-mem.c (present_create_copy): Refactor into...
992 (goacc_enter_data): ... this. Adjust all users.
993
83d1d065
TS
994 * target.c (gomp_unmap_vars_internal): Add a safeguard to
995 'gomp_remove_var'.
996
cc3f11f5
TS
997 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
998 like 'GOMP_MAP_FROM'.
999
ddb25eb9
TS
1000 PR libgomp/92726
1001 PR libgomp/92970
1002 PR libgomp/92984
1003 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1004 fails.
1005 (GOACC_enter_exit_data): Simplify accordingly.
1006 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1007 subsuming...
1008 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1009 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1010 file.
1011 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1012 subsuming...
1013 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1014 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1015 file.
1016 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1017 subsuming...
1018 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1019
32128577
TS
1020 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1021 'finalize' handling.
1022
ba40277f
TS
1023 PR libgomp/92848
1024 * oacc-mem.c (acc_map_data, present_create_copy)
1025 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1026 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1027 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1028 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1029 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1030 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1031 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1032 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1033 Remove "XFAIL"s.
1034
6278b549
TS
1035 * target.c (gomp_unmap_tgt): Make it 'static'.
1036 * libgomp.h (gomp_unmap_tgt): Remove.
1037
c80c9e26
TB
10382019-12-18 Tobias Burnus <tobias@codesourcery.com>
1039
1040 PR middle-end/86416
1041 * testsuite/libgomp.c/pr86416-1.c: New.
1042 * testsuite/libgomp.c/pr86416-2.c: New.
1043
0b8499a4
TB
10442019-12-17 Tobias Burnus <tobias@codesourcery.com>
1045
1046 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1047 all symbols as public except for the 'use …, only' imported symbol,
1048 which is private.
1049 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1050 all symbols from module openacc_kinds as PUBLIC
1051 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1052 fix comment typo.
1053 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1054
1cbd94e8
JB
10552019-12-13 Julian Brown <julian@codesourcery.com>
1056
1057 PR libgomp/92881
1058
1059 * libgomp.h (gomp_remove_var_async): Add prototype.
1060 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1061 gomp_remove_var.
1062 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1063 whether target_mem_desc was unmapped.
1064 (gomp_unref_tgt_void): New.
1065 (gomp_remove_var): Reimplement in terms of...
1066 (gomp_remove_var_internal): ...this new helper function.
1067 (gomp_remove_var_async): New, implemented using above helper function.
1068 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1069 gomp_unref_tgt.
1070
26b74ed0
AS
10712019-12-13 Andrew Stubbs <ams@codesourcery.com>
1072
1073 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1074 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1075 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1076 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1077 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1078 Likewise.
1079 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1080 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1081
7858bb96
TB
10822019-12-13 Tobias Burnus <tobias@codesourcery.com>
1083
1084 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1085 as public except for the 'use …, only' imported symbol, which is
1086 private.
1087 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1088 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1089 attributes for acc_copyout_finalize and acc_delete_finalize.
1090
f8ac7d8f
JJ
10912019-12-11 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR fortran/92899
1094 * testsuite/libgomp.fortran/atomic1.f90: New test.
1095
3d1b5e71
TS
10962019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1097
d6e8c01c
TS
1098 PR libgomp/92843
1099 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1100 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1101 assertions.
1102 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1103 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1104 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1105 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1106 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1107
57963e39
TS
1108 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1109 * oacc-mem.c: ... here.
1110 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1111 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1112 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1113 Remove.
1114 * libgomp_g.h: Update.
1115
c5578b56
TS
1116 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1117 * oacc-async.c: ... here.
1118 * oacc-int.h (goacc_wait): Declare.
1119 * libgomp_g.h: Update
1120
3d1b5e71
TS
1121 PR libgomp/92854
1122 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1123 New file.
1124 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1125 Likewise.
1126 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1127 Likewise.
1128 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1129 Likewise.
1130 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1131 Likewise.
1132 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1133 Likewise.
1134
5e939438
TS
11352019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1136 Julian Brown <julian@codesourcery.com>
1137
1138 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1139 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1140
93d90219
TB
11412019-12-11 Tobias Burnus <tobias@codesourcery.com>
1142
1143 * omp_lib.h.in: Fix spelling of function declaration
1144 omp_get_cancell(l)ation.
1145 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1146 Fix typos.
1147 * env.c: Fix comment typos.
1148 * oacc-host.c: Likewise.
1149 * ordered.c: Likewise.
1150 * task.c: Likewise.
1151 * team.c: Likewise.
1152 * config/gcn/task.c: Likewise.
1153 * config/gcn/team.c: Likewise.
1154 * config/nvptx/task.c: Likewise.
1155 * config/nvptx/team.c: Likewise.
1156 * plugin/plugin-gcn.c: Likewise.
1157 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1158 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1159 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1160
a0221aee
TB
11612019-12-11 Tobias Burnus <tobias@codesourcery.com>
1162
1163 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1164 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1165 unnecessary 'dg-additional-options "-w"'.
1166
47afc7b4
TS
11672019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1168 Julian Brown <julian@codesourcery.com>
1169
1170 PR libgomp/92116
1171 PR libgomp/92877
1172
1173 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1174 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1175 Adjust all users.
1176 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1177 Remove XFAIL.
1178 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1179 Likewise.
1180 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1181
b5859e40
TS
11822019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1183
cec41816
TS
1184 PR libgomp/92503
1185 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1186 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1187 file.
1188 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1189 Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1191 Likewise.
1192 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1193 Likewise.
1194 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1195 Likewise.
1196 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1197 Likewise.
1198 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1199 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1200 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1201 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1202 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1203 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1204 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1205 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1206 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1207 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1208
e103542b
TS
1209 PR libgomp/92840
1210 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1211 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1212 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1213 New file.
1214 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1215 Likewise.
1216 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1217 Likewise.
1218 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1219 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1220
41f36f22
TS
1221 PR libgomp/92511
1222 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1223 this file...
1224 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1225 this file...
1226 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1227 file...
1228 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1229 file...
1230 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1231 ... with their content moved into, and extended in this new file.
1232 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1233 New file.
1234 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1235 Likewise.
1236 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1237 Likewise.
1238 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1239 Likewise.
1240
6effebe1
TS
1241 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1242
7d020473
TS
1243 PR libgomp/92854
1244 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1245
1e1fb715
TS
1246 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1247
b5859e40
TS
1248 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1249
11586ed9
TB
12502019-12-09 Tobias Burnus <tobias@codesourcery.com>
1251
1252 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1253 unique.
1254 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1255 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1256 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1257 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1258 Ditto.
1259 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1260 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1261
3ad4a03a
KCY
12622019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1263
1264 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1265
6e4d01d6
TB
12662019-12-06 Tobias Burnus <tobias@codesourcery.com>
1267 Kwok Cheung Yeung <kcy@codesourcery.com>
1268
1269 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1270 if input it a NULL pointer.
1271 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1272 diagnostic of NULL pointer.
1273 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1274 * testsuite/libgomp.fortran/optional-map.f90: New.
1275 * testsuite/libgomp.fortran/use_device_addr-1.f90
1276 (test_dummy_opt_callee_1_absent): New.
1277 (test_dummy_opt_call_1): Call it.
1278 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1279 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1280 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1281 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1282 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1283 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1284 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1285 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1286 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1287 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1288 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1289 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1290 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1291 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1292 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1293 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1294
ad80ec46
TB
12952019-12-05 Tobias Burnus <tobias@codesourcery.com>
1296
1297 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1298 expect dg-output of 'Error termination.' for GCN.
1299 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1300 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1301
a8a5f4cc
JJ
13022019-12-04 Jakub Jelinek <jakub@redhat.com>
1303
1304 PR fortran/92756
1305 * testsuite/libgomp.fortran/teams1.f90: New test.
1306 * testsuite/libgomp.fortran/teams2.f90: New test.
1307
d8f0024b
FH
13082019-12-03 Frederik Harwath <frederik@codesourcery.com>
1309
1310 * oacc-init.c (acc_known_device_type): Add function.
1311 (unknown_device_type_error): Add function.
1312 (name_of_acc_device_t): Change to call unknown_device_type_error
1313 on unknown type.
1314 (resolve_device): Use acc_known_device_type.
1315 (acc_init): Fail if acc_device_t argument is not valid.
1316 (acc_shutdown): Likewise.
1317 (acc_get_num_devices): Likewise.
1318 (acc_set_device_type): Likewise.
1319 (acc_get_device_num): Likewise.
1320 (acc_set_device_num): Likewise.
1321 (acc_on_device): Add comment that argument validity is not checked.
1322
83caa34e
AS
13232019-12-03 Andrew Stubbs <ams@codesourcery.com>
1324
1325 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1326 Recognize amdgcn.
1327 (check_effective_target_openacc_amdgcn_accel_present): New proc.
1328 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1329 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1330 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1331 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1332
00484365
SN
13332019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
1334
1335 PR libgomp/91938
1336 * configure.tgt: Avoid IE tls on *-*-musl*.
1337
9909a059
TB
13382019-11-29 Tobias Burnus <tobias@codesourcery.com>
1339
1340 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1341 adding a common-block test case.
1342
b3f44388
JJ
13432019-11-29 Jakub Jelinek <jakub@redhat.com>
1344
1345 PR c++/60228
1346 * testsuite/libgomp.c++/udr-20.C: New test.
1347 * testsuite/libgomp.c++/udr-21.C: New test.
1348
b1a73b48
TS
13492019-11-27 Thomas Schwinge <thomas@codesourcery.com>
1350
1351 * testsuite/lib/libgomp.exp
1352 (check_effective_target_offload_target_nvptx): New proc.
1353 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1354 'dg-skip-if'.
1355 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1356 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1357 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1358
b8e72446
RO
13592019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1360
1361 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1362 * testsuite/libgomp.c/pr39591-2.c: Likewise.
1363 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1364 * testsuite/libgomp.c/private-1.c: Likewise.
1365 * testsuite/libgomp.c/task-1.c: Likewise.
1366 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1367
d88b27da
JB
13682019-11-20 Julian Brown <julian@codesourcery.com>
1369
1370 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1371 aq->mutex here.
1372 (queue_push_launch): Lock aq->mutex before calling
1373 wait_for_queue_nonfull.
1374 (queue_push_callback): Likewise.
1375 (queue_push_asyncwait): Likewise.
1376 (queue_push_placeholder): Likewise.
1377
8d2f4ddf
JB
13782019-11-20 Julian Brown <julian@codesourcery.com>
1379
1380 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1381 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1382 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1383 return code.
1384
e307b05f
JB
13852019-11-20 Julian Brown <julian@codesourcery.com>
1386
1387 PR libgomp/92511
1388
1389 * oacc-mem.c (present_create_copy): Fix device pointer return value in
1390 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
1391 in non-present/create case.
1392 (delete_copyout): Change error condition to fail only on copies outside
1393 of mapped block. Adjust error message accordingly.
1394 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1395 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1396 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1397 message.
1398 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1399 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1400 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1401
83115e9e
MR
14022019-11-20 Maciej W. Rozycki <macro@wdc.com>
1403
1404 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1405 libatomic in build-tree testing.
1406
a1289887
MR
14072019-11-18 Maciej W. Rozycki <macro@wdc.com>
1408
1409 * testsuite/Makefile.in: Regenerate.
1410
8916ba87
AS
14112019-11-15 Andrew Stubbs <ams@codesourcery.com>
1412
1413 * testsuite/libgomp.c/target-print-1.c: New file.
1414 * testsuite/libgomp.fortran/target-print-1.f90: New file.
1415 * testsuite/libgomp.oacc-c/print-1.c: New file.
1416 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1417
237957cc
AS
14182019-11-13 Andrew Stubbs <ams@codesourcery.com>
1419 Kwok Cheung Yeung <kcy@codesourcery.com>
1420 Julian Brown <julian@codesourcery.com>
1421 Tom de Vries <tom@codesourcery.com>
1422
1423 * plugin/Makefrag.am: Add amdgcn plugin support.
1424 * plugin/configfrag.ac: Likewise.
1425 * plugin/plugin-gcn.c: New file.
1426 * configure: Regenerate.
1427 * Makefile.in: Regenerate.
1428 * testsuite/Makefile.in: Regenerate.
1429
cee16451
AS
14302019-11-13 Andrew Stubbs <ams@codesourcery.com>
1431
1432 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1433 and use team_malloc variants.
1434 (gomp_gcn_exit_kernel): Use team_free.
1435 * libgomp.h (TEAM_ARENA_SIZE): Define.
1436 (TEAM_ARENA_START): Define.
1437 (TEAM_ARENA_FREE): Define.
1438 (TEAM_ARENA_END): Define.
1439 (team_malloc): New function.
1440 (team_malloc_cleared): New function.
1441 (team_free): New function.
1442 * team.c (gomp_new_team): Initialize and use team_malloc.
1443 (free_team): Use team_free.
1444 (gomp_free_thread): Use team_free.
1445 (gomp_pause_host): Use team_free.
1446 * work.c (gomp_init_work_share): Use team_malloc.
1447 (gomp_fini_work_share): Use team_free.
1448
fa499995
AS
14492019-11-13 Andrew Stubbs <ams@codesourcery.com>
1450 Kwok Cheung Yeung <kcy@codesourcery.com>
1451 Julian Brown <julian@codesourcery.com>
1452 Tom de Vries <tom@codesourcery.com>
1453
1454 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1455 * Makefile.in: Regenerate.
1456 * config.h.in (PLUGIN_GCN): Add new undef.
1457 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1458 * config/gcn/affinity-fmt.c: New file.
1459 * config/gcn/bar.c: New file.
1460 * config/gcn/bar.h: New file.
1461 * config/gcn/doacross.h: New file.
1462 * config/gcn/icv-device.c: New file.
1463 * config/gcn/oacc-target.c: New file.
1464 * config/gcn/simple-bar.h: New file.
1465 * config/gcn/target.c: New file.
1466 * config/gcn/task.c: New file.
1467 * config/gcn/team.c: New file.
1468 * config/gcn/time.c: New file.
1469 * configure.ac: Add amdgcn*-*-*.
1470 * configure: Regenerate.
1471 * configure.tgt: Add amdgcn*-*-*.
1472 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1473 * libgomp.h (gcn_thrs): Add amdgcn variant.
1474 (set_gcn_thrs): Likewise.
1475 (gomp_thread): Likewise.
1476 * oacc-int.h (goacc_thread): Likewise.
1477 * oacc-target.c: New file.
1478 * openacc.f90 (acc_device_gcn): New parameter.
1479 * openacc.h (acc_device_t): Add acc_device_gcn.
1480 * team.c (gomp_free_pool_helper): Add amdgcn support.
1481
d2903ce0
AS
14822019-11-13 Andrew Stubbs <ams@codesourcery.com>
1483 Julian Brown <julian@codesourcery.com>
1484
1485 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1486 parameter.
1487 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1488 queue constructor.
1489 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1490 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1491 device parameter.
1492
b3d14b3a
AS
14932019-11-13 Andrew Stubbs <ams@codesourcery.com>
1494
1495 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1496 * config/nvptx/libgomp-plugin.c: Move ...
1497 * config/accel/libgomp-plugin.c: ... to here.
1498 * config/nvptx/lock.c: Move ...
1499 * config/accel/lock.c: ... to here.
1500 * config/nvptx/mutex.c: Move ...
1501 * config/accel/mutex.c: ... to here.
1502 * config/nvptx/mutex.h: Move ...
1503 * config/accel/mutex.h: ... to here.
1504 * config/nvptx/oacc-async.c: Move ...
1505 * config/accel/oacc-async.c: ... to here.
1506 * config/nvptx/oacc-cuda.c: Move ...
1507 * config/accel/oacc-cuda.c: ... to here.
1508 * config/nvptx/oacc-host.c: Move ...
1509 * config/accel/oacc-host.c: ... to here.
1510 * config/nvptx/oacc-init.c: Move ...
1511 * config/accel/oacc-init.c: ... to here.
1512 * config/nvptx/oacc-mem.c: Move ...
1513 * config/accel/oacc-mem.c: ... to here.
1514 * config/nvptx/oacc-plugin.c: Move ...
1515 * config/accel/oacc-plugin.c: ... to here.
1516 * config/nvptx/omp-lock.h: Move ...
1517 * config/accel/omp-lock.h: ... to here.
1518 * config/nvptx/openacc.f90: Move ...
1519 * config/accel/openacc.f90: ... to here.
1520 * config/nvptx/pool.h: Move ...
1521 * config/accel/pool.h: ... to here.
1522 * config/nvptx/proc.c: Move ...
1523 * config/accel/proc.c: ... to here.
1524 * config/nvptx/ptrlock.c: Move ...
1525 * config/accel/ptrlock.c: ... to here.
1526 * config/nvptx/ptrlock.h: Move ...
1527 * config/accel/ptrlock.h: ... to here.
1528 * config/nvptx/sem.c: Move ...
1529 * config/accel/sem.c: ... to here.
1530 * config/nvptx/sem.h: Move ...
1531 * config/accel/sem.h: ... to here.
1532 * config/nvptx/thread-stacksize.h: Move ...
1533 * config/accel/thread-stacksize.h: ... to here.
1534
62aee289
MR
15352019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1536 Tobias Burnus <tobias@codesourcery.com>
1537 Frederik Harwath <frederik@codesourcery.com>
1538 Thomas Schwinge <thomas@codesourcery.com>
1539
1540 libgomp/
1541 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1542 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1543 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1544
a2c26c50
TB
15452019-11-11 Tobias Burnus <tobias@codesourcery.com>
1546 Kwok Cheung Yeung <kcy@codesourcery.com>
1547
1548 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1549 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1550
6d4868f3
TS
15512019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1552
bfa1837b
TS
1553 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1554
6d4868f3
TS
1555 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1556 run'.
1557 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1558 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1559
5d183d17
FH
15602019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1561
1562 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1563 Add expected warnings about missing reduction clauses.
1564 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1565 Likewise.
1566 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1567 Likewise.
1568 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1569 Likewise.
1570
d8f03b03
TB
15712019-11-04 Tobias Burnus <tobias@codesourcery.com>
1572
1573 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1574 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1575 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1576 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1577 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1578 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1579
12fd2ec5
TB
15802019-11-04 Tobias Burnus <tobias@codesourcery.com>
1581
1582 PR fortran/92305
1583 * testsuite/libgomp.fortran/allocatable2.f90: Use
1584 unique numbers with 'stop'.
1585 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1586 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1587 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1588 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1589 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1590
92e63bd2
TB
15912019-11-01 Tobias Burnus <tobias@codesourcery.com>
1592
1593 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1594 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1595 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1596 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1597 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1598 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1599
91ae0a46
TB
16002019-10-30 Tobias Burnus <tobias@codesourcery.com>
1601
1602 * testsuite/libgomp.fortran/target9.f90: New.
1603
c425e66b
TB
16042019-10-30 Tobias Burnus <tobias@codesourcery.com>
1605
1606 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1607 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1608 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1609 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1610 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1611 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1612 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1613 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1614 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1615 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1616 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1617 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1618 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1619 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1620 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1621 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1622 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1623 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1624 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1625 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1626 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1627 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1628 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1629 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1630 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1631 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1632 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1633 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1634 * testsuite/libgomp.fortran/character1.f90: Ditto.
1635 * testsuite/libgomp.fortran/character2.f90: Ditto.
1636 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1637 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1638 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1639 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1640 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1641 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1642 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1643 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1644 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1645 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1646 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1647 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1648 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1649 * testsuite/libgomp.fortran/do1.f90: Ditto.
1650 * testsuite/libgomp.fortran/do2.f90: Ditto.
1651 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1652 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1653 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1654 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1655 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1656 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1657 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1658 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1659 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1660 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1661 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1662 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1663 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1664 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1665 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1666 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1667 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1668 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1669 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1670 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1671 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1672 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1673 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1674 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1675 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1676 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1677 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1678 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1679 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1680 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1681 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1682 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1683 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1684 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1685 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1686 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1687 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1688 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1689 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1690 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1691 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1692 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1693 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1694 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1695 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1696 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1697 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1698 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1699 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1700 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1701 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1702 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1703 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1704 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1705 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1706 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1707 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1708 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1709 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1710 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1711 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1712 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1713 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1714 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1715 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1716 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1717 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1718 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1719 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1720 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1721 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1722 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1723 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1724 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1725 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1726 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1727 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1728 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1729 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1730 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1731 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1732 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1733 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1734 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1735 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1736 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1737 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1738 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1739 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1740 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1741 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1742 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1743 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1744 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1745 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1746 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1747 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1748 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1749 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1750 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1751 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1752 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1753 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1754 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1755 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1756 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1757 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1758 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1759 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1760 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1761 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1762 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1763 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1764 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1765 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1766 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1767 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1768 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1769 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1770 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1771 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1772 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1773 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1774 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1775 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1776 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1777 * testsuite/libgomp.fortran/stack.f90: Ditto.
1778 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1779 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1780 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1781 * testsuite/libgomp.fortran/target1.f90: Ditto.
1782 * testsuite/libgomp.fortran/target2.f90: Ditto.
1783 * testsuite/libgomp.fortran/target3.f90: Ditto.
1784 * testsuite/libgomp.fortran/target4.f90: Ditto.
1785 * testsuite/libgomp.fortran/target5.f90: Ditto.
1786 * testsuite/libgomp.fortran/target6.f90: Ditto.
1787 * testsuite/libgomp.fortran/target7.f90: Ditto.
1788 * testsuite/libgomp.fortran/target8.f90: Ditto.
1789 * testsuite/libgomp.fortran/task1.f90: Ditto.
1790 * testsuite/libgomp.fortran/task2.f90: Ditto.
1791 * testsuite/libgomp.fortran/task3.f90: Ditto.
1792 * testsuite/libgomp.fortran/task4.f90: Ditto.
1793 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1794 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1795 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1796 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1797 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1798 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1799 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1800 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1801 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1802 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1803 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1804 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1805 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1806 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1807 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1808 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1809 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1810 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1811 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1812 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1813 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1814 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1815 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1816 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1817 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1818 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1819 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1820 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1821 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1822 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1823 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1824 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1825 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1826 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1827
01509e2f
TB
18282019-10-30 Tobias Burnus <tobias@codesourcery.com>
1829
1830 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1831 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1832 Ditto; add 'dg-do run' for torture testing.
1833 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1834 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1835 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1836 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1837 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1838 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1839 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1840 * testsuite/libgomp.fortran/task2.f90: Ditto.
1841 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1842 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1843 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1844 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1845 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1846 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1847
ffbdd78a
TB
18482019-10-28 Tobias Burnus <tobias@codesourcery.com>
1849
1850 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1851 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1852 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1853 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1854 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1855 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1856 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1857 Use 'stop' not abort().
1858 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1859 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1860 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1861 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1862 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1863 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1864 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1865 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1866 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1867 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1868 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1869 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1870 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1871 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1872 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1873 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1874 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1875 Ditto.
1876 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1877 Ditto.
1878 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1879 Ditto.
1880 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1881 Ditto.
1882 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1883 Ditto.
1884 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1885 Ditto.
1886 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1887 Ditto.
1888 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1889 Ditto.
1890 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1891 Ditto.
1892 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1893 Ditto.
1894 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1895 Ditto.
1896 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1897 Ditto.
1898 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1899 Ditto.
1900 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1901 Ditto.
1902 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1903 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1904 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1905 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1906 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1907 Likewise and also add 'dg-do run'.
1908 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1909 Ditto.
1910
ec084613
CP
19112019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1912 Tobias Burnus <tobias@codesourcery.com>
1913
1914 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1915 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1916 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1917
77ef3394
JJ
19182019-10-14 Jakub Jelinek <jakub@redhat.com>
1919
1920 PR libgomp/92081
1921 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1922 than 0.
1923
08c14aaa
TB
19242019-10-11 Tobias Burnus <tobias@codesourcery.com>
1925
1926 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1927 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1928
6bbead0c
TS
19292019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1930
1931 PR middle-end/92036
1932 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1933 file.
1934
eba3dee8
TB
19352019-10-09 Tobias Burnus <tobias@codesourcery.com>
1936
1937 PR testsuite/91884
1938 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1939 add -lquadmath.
1940 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1941
7d48e14f
JJ
19422019-10-09 Jakub Jelinek <jakub@redhat.com>
1943
1944 PR libgomp/92028
1945 * target.c (gomp_map_vars_internal): Readd the previous
1946 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1947 though do that just in the !not_found_cnt case.
1948
65b67cf3
TB
19492019-10-08 Tobias Burnus <tobias@codesourcery.com>
1950
1951 * gfortran.dg/gomp/target-simd.f90: New.
1952
6c7e076b
JB
19532019-10-02 Julian Brown <julian@codesourcery.com>
1954 Cesar Philippidis <cesar@codesourcery.com>
1955
1956 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1957 * target.c (FIELD_TGT_EMPTY): Define.
1958 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1959 as switch instead of list of ifs.
1960 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1961
d61bff85
AT
19622019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1963
1964 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1965 include. Replace alloca () with __builtin_alloca ().
1966 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1967
810f316d
JJ
19682019-10-01 Jakub Jelinek <jakub@redhat.com>
1969
1970 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1971 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1972 * oacc-parallel.c: Don't include "libgomp_g.h".
1973 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1974 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1975 * aclocal.m4: Regenerated.
1976 * config.h.in: Regenerated.
1977 * configure: Regenerated.
1978 * Makefile.in: Regenerated.
1979
d7f9ee98
KCY
19802019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1981
1982 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1983
e9085da5
MR
19842019-09-27 Maciej W. Rozycki <macro@wdc.com>
1985
1986 * configure: Regenerate.
1987
c28712be
TB
19882019-09-13 Tobias Burnus <tobias@codesourcery.com>
1989
1990 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1991 string is initialized.
1992
3c086f8d
FW
19932019-09-06 Florian Weimer <fweimer@redhat.com>
1994
1995 * configure: Regenerate.
1996
c6c2d1bc
CLT
19972019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1998
1999 PR other/79543
2000 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2001 scanning to conform to the GNU Coding Standards.
2002 * configure: Regenerate.
2003
5cb72d83
JJ
20042019-08-28 Jakub Jelinek <jakub@redhat.com>
2005
2006 PR libgomp/91530
2007 * testsuite/libgomp.c/scan-21.c: New test.
2008 * testsuite/libgomp.c/scan-22.c: New test.
2009
0ad7981c
JJ
20102019-08-27 Jakub Jelinek <jakub@redhat.com>
2011
2012 PR libgomp/91530
2013 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2014 targets.
2015 * testsuite/libgomp.c/scan-12.c: Likewise.
2016 * testsuite/libgomp.c/scan-13.c: Likewise.
2017 * testsuite/libgomp.c/scan-14.c: Likewise.
2018 * testsuite/libgomp.c/scan-15.c: Likewise.
2019 * testsuite/libgomp.c/scan-16.c: Likewise.
2020 * testsuite/libgomp.c/scan-17.c: Likewise.
2021 * testsuite/libgomp.c/scan-18.c: Likewise.
2022 * testsuite/libgomp.c/scan-19.c: Likewise.
2023 * testsuite/libgomp.c/scan-20.c: Likewise.
2024 * testsuite/libgomp.c++/scan-9.C: Likewise.
2025 * testsuite/libgomp.c++/scan-10.C: Likewise.
2026 * testsuite/libgomp.c++/scan-11.C: Likewise.
2027 * testsuite/libgomp.c++/scan-12.C: Likewise.
2028 * testsuite/libgomp.c++/scan-14.C: Likewise.
2029 * testsuite/libgomp.c++/scan-15.C: Likewise.
2030 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2031 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2032 * testsuite/libgomp.c++/scan-16.C: Likewise.
2033
1e67491a
TK
20342019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
2035
2036 PR fortran/91473
2037 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2038 -std=legacy so invalid code in the test case is accepted.
2039
393fdeb1
TK
20402019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2041
2042 PR fortran/91422
2043 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2044 dimension.
2045
8860d270
JJ
20462019-08-08 Jakub Jelinek <jakub@redhat.com>
2047
2048 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2049 perform the lookup in the first loop only if !not_found_cnt, otherwise
2050 perform lookups for it in the second loop guarded with
2051 if (not_found_cnt || has_firstprivate).
2052 * testsuite/libgomp.c/target-37.c: New test.
2053 * testsuite/libgomp.c++/target-22.C: New test.
2054
398e3feb
JJ
20552019-08-07 Jakub Jelinek <jakub@redhat.com>
2056
2057 * testsuite/libgomp.c/target-18.c (struct S): New type.
2058 (foo): Use use_device_addr clause instead of use_device_ptr clause
2059 where required by OpenMP 5.0, add further tests for both use_device_ptr
2060 and use_device_addr clauses.
2061 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2062 (foo): Use use_device_addr clause instead of use_device_ptr clause
2063 where required by OpenMP 5.0, add further tests for both use_device_ptr
2064 and use_device_addr clauses. Add t and u arguments.
2065 (main): Adjust caller.
2066
d81ab49d
JJ
20672019-08-06 Jakub Jelinek <jakub@redhat.com>
2068
2069 * testsuite/libgomp.c++/loop-13.C: New test.
2070 * testsuite/libgomp.c++/loop-14.C: New test.
2071 * testsuite/libgomp.c++/loop-15.C: New test.
2072
c3ac76aa
JJ
20732019-07-31 Jakub Jelinek <jakub@redhat.com>
2074
2075 PR middle-end/91301
2076 * testsuite/libgomp.c++/for-27.C: New test.
2077
8dc63166
SK
20782019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
2079
393fdeb1 2080 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 2081 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 2082
554a530f
JJ
20832019-07-20 Jakub Jelinek <jakub@redhat.com>
2084
2085 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2086
6cda84b5
JJ
20872019-07-08 Jakub Jelinek <jakub@redhat.com>
2088
2089 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2090 * testsuite/libgomp.c++/scan-16.C: Likewise.
2091
1f52d1a8
JJ
20922019-07-06 Jakub Jelinek <jakub@redhat.com>
2093
6f67abcd
JJ
2094 * testsuite/libgomp.c/scan-19.c: New test.
2095 * testsuite/libgomp.c/scan-20.c: New test.
2096
1f52d1a8
JJ
2097 * testsuite/libgomp.c/scan-11.c: New test.
2098 * testsuite/libgomp.c/scan-12.c: New test.
2099 * testsuite/libgomp.c/scan-13.c: New test.
2100 * testsuite/libgomp.c/scan-14.c: New test.
2101 * testsuite/libgomp.c/scan-15.c: New test.
2102 * testsuite/libgomp.c/scan-16.c: New test.
2103 * testsuite/libgomp.c/scan-17.c: New test.
2104 * testsuite/libgomp.c/scan-18.c: New test.
2105 * testsuite/libgomp.c++/scan-9.C: New test.
2106 * testsuite/libgomp.c++/scan-10.C: New test.
2107 * testsuite/libgomp.c++/scan-11.C: New test.
2108 * testsuite/libgomp.c++/scan-12.C: New test.
2109 * testsuite/libgomp.c++/scan-13.C: New test.
2110 * testsuite/libgomp.c++/scan-14.C: New test.
2111 * testsuite/libgomp.c++/scan-15.C: New test.
2112 * testsuite/libgomp.c++/scan-16.C: New test.
2113
2f03073f
JJ
21142019-07-04 Jakub Jelinek <jakub@redhat.com>
2115
2116 * testsuite/libgomp.c/scan-9.c: New test.
2117 * testsuite/libgomp.c/scan-10.c: New test.
2118
2f6bb511
JJ
21192019-07-03 Jakub Jelinek <jakub@redhat.com>
2120
2121 * testsuite/libgomp.c++/scan-1.C: New test.
2122 * testsuite/libgomp.c++/scan-2.C: New test.
2123 * testsuite/libgomp.c++/scan-3.C: New test.
2124 * testsuite/libgomp.c++/scan-4.C: New test.
2125 * testsuite/libgomp.c++/scan-5.C: New test.
2126 * testsuite/libgomp.c++/scan-6.C: New test.
2127 * testsuite/libgomp.c++/scan-7.C: New test.
2128 * testsuite/libgomp.c++/scan-8.C: New test.
2129 * testsuite/libgomp.c/scan-1.c: New test.
2130 * testsuite/libgomp.c/scan-2.c: New test.
2131 * testsuite/libgomp.c/scan-3.c: New test.
2132 * testsuite/libgomp.c/scan-4.c: New test.
2133 * testsuite/libgomp.c/scan-5.c: New test.
2134 * testsuite/libgomp.c/scan-6.c: New test.
2135 * testsuite/libgomp.c/scan-7.c: New test.
2136 * testsuite/libgomp.c/scan-8.c: New test.
2137
bd194a51
TS
21382019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2139
85fca03a
TS
2140 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2141 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2142 Likewise.
2143
bd194a51
TS
2144 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2145 check.
2146
6652161e
CP
21472019-06-18 Cesar Philippidis <cesar@codesourcery.com>
2148
2149 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2150 file.
2151
3a37d6f6
TS
21522019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2153
4017da8d
TS
2154 PR fortran/90743
2155 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2156 case.
2157 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2158 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2159 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2160 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2161
6f7c1f65
TS
2162 PR testsuite/90861
2163 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2164
3a37d6f6
TS
2165 PR middle-end/90862
2166 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2167
f45ce17d
TV
21682019-06-16 Tom de Vries <tdevries@suse.de>
2169
2170 PR tree-optimization/89376
2171 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2172
00908992
TV
21732019-06-15 Tom de Vries <tdevries@suse.de>
2174
2175 PR tree-optimization/89713
2176 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2177 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2178
211b7533
JJ
21792019-06-15 Jakub Jelinek <jakub@redhat.com>
2180
2181 PR middle-end/90779
2182 * testsuite/libgomp.c/pr90779.c: New test.
2183 * testsuite/libgomp.fortran/pr90779.f90: New test.
2184
120a01d1
TV
21852019-06-15 Tom de Vries <tdevries@suse.de>
2186
2187 PR tree-optimization/90009
2188 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2189
c29c92c7
FX
21902019-06-13 Feng Xue <fxue@os.amperecomputing.com>
2191
2192 PR tree-optimization/89713
2193 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2194
ce9c4ec3
JJ
21952019-06-11 Jakub Jelinek <jakub@redhat.com>
2196
2197 PR target/90811
2198 * testsuite/libgomp.c/pr90811.c: New test.
2199
28b3a77c
JJ
22002019-06-05 Jakub Jelinek <jakub@redhat.com>
2201
2202 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2203 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2204
7855700e
JJ
22052019-06-04 Jakub Jelinek <jakub@redhat.com>
2206
2207 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2208 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2209 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2210 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2211
a7155c2e
RO
22122019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2213
2214 * configure.ac: Call AX_COUNT_CPUS.
2215 Substitute CPU_COUNT.
2216 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2217 count fallback.
2218 * aclocal.m4: Regenerate.
2219 * configure: Regenerate.
2220 * Makefile.in, testsuite/Makefile.in: Regenerate.
2221
7e47198b
JJ
22222019-05-29 Jakub Jelinek <jakub@redhat.com>
2223
2224 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2225 to ...
2226 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2227 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2228 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2229
fcfb8032
JJ
22302019-05-27 Jakub Jelinek <jakub@redhat.com>
2231
8e7757ba
JJ
2232 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2233
36c7a3ff
JJ
2234 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2235
fcfb8032
JJ
2236 PR libgomp/90641
2237 * work.c (gomp_init_work_share): Instead of aligning final ordered
2238 value to multiples of long long alignment, align to that the
2239 first part (ordered team ids) and if inline_ordered_team_ids
2240 is not on a long long alignment boundary within the structure,
2241 use __alignof__ (long long) - 1 pad size always.
2242 * loop.c (GOMP_loop_start): Fix *mem computation if
2243 inline_ordered_team_ids is not aligned on long long alignment boundary
2244 within the structure.
2245 * loop-ull.c (GOMP_loop_ull_start): Likewise.
2246 * sections.c (GOMP_sections2_start): Likewise.
2247
b5c26449
JJ
22482019-05-24 Jakub Jelinek <jakub@redhat.com>
2249
6c7ae8c5
JJ
2250 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2251 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2252
b5c26449
JJ
2253 PR libgomp/90585
2254 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
2255 HAVE_INTTYPES_H is defined.
2256 (print_uint64_t): New typedef.
2257 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2258 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2259 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2260 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
2261 before casting to void *.
2262 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2263 * oacc-mem.c: Don't include config.h nor stdint.h.
2264 * target.c: Don't include config.h.
2265 * oacc-cuda.c: Likewise.
2266 * oacc-host.c: Don't include stdint.h.
2267
3e03ed66
JJ
22682019-05-20 Jakub Jelinek <jakub@redhat.com>
2269
2270 PR libgomp/90527
2271 * alloc.c (_GNU_SOURCE): Define.
2272
5fae049d
TS
22732019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2274
2275 * acc_prof.h: New file.
2276 * oacc-profiling.c: Likewise.
2277 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2278 Add these, respectively.
2279 * Makefile.in: Regenerate.
2280 * env.c (initialize_env): Call goacc_profiling_initialize.
2281 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2282 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2283 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2284 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2285 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2286 acc_prof_register, acc_prof_unregister, and acc_register_library.
2287 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2288 GOMP_PLUGIN_goacc_thread.
2289 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2290 prof_callbacks_enabled members.
2291 (goacc_prof_enabled, goacc_profiling_initialize)
2292 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2293 (goacc_profiling_dispatch): Declare.
2294 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2295 (GOACC_PROFILING_SETUP_P): Define.
2296 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2297 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2298 OpenACC Profiling Interface.
2299 * oacc-cuda.c (acc_get_current_cuda_device)
2300 (acc_get_current_cuda_context, acc_get_cuda_stream)
2301 (acc_set_cuda_stream): Likewise.
2302 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2303 (acc_init, acc_set_device_type, acc_get_device_type)
2304 (acc_get_device_num, goacc_lazy_initialize): Likewise.
2305 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2306 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2307 (acc_unmap_data, present_create_copy, delete_copyout)
2308 (update_dev_host): Likewise.
2309 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2310 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2311 Likewise.
2312 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2313 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2314 Likewise.
2315 * libgomp.texi: Update.
2316 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2317 file.
2318 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2319 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2320 Likewise.
2321 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2322 Likewise.
2323 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2324 Likewise.
2325 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2326 Likewise.
2327
1f4c5b9b
CLT
23282019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
2329
2330 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2331 (struct goacc_asyncqueue_list): Likewise.
2332 (goacc_aq): Likewise.
2333 (goacc_aq_list): Likewise.
2334 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2335 (GOMP_OFFLOAD_openacc_async_test): Remove.
2336 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2337 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2338 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2339 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2340 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2341 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2342 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2343 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2344 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2345 (GOMP_OFFLOAD_openacc_async_exec): Declare.
2346 (GOMP_OFFLOAD_openacc_async_construct): Declare.
2347 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2348 (GOMP_OFFLOAD_openacc_async_test): Declare.
2349 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2350 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2351 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2352 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2353 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2354
2355 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2356 (gomp_acc_insert_pointer): Adjust declaration.
2357 (gomp_copy_host2dev): New declaration.
2358 (gomp_copy_dev2host): Likewise.
2359 (gomp_map_vars_async): Likewise.
2360 (gomp_unmap_tgt): Likewise.
2361 (gomp_unmap_vars_async): Likewise.
2362 (gomp_fini_device): Likewise.
2363
2364 * oacc-async.c (get_goacc_thread): New function.
2365 (get_goacc_thread_device): New function.
2366 (lookup_goacc_asyncqueue): New function.
2367 (get_goacc_asyncqueue): New function.
2368 (acc_async_test): Adjust code to use new async design.
2369 (acc_async_test_all): Likewise.
2370 (acc_wait): Likewise.
2371 (acc_wait_async): Likewise.
2372 (acc_wait_all): Likewise.
2373 (acc_wait_all_async): Likewise.
2374 (goacc_async_free): New function.
2375 (goacc_init_asyncqueues): Likewise.
2376 (goacc_fini_asyncqueues): Likewise.
2377 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2378 design.
2379 (acc_set_cuda_stream): Likewise.
2380 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2381 (host_openacc_register_async_cleanup): Remove.
2382 (host_openacc_async_exec): New function.
2383 (host_openacc_async_test): Adjust parameters.
2384 (host_openacc_async_test_all): Remove.
2385 (host_openacc_async_wait): Remove.
2386 (host_openacc_async_wait_async): Remove.
2387 (host_openacc_async_wait_all): Remove.
2388 (host_openacc_async_wait_all_async): Remove.
2389 (host_openacc_async_set_async): Remove.
2390 (host_openacc_async_synchronize): New function.
2391 (host_openacc_async_serialize): New function.
2392 (host_openacc_async_host2dev): New function.
2393 (host_openacc_async_dev2host): New function.
2394 (host_openacc_async_queue_callback): New function.
2395 (host_openacc_async_construct): New function.
2396 (host_openacc_async_destruct): New function.
2397 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 2398 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
2399 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2400 (goacc_attach_host_thread_to_device): Remove old async code usage.
2401 * oacc-int.h (goacc_init_asyncqueues): New declaration.
2402 (goacc_fini_asyncqueues): Likewise.
2403 (goacc_async_copyout_unmap_vars): Likewise.
2404 (goacc_async_free): Likewise.
2405 (get_goacc_asyncqueue): Likewise.
2406 (lookup_goacc_asyncqueue): Likewise.
2407 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2408 design.
2409 (present_create_copy): Adjust code to use new async design.
2410 (delete_copyout): Likewise.
2411 (update_dev_host): Likewise.
2412 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2413 async design.
2414 (gomp_acc_remove_pointer): Adjust code to use new async design.
2415 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2416 design.
2417 (GOACC_enter_exit_data): Likewise.
2418 (goacc_wait): Likewise.
2419 (GOACC_update): Likewise.
2420 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2421 when called, warn as obsolete in comment.
2422 * target.c (goacc_device_copy_async): New function.
2423 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2424 add goacc_device_copy_async case.
2425 (gomp_copy_dev2host): Likewise.
2426 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2427 (gomp_map_pointer): Likewise.
2428 (gomp_map_fields_existing): Likewise.
2429 (gomp_map_vars_internal): New always_inline function, renamed from
2430 gomp_map_vars.
2431 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2432 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2433 passing goacc_asyncqueue argument.
2434 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2435 (gomp_unref_tgt): New function.
2436 (gomp_unmap_vars_internal): New always_inline function, renamed from
2437 gomp_unmap_vars.
2438 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2439 (gomp_unmap_vars_async): Implement by calling
2440 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2441 (gomp_fini_device): New function.
2442 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2443 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2444 new async interface.
2445 (gomp_target_fini): Adjust code to call gomp_fini_device.
2446
2447 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2448 (struct ptx_stream): Remove.
2449 (struct nvptx_thread): Remove current_stream field.
2450 (cuda_map_create): Remove.
2451 (cuda_map_destroy): Remove.
2452 (map_init): Remove.
2453 (map_fini): Remove.
2454 (map_pop): Remove.
2455 (map_push): Remove.
2456 (struct goacc_asyncqueue): Define.
2457 (struct nvptx_callback): Define.
2458 (struct ptx_free_block): Define.
2459 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2460 stream_lock, and next fields.
2461 (enum ptx_event_type): Remove.
2462 (struct ptx_event): Remove.
2463 (ptx_event_lock): Remove.
2464 (ptx_events): Remove.
2465 (init_streams_for_device): Remove.
2466 (fini_streams_for_device): Remove.
2467 (select_stream_for_async): Remove.
2468 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2469 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2470 case.
2471 (nvptx_open_device): Add free_blocks initialization, remove
2472 init_streams_for_device call.
2473 (nvptx_close_device): Remove fini_streams_for_device call, add
2474 free_blocks destruct code.
2475 (event_gc): Remove.
2476 (event_add): Remove.
2477 (nvptx_exec): Adjust parameters and code.
2478 (nvptx_free): Likewise.
2479 (nvptx_host2dev): Remove.
2480 (nvptx_dev2host): Remove.
2481 (nvptx_set_async): Remove.
2482 (nvptx_async_test): Remove.
2483 (nvptx_async_test_all): Remove.
2484 (nvptx_wait): Remove.
2485 (nvptx_wait_async): Remove.
2486 (nvptx_wait_all): Remove.
2487 (nvptx_wait_all_async): Remove.
2488 (nvptx_get_cuda_stream): Remove.
2489 (nvptx_set_cuda_stream): Remove.
2490 (GOMP_OFFLOAD_alloc): Adjust code.
2491 (GOMP_OFFLOAD_free): Likewise.
2492 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2493 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2494 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2495 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2496 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2497 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2498 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2499 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2500 (cuda_free_argmem): New function.
2501 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2502 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2503 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2504 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2505 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2506 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2507 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2508 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2509 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2510 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2511 (cuda_callback_wrapper): New function.
2512 (cuda_memcpy_sanity_check): New function.
2513 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2514 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2515 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2516 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2517
da2d30c1
TS
25182019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2519
2520 PR target/87835
2521 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2522
2bbbfa4e
TS
25232019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2524
2525 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2526
bbf1efe1
KB
25272019-03-27 Kevin Buettner <kevinb@redhat.com>
2528
2529 * team.c (gomp_team_start): Initialize pool->threads[0].
2530
1241136c
TS
25312019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2532
b03d721a
TS
2533 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2534 "-foffload=$offload_target".
2535 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2536 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2537 * testsuite/lib/libgomp.exp
2538 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2539 as (conceptually) merged into
2540 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2541 users.
2542
0a0384b4
TS
2543 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2544 * testsuite/libgomp-test-support.exp.in: Adjust.
2545 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2546 openacc_device_types_s.
2547 (offload_target_to_openacc_device_type): New proc.
2548 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2549 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2550 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2551 * Makefile.in: Regenerate.
2552 * configure: Likewise.
2553 * testsuite/Makefile.in: Likewise.
2554
ee332b4a
TS
2555 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2556 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2557 instead of OFFLOAD_TARGETS.
2558 * target.c (gomp_target_init): Adjust.
2559 * testsuite/libgomp-test-support.exp.in: Likewise.
2560 * testsuite/lib/libgomp.exp: Likewise. Populate
2561 openacc_device_types_s instead of offload_targets_s_openacc.
2562 (check_effective_target_openacc_nvidia_accel_selected)
2563 (check_effective_target_openacc_host_selected): Adjust.
2564 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2565 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2566 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2567 * Makefile.in: Regenerate.
2568 * config.h.in: Likewise.
2569 * configure: Likewise.
2570 * testsuite/Makefile.in: Likewise.
2571
1241136c
TS
2572 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2573 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2574 "offloading: supported, but hardware not accessible".
2575 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2576 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2577
19695f4d
CLT
25782019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2579
2580 PR c/87924
2581 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2582 goacc_wait().
2583 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2584 and related adjustment.
2585
8b44f8ec
JJ
25862019-01-30 Jakub Jelinek <jakub@redhat.com>
2587
2588 PR c++/88988
2589 * testsuite/libgomp.c++/pr88988.C: New test.
2590
be3a87e7
JJ
25912019-01-28 Jakub Jelinek <jakub@redhat.com>
2592
2593 PR middle-end/89002
2594 * testsuite/libgomp.c/pr89002.c: New test.
2595
497ef4d7
RB
25962019-01-28 Richard Biener <rguenther@suse.de>
2597
2598 PR testsuite/89064
2599 PR tree-optimization/86865
2600 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2601
738c56d4
TV
26022019-01-24 Tom de Vries <tdevries@suse.de>
2603
2604 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2605 once instantiated_devices drops to 0.
2606
4a75460b
TV
26072019-01-23 Tom de Vries <tdevries@suse.de>
2608
2609 PR target/PR88946
2610 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2611 cuMemFree.
2612 (nvptx_exec): Don't call map_push if mapnum == 0.
2613 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2614
4fef8e4d
TV
26152019-01-23 Tom de Vries <tdevries@suse.de>
2616
2617 PR target/88941
2618 PR target/88939
2619 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2620 (map_fini): Remove "assert (!s->map->active)".
2621 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2622
2ee6cb22
TV
26232019-01-23 Tom de Vries <tdevries@suse.de>
2624
2625 PR target/87835
2626 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2627 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2628
d41d952c
TV
26292019-01-15 Tom de Vries <tdevries@suse.de>
2630
2631 PR target/80547
2632 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2633 New test.
2634
efb56ae8
TV
26352019-01-12 Tom de Vries <tdevries@suse.de>
2636
2637 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2638 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2639 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2640 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2641
2c2ff168
TV
26422019-01-12 Tom de Vries <tdevries@suse.de>
2643
2644 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2645
a1057758
TV
26462019-01-12 Tom de Vries <tdevries@suse.de>
2647
2648 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2649 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2650 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2651
56314b77
TV
26522019-01-12 Tom de Vries <tdevries@suse.de>
2653
2654 PR target/85486
2655 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2656 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2657
b39e4366
TV
26582019-01-12 Tom de Vries <tdevries@suse.de>
2659
2660 PR target/85381
2661 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2662 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2663
2cb7a501
TV
26642019-01-12 Tom de Vries <tdevries@suse.de>
2665
2666 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2667 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2668 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2669
8e77f71e
TV
26702019-01-12 Tom de Vries <tdevries@suse.de>
2671
2672 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2673 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2674 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2675
52d22ece
TV
26762019-01-12 Tom de Vries <tdevries@suse.de>
2677
2678 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2679 resources diagnostic.
2680
2b9d9e39
TV
26812019-01-12 Tom de Vries <tdevries@suse.de>
2682
2683 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2684 vector length to be 128.
2685 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2686 length 2097152 to be reduced to 1024 instead of 32.
2687
4102bda6
TS
26882019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2689 James Norris <jnorris@codesourcery.com>
2690
2691 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2692 Library Routines", and "Environment Variables".
2693
052aaace
TV
26942019-01-11 Tom de Vries <tdevries@suse.de>
2695
2696 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2697 num_workers 16.
2698
9390f916
TV
26992019-01-11 Tom de Vries <tdevries@suse.de>
2700
2701 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2702 -foffload=-w.
2703 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2704 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2705 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2706 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2707
2c3e7ad2
TV
27082019-01-11 Tom de Vries <tdevries@suse.de>
2709
2710 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2711 test.
2712
e222497d
NS
27132019-01-10 Nathan Sidwell <nathan@acm.org>
2714 Julian Brown <julian@codesourcery.com>
2715
2716 PR lto/71959
2717 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2718 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2719
cb87fec3
SH
27202019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2721
2722 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2723 and paste code.
2724
30b4d0d0
SH
27252019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2726
2727 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2728 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2729 write.
2730
5d0bc70a
TV
27312019-01-09 Tom de Vries <tdevries@suse.de>
2732
2733 PR target/88756
2734 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2735 #define instead of "const int".
2736 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2737 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2738 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2739 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2740
2c372e81
TV
27412019-01-09 Tom de Vries <tdevries@suse.de>
2742
2743 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2744 one worker.
2745
43493c97
TV
27462019-01-07 Tom de Vries <tdevries@suse.de>
2747
2748 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2749 GOMP_OPENACC_DIM argument.
2750
5c571497
TV
27512019-01-03 Tom de Vries <tdevries@suse.de>
2752
2753 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2754 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2755
a5544970
JJ
27562019-01-01 Jakub Jelinek <jakub@redhat.com>
2757
2758 Update copyright years.
2759
3f27508c
JJ
27602019-01-01 Jakub Jelinek <jakub@redhat.com>
2761
2762 * libgomp.texi: Bump @copying's copyright year.
2763
59d5960c
TS
27642018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2765
2766 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2767 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2768 (GOACC_declare): Redefine the "device" argument to "flags".
2769
a44c1790
TS
27702018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2771 Cesar Philippidis <cesar@codesourcery.com>
2772
2773 * target.c (struct gomp_coalesce_chunk): New structure.
2774 (struct gomp_coalesce_buf): Update the chunks member to use that
2775 type. Adjust all users.
2776
a152954e
TV
27772018-12-19 Tom de Vries <tdevries@suse.de>
2778
2779 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2780 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2781 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2782
49188cd1
TV
27832018-12-19 Tom de Vries <tdevries@suse.de>
2784
2785 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2786 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2787 gcc/testsuite/gcc.dg/goacc.
2788 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2789
c759830b
TS
27902018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2791 Chung-Lin Tang <cltang@codesourcery.com>
2792
2793 * oacc-mem.c (acc_present_or_create): Remove definition and change
2794 to alias of acc_create.
2795 (acc_present_or_copyin): Remove definition and change to alias of
2796 acc_copyin.
2797 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2798 of acc_present_or_create.
2799 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2800 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2801 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2802 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2803 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2804 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2805 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2806 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2807 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2808 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2809 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2810 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2811 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2812 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2813 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2814 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2815
7de562ee
TS
28162018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2817
f847198e
TS
2818 PR libgomp/88495
2819 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2820 "identical parameters".
2821 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2822 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2823
c8ab8aab
TS
2824 PR libgomp/88484
2825 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2826 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2827
1404af62
TS
2828 PR libgomp/88407
2829 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2830 (nvptx_wait_async): Unseen async-argument is a no-op.
2831 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2832 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2833 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2834 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2835 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2836 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2837 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2838 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2839 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2840
7de562ee
TS
2841 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2842 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2843
17469af7
CLT
28442018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2845
2846 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2847 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2848 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2849
18c247cc
TS
28502018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2851
2852 PR libgomp/88370
2853 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2854 (acc_set_cuda_stream): Clarify.
2855 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2856 "async_valid_p".
2857 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2858 acc_async_sync".
2859 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2860 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2861 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2862 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2863
b0aba46c
TV
28642018-12-14 Tom de Vries <tdevries@suse.de>
2865
2866 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2867 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2868 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2869 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2870 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2871
fe0827ee
TV
28722018-12-13 Tom de Vries <tdevries@suse.de>
2873
2874 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2875 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2876 * fortran.c (omp_display_affinity_): ... here.
2877 * libgomp.h (gomp_print_string): Declare.
2878 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2879 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2880 write.
2881
a51f8c92
JJ
28822018-12-13 Jakub Jelinek <jakub@redhat.com>
2883
2884 PR libgomp/88460
2885 * testsuite/libgomp.c++/for-24.C (results): Include it in
2886 omp declare target region.
2887 (main): Use map (always, tofrom: results) instead of
2888 map (tofrom: results).
2889
a6ef2ac9
JJ
28902018-12-12 Jakub Jelinek <jakub@redhat.com>
2891
7a289b7d
JJ
2892 PR fortran/88463
2893 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2894 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2895
a6ef2ac9
JJ
2896 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2897
9c47a019
AS
28982018-12-12 Andreas Schwab <schwab@suse.de>
2899
2900 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2901 clobbered.
2902
d0cbb206
TK
29032018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2904
2905 PR fortran/88411
2906 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2907
84ca08d2
TS
29082018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2909 Jakub Jelinek <jakub@redhat.com>
2910
2911 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2912 devicep->host2dev_func.
2913
6997628d
JJ
29142018-12-08 Jakub Jelinek <jakub@redhat.com>
2915
2916 PR libgomp/87995
2917 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2918 tls_runtime effective target.
2919 (t): New threadprivate variable.
2920 (main): Set t in threads which execute iterations of the worksharing
2921 loop. Propagate that to the task after the loop and don't abort
2922 if the current taskgroup hasn't been cancelled.
2923
daa8c1d7
JJ
29242018-12-02 Jakub Jelinek <jakub@redhat.com>
2925
4a82df9a
JJ
2926 * testsuite/libgomp.c/task-reduction-3.c: New test.
2927
daa8c1d7
JJ
2928 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2929
fe570ff8
CP
29302018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2931
2932 PR libgomp/88288
2933 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2934 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2935
c223608f
TS
29362018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2937
2938 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2939
fc60283c
RB
29402018-10-19 Richard Biener <rguenther@suse.de>
2941
2942 PR tree-optimization/88182
2943 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2944
ffcf3b79
JJ
29452018-11-26 Jakub Jelinek <jakub@redhat.com>
2946
2947 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2948 (RUNTEST): Don't define.
2949 (RUNTESTDEFAULTFLAGS): Add.
2950 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2951 (distclean-am): Depend on distclean-DEJAGNU.
2952 (check-am): If -j% option is present in MFLAGS and if
2953 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2954 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2955 * testsuite/Makefile.in: Regenerated.
2956
ef6e6914
RB
29572018-11-26 Richard Biener <rguenther@suse.de>
2958
2959 PR tree-optimization/88182
2960 * testsuite/libgomp.c++/pr88182.C: New testcase.
2961
72d3bb76
JJ
29622018-11-20 Jakub Jelinek <jakub@redhat.com>
2963
2964 PR bootstrap/88106
2965 * config/mingw32/affinity-fmt.c: New file.
2966
207286c3
JJ
29672018-11-09 Jakub Jelinek <jakub@redhat.com>
2968
9666c522
JJ
2969 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2970 (gomp_display_affinity): Use __builtin_choose_expr to handle
2971 properly handle argument having integral, or pointer or some other
2972 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2973 with uint64_t type instead of %llx and unsigned long long.
2974
207286c3
JJ
2975 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2976 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2977
2033f45b
RO
29782018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2979
2980 * affinity.c: Include <string.h>, <stdio.h>.
2981 (gomp_display_affinity_place): Remove cpusetp.
2982 * teams.c: Include <limits.h>.
2983
28567c40
JJ
29842018-11-08 Jakub Jelinek <jakub@redhat.com>
2985
8991d779
JJ
2986 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2987 in_reduction clause for s[0].
2988
28567c40
JJ
2989 * affinity.c (gomp_display_affinity_place): New function.
2990 * affinity-fmt.c: New file.
2991 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2992 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2993 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2994 Move these functions to ...
2995 * config/nvptx/teams.c: ... here. New file.
2996 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2997 New functions.
2998 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2999 functions.
3000 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3001 and _aligned_malloc.
3002 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3003 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3004 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3005 gomp_affinity_format_len): New variables.
3006 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3007 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3008 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3009 modifiers. Display (non-default) chunk sizes. Print
3010 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3011 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3012 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3013 * fortran.c: Include stdio.h and string.h.
3014 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3015 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3016 (omp_set_affinity_format_, omp_get_affinity_format_,
3017 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3018 omp_pause_resource_all_): New functions.
3019 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3020 switch.
3021 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3022 functions to ...
3023 * teams.c: ... here. New file.
3024 * libgomp_g.h: Include gstdint.h.
3025 (GOMP_loop_nonmonotonic_runtime_start,
3026 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3027 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3028 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3029 GOMP_parallel_loop_nonmonotonic_runtime,
3030 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3031 GOMP_loop_ull_nonmonotonic_runtime_start,
3032 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3033 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3034 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3035 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3036 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3037 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3038 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3039 GOMP_teams_reg): Declare.
3040 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3041 gomp_aligned_alloc uses fallback implementation.
3042 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3043 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3044 (struct gomp_doacross_work_share): Add extra field.
3045 (struct gomp_work_share): Add task_reductions field.
3046 (struct gomp_taskgroup): Add workshare and reductions fields.
3047 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3048 (gomp_thread_handle): New typedef.
3049 (gomp_display_affinity_place, gomp_set_affinity_format,
3050 gomp_display_string, gomp_display_affinity,
3051 gomp_display_affinity_thread): Declare.
3052 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3053 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3054 gomp_workshare_task_reduction_register): Declare.
3055 (gomp_team_start): Add taskgroup argument.
3056 (gomp_pause_host): Declare.
3057 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3058 to size_t.
3059 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3060 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3061 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3062 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3063 GOMP_loop_ull_doacross_start,
3064 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3065 GOMP_loop_maybe_nonmonotonic_runtime_next,
3066 GOMP_loop_maybe_nonmonotonic_runtime_start,
3067 GOMP_loop_nonmonotonic_runtime_next,
3068 GOMP_loop_nonmonotonic_runtime_start,
3069 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3070 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3071 GOMP_loop_ull_nonmonotonic_runtime_next,
3072 GOMP_loop_ull_nonmonotonic_runtime_start,
3073 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3074 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3075 GOMP_taskgroup_reduction_register,
3076 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3077 GOMP_teams_reg and GOMP_taskwait_depend.
3078 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3079 omp_{capture,display}_affinity{,_}, and
3080 omp_[gs]et_affinity_format{,_}.
3081 * loop.c: Include string.h.
3082 (GOMP_loop_runtime_next): Add ialias.
3083 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3084 (gomp_loop_static_start, gomp_loop_dynamic_start,
3085 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3086 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3087 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3088 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3089 or gomp_doacross_init callers.
3090 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3091 GOMP_loop_doacross_start): New functions.
3092 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3093 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3094 Mask off GFS_MONOTONIC bit.
3095 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3096 GOMP_loop_maybe_nonmonotonic_runtime_start,
3097 GOMP_loop_nonmonotonic_runtime_next,
3098 GOMP_loop_nonmonotonic_runtime_start,
3099 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3100 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3101 functions.
3102 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3103 gomp_team_start.
3104 * loop_ull.c: Include string.h.
3105 (GOMP_loop_ull_runtime_next): Add ialias.
3106 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3107 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3108 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3109 gomp_loop_ull_ordered_dynamic_start,
3110 gomp_loop_ull_ordered_guided_start,
3111 gomp_loop_ull_doacross_static_start,
3112 gomp_loop_ull_doacross_dynamic_start,
3113 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3114 and gomp_doacross_ull_init callers.
3115 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3116 GOMP_loop_ull_doacross_start): New functions.
3117 (GOMP_loop_ull_runtime_start,
3118 GOMP_loop_ull_ordered_runtime_start,
3119 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3120 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3121 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3122 GOMP_loop_ull_nonmonotonic_runtime_next,
3123 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3124 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3125 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3126 (omp_pause_resource_t, omp_depend_t): New typedefs.
3127 (enum omp_lock_hint_t): Renamed to ...
3128 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3129 enumerators using numbers and omp_lock_hint_* as their aliases.
3130 (omp_lock_hint_t): New typedef. Rename to ...
3131 (omp_sync_hint_t): ... this.
3132 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3133 omp_sync_hint_t instead of omp_lock_hint_t.
3134 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3135 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3136 Declare.
3137 (omp_target_is_present, omp_target_disassociate_ptr):
3138 Change first argument from void * to const void *.
3139 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3140 from void * to const void *.
3141 (omp_target_associate_ptr): Change first and second arguments from
3142 void * to const void *.
3143 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3144 omp_pause_hard): New parameters.
3145 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3146 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3147 New interfaces.
3148 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3149 omp_pause_hard): New parameters.
3150 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3151 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3152 New externals.
3153 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3154 EXTRA argument. If not needed to prepare array, if extra is 0,
3155 clear ws->doacross, otherwise allocate just doacross structure and
3156 extra payload. If array is needed, allocate also extra payload.
3157 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3158 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3159 doacross == NULL.
3160 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3161 gomp_team_start.
3162 (GOMP_parallel): Likewise. Formatting fix.
3163 (GOMP_parallel_reductions): New function.
3164 (GOMP_cancellation_point): If taskgroup has workshare
3165 flag set, check cancelled of prev taskgroup if any.
3166 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3167 on prev taskgroup if any.
3168 * sections.c: Include string.h.
3169 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3170 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3171 (GOMP_sections2_start): New function.
3172 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3173 Pass NULL as taskgroup to gomp_team_start.
3174 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3175 gomp_work_share_start callers.
3176 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3177 If taskgroup has workshare flag set, check cancelled on prev
3178 taskgroup if any. Guard all cancellation tests with
3179 gomp_cancel_var test.
3180 (omp_target_is_present, omp_target_disassociate_ptr):
3181 Change ptr argument from void * to const void *.
3182 (omp_target_memcpy): Change src argument from void * to const void *.
3183 (omp_target_memcpy_rect): Likewise.
3184 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3185 instead of char * where needed.
3186 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3187 from void * to const void *.
3188 (omp_pause_resource, omp_pause_resource_all): New functions.
3189 * task.c (gomp_task_handle_depend): Handle new depend array format
3190 in addition to the old. Handle mutexinoutset kinds the same as
3191 inout for now, handle unspecified kinds.
3192 (gomp_create_target_task): If taskgroup has workshare flag set, check
3193 cancelled on prev taskgroup if any. Guard all cancellation tests with
3194 gomp_cancel_var test. Handle new depend array format count in
3195 addition to the old.
3196 (GOMP_task): Likewise. Adjust function comment.
3197 (gomp_task_run_pre): If taskgroup has workshare flag set, check
3198 cancelled on prev taskgroup if any. Guard all cancellation tests with
3199 gomp_cancel_var test.
3200 (GOMP_taskwait_depend): New function.
3201 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3202 format in addition to the old. Handle mutexinoutset kinds the same as
3203 inout for now, handle unspecified kinds. Fix a function comment typo.
3204 (gomp_taskgroup_init): New function.
3205 (GOMP_taskgroup_start): Use it.
3206 (gomp_reduction_register, gomp_create_artificial_team,
3207 GOMP_taskgroup_reduction_register,
3208 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3209 gomp_parallel_reduction_register,
3210 gomp_workshare_task_reduction_register,
3211 gomp_workshare_taskgroup_start,
3212 GOMP_workshare_task_reduction_unregister): New functions.
3213 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3214 check cancelled on prev taskgroup if any. Guard all cancellation
3215 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
3216 by calling GOMP_taskgroup_reduction_register.
3217 * team.c (gomp_thread_attr): Remove comment.
3218 (struct gomp_thread_start_data): Add handle field.
3219 (gomp_thread_start): Call pthread_detach.
3220 (gomp_new_team): Adjust gomp_init_work_share caller.
3221 (gomp_free_pool_helper): Call pthread_detach.
3222 (gomp_team_start): Add taskgroup argument, initialize implicit
3223 tasks' taskgroup field to that. Don't call
3224 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
3225 (gomp_team_end): Determine nesting by thr->ts.level != 0
3226 rather than thr->ts.team != NULL.
3227 (gomp_pause_pool_helper, gomp_pause_host): New functions.
3228 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3229 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3230 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
3231 if more than 1 allocate also extra payload at the end of array. Never
3232 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3233 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
3234 return true instead of ws.
3235 * Makefile.in: Regenerated.
3236 * configure: Regenerated.
3237 * config.h.in: Regenerated.
3238 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3239 in some cases.
3240 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3241 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3242 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3243 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3244 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3245 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3246 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3247 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3248 * testsuite/libgomp.c-c++-common/for-10.c: New test.
3249 * testsuite/libgomp.c-c++-common/for-11.c: New test.
3250 * testsuite/libgomp.c-c++-common/for-12.c: New test.
3251 * testsuite/libgomp.c-c++-common/for-13.c: New test.
3252 * testsuite/libgomp.c-c++-common/for-14.c: New test.
3253 * testsuite/libgomp.c-c++-common/for-15.c: New test.
3254 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3255 define a different N(test), don't define N(f0) to N(f14), but instead
3256 define N(f20) to N(f34) using != comparisons.
3257 * testsuite/libgomp.c-c++-common/for-7.c: New test.
3258 * testsuite/libgomp.c-c++-common/for-8.c: New test.
3259 * testsuite/libgomp.c-c++-common/for-9.c: New test.
3260 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3261 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3262 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3263 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3264 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3265 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3266 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3267 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3268 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3269 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3270 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3271 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3272 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3273 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3274 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3275 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3276 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3277 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3278 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3279 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3280 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3281 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3282 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3283 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3284 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3285 * testsuite/libgomp.c++/depend-1.C: New test.
3286 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3287 * testsuite/libgomp.c++/depobj-1.C: New test.
3288 * testsuite/libgomp.c++/for-16.C: New test.
3289 * testsuite/libgomp.c++/for-21.C: New test.
3290 * testsuite/libgomp.c++/for-22.C: New test.
3291 * testsuite/libgomp.c++/for-23.C: New test.
3292 * testsuite/libgomp.c++/for-24.C: New test.
3293 * testsuite/libgomp.c++/for-25.C: New test.
3294 * testsuite/libgomp.c++/for-26.C: New test.
3295 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3296 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3297 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3298 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3299 * testsuite/libgomp.c++/task-reduction-10.C: New test.
3300 * testsuite/libgomp.c++/task-reduction-11.C: New test.
3301 * testsuite/libgomp.c++/task-reduction-12.C: New test.
3302 * testsuite/libgomp.c++/task-reduction-13.C: New test.
3303 * testsuite/libgomp.c++/task-reduction-14.C: New test.
3304 * testsuite/libgomp.c++/task-reduction-15.C: New test.
3305 * testsuite/libgomp.c++/task-reduction-16.C: New test.
3306 * testsuite/libgomp.c++/task-reduction-17.C: New test.
3307 * testsuite/libgomp.c++/task-reduction-18.C: New test.
3308 * testsuite/libgomp.c++/task-reduction-19.C: New test.
3309 * testsuite/libgomp.c/task-reduction-1.c: New test.
3310 * testsuite/libgomp.c++/task-reduction-1.C: New test.
3311 * testsuite/libgomp.c/task-reduction-2.c: New test.
3312 * testsuite/libgomp.c++/task-reduction-2.C: New test.
3313 * testsuite/libgomp.c++/task-reduction-3.C: New test.
3314 * testsuite/libgomp.c++/task-reduction-4.C: New test.
3315 * testsuite/libgomp.c++/task-reduction-5.C: New test.
3316 * testsuite/libgomp.c++/task-reduction-6.C: New test.
3317 * testsuite/libgomp.c++/task-reduction-7.C: New test.
3318 * testsuite/libgomp.c++/task-reduction-8.C: New test.
3319 * testsuite/libgomp.c++/task-reduction-9.C: New test.
3320 * testsuite/libgomp.c/teams-1.c: New test.
3321 * testsuite/libgomp.c/teams-2.c: New test.
3322 * testsuite/libgomp.c/thread-limit-4.c: New test.
3323 * testsuite/libgomp.c/thread-limit-5.c: New test.
3324 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3325
58168bbf
CLT
33262018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
3327
3328 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3329 acc_memcpy_to/from_device functions, now with async parameter.
3330 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3331 (acc_memcpy_from_device): Likewise.
3332 (acc_memcpy_to_device_async): New API function.
3333 (acc_memcpy_from_device_async): Likewise.
3334 (present_create_copy): Add async parameter and async setting/unsetting.
3335 (acc_create): Adjust present_create_copy call.
3336 (acc_copyin): Likewise.
3337 (acc_present_or_create): Likewise.
3338 (acc_present_or_copyin): Likewise.
3339 (acc_create_async): New API function.
3340 (acc_copyin_async): New API function.
3341 (delete_copyout): Add async parameter and async setting/unsetting.
3342 (acc_delete): Adjust delete_copyout call.
3343 (acc_copyout): Likewise.
3344 (acc_delete_async): New API function.
3345 (acc_copyout_async): Likewise.
3346 (update_dev_host): Add async parameter and async setting/unsetting.
3347 (acc_update_device): Adjust update_dev_host call.
3348 (acc_update_self): Likewise.
3349 (acc_update_device_async): New API function.
3350 (acc_update_self_async): Likewise.
3351 * openacc.h (acc_copyin_async): Declare new API function.
3352 (acc_create_async): Likewise.
3353 (acc_copyout_async): Likewise.
3354 (acc_delete_async): Likewise.
3355 (acc_update_device_async): Likewise.
3356 (acc_update_self_async): Likewise.
3357 (acc_memcpy_to_device_async): Likewise.
3358 (acc_memcpy_from_device_async): Likewise.
3359 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3360 (acc_copyin_async_64_h): New subroutine.
3361 (acc_copyin_async_array_h): New subroutine.
3362 (acc_create_async_32_h): New subroutine.
3363 (acc_create_async_64_h): New subroutine.
3364 (acc_create_async_array_h): New subroutine.
3365 (acc_copyout_async_32_h): New subroutine.
3366 (acc_copyout_async_64_h): New subroutine.
3367 (acc_copyout_async_array_h): New subroutine.
3368 (acc_delete_async_32_h): New subroutine.
3369 (acc_delete_async_64_h): New subroutine.
3370 (acc_delete_async_array_h): New subroutine.
3371 (acc_update_device_async_32_h): New subroutine.
3372 (acc_update_device_async_64_h): New subroutine.
3373 (acc_update_device_async_array_h): New subroutine.
3374 (acc_update_self_async_32_h): New subroutine.
3375 (acc_update_self_async_64_h): New subroutine.
3376 (acc_update_self_async_array_h): New subroutine.
3377 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3378 (acc_copyin_async_64_h): New subroutine.
3379 (acc_copyin_async_array_h): New subroutine.
3380 (acc_create_async_32_h): New subroutine.
3381 (acc_create_async_64_h): New subroutine.
3382 (acc_create_async_array_h): New subroutine.
3383 (acc_copyout_async_32_h): New subroutine.
3384 (acc_copyout_async_64_h): New subroutine.
3385 (acc_copyout_async_array_h): New subroutine.
3386 (acc_delete_async_32_h): New subroutine.
3387 (acc_delete_async_64_h): New subroutine.
3388 (acc_delete_async_array_h): New subroutine.
3389 (acc_update_device_async_32_h): New subroutine.
3390 (acc_update_device_async_64_h): New subroutine.
3391 (acc_update_device_async_array_h): New subroutine.
3392 (acc_update_self_async_32_h): New subroutine.
3393 (acc_update_self_async_64_h): New subroutine.
3394 (acc_update_self_async_array_h): New subroutine.
3395 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3396 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3397 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3398 acc_memcpy_to_device_async*, acc_update_device_async*, and
3399 acc_update_self_async* entries.
3400 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3401 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3402 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3403
22e05272
JM
34042018-10-31 Joseph Myers <joseph@codesourcery.com>
3405
3406 PR bootstrap/82856
3407 * Makefile.am: Include multilib.am
3408 (AUTOMAKE_OPTIONS): Add info-in-builddir.
3409 (CLEANFILES): Remove libgomp.info.
3410 * configure.ac: Remove AC_PREREQ.
3411 * testsuite/Makefile.am (RUNTEST): Remove quotes.
3412 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3413 Regenerate.
3414
87a5ccfb
JM
34152018-10-29 Joseph Myers <joseph@codesourcery.com>
3416 Julian Brown <julian@codesourcery.com>
3417
3418 * testsuite/libgomp.oacc-c++/this.C: New.
3419
2049befd
CP
34202018-09-18 Cesar Philippidis <cesar@codesourcery.com>
3421
3422 * plugin/plugin-nvptx.c (struct cuda_map): New.
3423 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3424 h_tail with (cuda_map *) map.
3425 (cuda_map_create): New function.
3426 (cuda_map_destroy): New function.
3427 (map_init): Update to use a linked list of cuda_map objects.
3428 (map_fini): Likewise.
3429 (map_pop): Likewise.
3430 (map_push): Likewise. Return CUdeviceptr instead of void.
3431 (init_streams_for_device): Remove stales references to ptx_stream
3432 members.
3433 (select_stream_for_async): Likewise.
3434 (nvptx_exec): Update call to map_init.
3435
8e36332c
CP
34362018-09-09 Cesar Philippidis <cesar@codesourcery.com>
3437 Julian Brown <julian@codesourcery.com>
3438
3439 PR middle-end/86336
3440 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3441
2b4c9065
NK
34422018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
3443 Thomas Koenig <tkoenig@gcc.gnu.org>
3444
3445 PR fortran/25829
3446 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3447 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3448 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3449 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3450 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3451 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3452 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3453
bd9b3d3d
CP
34542018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3455 Tom de Vries <tdevries@suse.de>
3456
3457 PR target/85590
3458 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3459 (cuOccupancyMaxPotentialBlockSize): Declare.
3460 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3461 CUDA_ONE_CALL_MAYBE_NULL.
3462 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3463 CUoccupancyB2DSize and declare
3464 cuOccupancyMaxPotentialBlockSize.
3465 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3466 default num_gangs and num_workers when the driver supports it.
3467
8e09a12f
TV
34682018-08-08 Tom de Vries <tdevries@suse.de>
3469
3470 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3471 CUDA_ONE_CALL_MAYBE_NULL.
3472 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3473 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3474 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3475 are not found.
3476
cedd9bd0
TV
34772018-08-08 Tom de Vries <tdevries@suse.de>
3478
3479 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3480 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3481 present.
3482
b113af95
TV
34832018-08-08 Tom de Vries <tdevries@suse.de>
3484
3485 * plugin/plugin-nvptx.c
3486 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3487 (nvptx_open_device): Use
3488 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3489
94767dac
TV
34902018-08-08 Tom de Vries <tdevries@suse.de>
3491
3492 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3493 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3494
02150de8
TV
34952018-08-07 Tom de Vries <tdevries@suse.de>
3496
3497 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3498 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3499 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3500 corresponding call in CUDA_ONE_CALL. Add def/undef of
3501 CUDA_ONE_CALL_MAYBE_NULL.
3502 (CUDA_CALL_EXISTS): Define.
3503
9e28b107
TV
35042018-08-07 Tom de Vries <tdevries@suse.de>
3505
3506 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3507 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3508 corresponding undefs right after.
3509
09940090
TV
35102018-08-04 Tom de Vries <tdevries@suse.de>
3511
3512 * plugin/configfrag.ac: For --without-cuda-driver, set
3513 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3514 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3515 * configure: Regenerate.
3516
77e0a97a
TV
35172018-08-02 Tom de Vries <tdevries@suse.de>
3518
3519 PR target/86660
3520 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3521 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3522 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3523 Same.
3524 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3525 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3526 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3527
701d080a
CP
35282018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3529 Thomas Schwinge <thomas@codesourcery.com>
3530
3531 * config/nvptx/oacc-parallel.c: Truncate.
3532
094db6be
CP
35332018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3534 James Norris <jnorris@codesourcery.com>
3535
3536 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
3537 (map_init, map_pop): Remove use of struct map.
3538 (map_push): Likewise and change argument list.
094db6be
CP
3539 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3540
8c6310a2
TV
35412018-08-01 Tom de Vries <tdevries@suse.de>
3542
3543 * plugin/cuda-lib.def: New file. Factor out of ...
3544 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3545 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3546 using CUDA_CALLS.
3547
1d4a51cf
AV
35482018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3549
3550 Revert 'AsyncI/O patch committed'.
3551 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3552 Thomas Koenig <tkoenig@gcc.gnu.org>
3553
3554 PR fortran/25829
3555 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3556 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3557 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3558 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3559 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3560 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3561 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3562
4cdfee3f
TV
35632018-07-30 Tom de Vries <tdevries@suse.de>
3564
3565 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3566 (nvptx_exec): Ensure worker and vector default dims don't exceed
3567 targ_fn->max_threads_per_block.
3568
0b210c43
TV
35692018-07-30 Tom de Vries <tdevries@suse.de>
3570
3571 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3572 (nvptx_open_device): Init default_dims for device.
3573 (nvptx_exec): Use default_dims from device.
3574
5883c5cc
JJ
35752018-07-26 Jakub Jelinek <jakub@redhat.com>
3576
5d36384c
JJ
3577 PR testsuite/86660
3578 * testsuite/libgomp.c++/for-15.C (results): Include it in
3579 omp declare target region.
3580 (main): Use map (always, tofrom: results) instead of
3581 map (tofrom: results).
3582
5883c5cc
JJ
3583 PR middle-end/86660
3584 * testsuite/libgomp.c/pr86660.c: New test.
3585
88a4654d
CP
35862018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3587 Tom de Vries <tdevries@suse.de>
3588
3589 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3590 sufficient resources to launch a kernel, and give a hint on how to fix
3591 it.
3592
0c6c2f5f
CP
35932018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3594 Tom de Vries <tdevries@suse.de>
3595
3596 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3597 max_threads_per_block and max_threads_per_multiprocessor fields.
3598 (nvptx_open_device): Initialize new fields.
3599 (nvptx_exec): Use num_sms, and new fields.
3600
6dd58010
TV
36012018-07-26 Tom de Vries <tdevries@suse.de>
3602
3603 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3604 to correct locations. Remove xfail.
3605
b2eb1779
TV
36062018-07-26 Tom de Vries <tdevries@suse.de>
3607
3608 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3609 acc_wait. Move acc_async_test calls to correct locations. Remove
3610 xfail.
3611
b1f45884
NK
36122018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3613 Thomas Koenig <tkoenig@gcc.gnu.org>
3614
3615 PR fortran/25829
3616 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3617 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3618 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3619 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3620 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3621 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3622 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3623
3a106211
JJ
36242018-07-17 Jakub Jelinek <jakub@redhat.com>
3625
a3bccfa1
JJ
3626 PR middle-end/86542
3627 * testsuite/libgomp.c++/pr86542.C: New test.
3628
3a106211
JJ
3629 PR middle-end/86539
3630 * testsuite/libgomp.c++/pr86539.C: New test.
3631
2bae8b2f
JJ
36322018-07-11 Jakub Jelinek <jakub@redhat.com>
3633
3634 PR c++/86443
3635 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3636 (results): Make sure the variable is not inside declare target region.
3637 (qux): Remove unused function.
3638
0b27c3ed
JJ
36392018-07-10 Jakub Jelinek <jakub@redhat.com>
3640
3641 PR c++/86443
3642 * testsuite/libgomp.c++/for-15.C: New test.
3643
f0391511
JJ
36442018-06-26 Jakub Jelinek <jakub@redhat.com>
3645
3646 PR c++/86291
3647 * testsuite/libgomp.c++/pr86291.C: New test.
3648
1a6d1d24
GP
36492018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3650
3651 * libgomp.texi (Top): Move www.openmp.org to https.
3652 (Enabling OpenMP): Ditto.
3653 (omp_get_active_level): Ditto.
3654 (omp_get_ancestor_thread_num): Ditto.
3655 (omp_get_cancellation): Ditto.
3656 (omp_get_default_device): Ditto.
3657 (omp_get_dynamic): Ditto.
3658 (omp_get_level): Ditto.
3659 (omp_get_max_active_levels): Ditto.
3660 (omp_get_max_task_priority): Ditto.
3661 (omp_get_max_threads): Ditto.
3662 (omp_get_nested): Ditto.
3663 (omp_get_num_devices): Ditto.
3664 (omp_get_num_procs): Ditto.
3665 (omp_get_num_teams): Ditto.
3666 (omp_get_num_threads): Ditto.
3667 (omp_get_proc_bind): Ditto.
3668 (omp_get_schedule): Ditto.
3669 (omp_get_team_num): Ditto.
3670 (omp_get_team_size): Ditto.
3671 (omp_get_thread_limit): Ditto.
3672 (omp_get_thread_num): Ditto.
3673 (omp_in_parallel): Ditto.
3674 (omp_in_final): Ditto.
3675 (omp_is_initial_device): Ditto.
3676 (omp_set_default_device): Ditto.
3677 (omp_set_dynamic): Ditto.
3678 (omp_set_max_active_levels): Ditto.
3679 (omp_set_nested): Ditto.
3680 (omp_set_num_threads): Ditto.
3681 (omp_set_schedule): Ditto.
3682 (omp_init_lock): Ditto.
3683 (omp_set_lock): Ditto.
3684 (omp_test_lock): Ditto.
3685 (omp_unset_lock): Ditto.
3686 (omp_destroy_lock): Ditto.
3687 (omp_init_nest_lock): Ditto.
3688 (omp_set_nest_lock): Ditto.
3689 (omp_test_nest_lock): Ditto.
3690 (omp_unset_nest_lock): Ditto.
3691 (omp_destroy_nest_lock): Ditto.
3692 (omp_get_wtick): Ditto.
3693 (omp_get_wtime): Ditto.
3694 (OMP_CANCELLATION): Ditto.
3695 (OMP_DISPLAY_ENV): Ditto.
3696 (OMP_DEFAULT_DEVICE): Ditto.
3697 (OMP_DYNAMIC): Ditto.
3698 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3699 (OMP_MAX_TASK_PRIORITY): Ditto.
3700 (OMP_NESTED): Ditto.
3701 (OMP_NUM_THREADS): Ditto.
3702 (OMP_PROC_BIND): Ditto.
3703 (OMP_PLACES): Ditto.
3704 (OMP_STACKSIZE): Ditto.
3705 (OMP_SCHEDULE): Ditto.
3706 (OMP_THREAD_LIMIT): Ditto.
3707 (OMP_WAIT_POLICY): Ditto.
3708
31dd69b7
CP
37092018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3710 James Norris <jnorris@codesourcery.com>
3711 Julian Brown <julian@codesourcery.com>
3712 Thomas Schwinge <thomas@codesourcery.com>
3713 Tom de Vries <tom@codesourcery.com>
3714
3715 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3716 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3717 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3718 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3719 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3720 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3721 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3722 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3723 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3724 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3725 Likewise.
3726 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3727 Likewise.
3728 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3729 Likewise.
3730 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3731 Likewise.
3732 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3733 Likewise.
3734 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3735 Likewise.
3736 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3737 Likewise.
3738 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3739 Likewise.
3740 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3741 Likewise.
3742 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3743 Likewise.
3744 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3745 Likewise.
3746 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3747 Likewise.
3748 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3749 Likewise.
3750 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3751 Likewise.
3752 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3753 Likewise.
3754 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3755 Likewise.
3756 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3757 Likewise.
3758 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3759 Likewise.
3760 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3761 Likewise.
3762 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3763 Likewise.
3764 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3765 Likewise.
3766 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3767 Likewise.
3768 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3769 Likewise.
3770 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3771 Likewise.
3772 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3773 Likewise.
3774 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3775 Likewise.
3776 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3777 Likewise.
3778 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3779 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3780 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3781 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3782 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3783 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3784 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3785 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3786 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3787 Likewise.
3788 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3789 Likewise.
3790 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3791 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3792 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3793 Likewise.
3794 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3795 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3796 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3797 Likewise.
3798 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3799 Likewise.
3800 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3801 Likewise.
3802 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3803 Likewise.
3804 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3805 Likewise.
3806 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3807 Likewise.
3808 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3809 Likewise.
3810 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3811 Likewise.
3812 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3813 Likewise.
3814 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3815 Likewise.
3816 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3817 Likewise.
3818 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3819 Likewise.
3820 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3821 Likewise.
3822 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3823 Likewise.
3824 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3825 Likewise.
3826 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3827 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3828 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3831 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3832 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3833
829c6349
CLT
38342018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3835 Thomas Schwinge <thomas@codesourcery.com>
3836 Cesar Philippidis <cesar@codesourcery.com>
3837
3838 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3839 (gomp_acc_remove_pointer): Update declaration.
3840 (gomp_acc_declare_allocate): Declare.
3841 (gomp_remove_var): Declare.
3842 * libgomp.map (OACC_2.5): Define.
3843 * oacc-mem.c (acc_map_data): Update refcount.
3844 (acc_unmap_data): Likewise.
3845 (present_create_copy): Likewise.
3846 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3847 (acc_copyin): Likewise.
3848 (FLAG_FINALIZE): Define.
3849 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3850 (acc_delete_finalize): New function.
3851 (acc_delete_finalize_async): New function.
3852 (acc_copyout_finalize): New function.
3853 (acc_copyout_finalize_async): New function.
3854 (gomp_acc_insert_pointer): Update refcounts.
3855 (gomp_acc_remove_pointer): Return if data is not present on the
3856 accelerator.
3857 * oacc-parallel.c (find_pset): Rename to find_pointer.
3858 (find_pointer): Add support for GOMP_MAP_POINTER.
3859 (handle_ftn_pointers): New function.
3860 (GOACC_parallel_keyed): Update refcounts of variables.
3861 (GOACC_enter_exit_data): Add support for finalized data mappings.
3862 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3863 of fortran arrays.
3864 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3865 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3866 for GOMP_MAP_FORCE_FROM.
3867 * openacc.f90 (module openacc_internal): Add
3868 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3869 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3870 acc_copyout_finalize and acc_delete_finalize.
3871 (acc_copyout_finalize_32_h): New subroutine.
3872 (acc_copyout_finalize_64_h): New subroutine.
3873 (acc_copyout_finalize_array_h): New subroutine.
3874 (acc_delete_finalize_32_h): New subroutine.
3875 (acc_delete_finalize_64_h): New subroutine.
3876 (acc_delete_finalize_array_h): New subroutine.
3877 * openacc.h (acc_copyout_finalize): Declare.
3878 (acc_copyout_finalize_async): Declare.
3879 (acc_delete_finalize): Declare.
3880 (acc_delete_finalize_async): Declare.
3881 * openacc_lib.h (acc_copyout_finalize): New interface.
3882 (acc_delete_finalize): New interface.
3883 * target.c (gomp_map_vars): Update dynamic_refcount.
3884 (gomp_remove_var): New function.
3885 (gomp_unmap_vars): Use it.
3886 (gomp_unload_image_from_device): Likewise.
3887 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3888 case to utilize OpenACC 2.5 data clause semantics.
3889 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3890 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3891 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3892 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3893 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3894 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3895 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3896 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3897 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3898 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3899 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3900 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3901 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3902 utilize OpenACC 2.5 data clause semantics.
3903 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3904 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3905 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3906 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3907 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3908 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3909 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3910 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3911 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3912
4358400b
JW
39132018-05-21 Janus Weil <janus@gcc.gnu.org>
3914
3915 PR fortran/85841
3916 PR testsuite/85865
3917 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3918 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3919 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3920 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3921 * testsuite/libgomp.fortran/task2.f90: Ditto.
3922 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3923 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3924 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3925 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3926 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3927 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3928 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3929 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3930 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3931
950ad0ba
CP
39322018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3933
3934 PR c++/85782
3935 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3936
f5ad16f1
TV
39372018-05-09 Tom de Vries <tom@codesourcery.com>
3938
3939 PR libgomp/82901
3940 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3941 to GOACC_enter_exit_data.
3942
edbd038a
TV
39432018-05-09 Tom de Vries <tom@codesourcery.com>
3944
3945 PR libgomp/83792
3946 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3947 (async_synchronous_p): New function.
3948 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3949 async_valid_p.
3950 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3951 async_valid_stream_id_p.
3952 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3953 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3954
37d6c719
TV
39552018-05-07 Tom de Vries <tom@codesourcery.com>
3956
3957 PR testsuite/85677
3958 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3959 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3960
63f12215
TV
39612018-05-03 Tom de Vries <tom@codesourcery.com>
3962
3963 PR testsuite/85106
3964 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3965 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3966 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3967 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3968
ec00d3fa
TV
39692018-05-02 Tom de Vries <tom@codesourcery.com>
3970
3971 PR libgomp/85411
3972 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3973 GOMP_OPENACC_DIM ...
3974 * env.c (parse_gomp_openacc_dim): ... here. New function.
3975 (initialize_env): Call parse_gomp_openacc_dim.
3976 (goacc_default_dims): Define.
3977 * libgomp.h (goacc_default_dims): Declare.
3978 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3979 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3980 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3981 GOMP_PLUGIN_acc_default_dim.
3982 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3983 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3984
92243e7c
TV
39852018-05-02 Tom de Vries <tom@codesourcery.com>
3986
3987 PR testsuite/83791
3988 * testsuite/libgomp.c++/udr-9.C: Update.
3989 * testsuite/libgomp.c++/atomic-16.C: Remove.
3990 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3991 * testsuite/libgomp.c++/loop-13.C: Remove.
3992 * testsuite/libgomp.c++/loop-14.C: Remove.
3993 * testsuite/libgomp.c++/loop-15.C: Remove.
3994 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3995 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3996 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3997 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3998 * testsuite/libgomp.c++/ordered-1.C: Remove.
3999 * testsuite/libgomp.c++/pr45784.C: Remove.
4000 * testsuite/libgomp.c++/pr64824.C: Remove.
4001 * testsuite/libgomp.c++/pr64868.C: Remove.
4002 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4003 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4004 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4005 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4006 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4007 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4008 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4009 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4010 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4011 * testsuite/libgomp.c++/pr69389.C: Remove.
4012 * testsuite/libgomp.c++/simd10.C: Remove.
4013 * testsuite/libgomp.c++/simd11.C: Remove.
4014 * testsuite/libgomp.c++/simd12.C: Remove.
4015 * testsuite/libgomp.c++/simd13.C: Remove.
4016 * testsuite/libgomp.c++/target-1.C: Remove.
4017 * testsuite/libgomp.c++/target-3.C: Remove.
4018 * testsuite/libgomp.c++/target-4.C: Remove.
4019 * testsuite/libgomp.c++/target-5.C: Remove.
4020 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4021 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4022 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4023 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4024 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4025 * testsuite/libgomp.c++/udr-9.C: Remove.
4026 * testsuite/libgomp.c++/for-10.C: Remove.
4027 * testsuite/libgomp.c++/for-11.C: Remove.
4028 * testsuite/libgomp.c++/for-12.C: Remove.
4029 * testsuite/libgomp.c++/for-13.C: Remove.
4030 * testsuite/libgomp.c++/for-14.C: Remove.
4031 * testsuite/libgomp.c++/for-9.C: Remove.
4032 * testsuite/libgomp.c/atomic-18.c: Move ...
4033 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4034 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4035 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4036 * testsuite/libgomp.c/loop-13.c: Move ...
4037 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4038 * testsuite/libgomp.c/loop-14.c: Move ...
4039 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4040 * testsuite/libgomp.c/loop-15.c: Remove.
4041 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4042 * testsuite/libgomp.c/monotonic-1.c: Move ...
4043 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4044 * testsuite/libgomp.c/monotonic-2.c: Move ...
4045 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4046 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4047 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4048 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4049 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4050 * testsuite/libgomp.c/ordered-4.c: Move ...
4051 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4052 * testsuite/libgomp.c/pr45784.c: Move ...
4053 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4054 * testsuite/libgomp.c/pr64824.c: Move ...
4055 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4056 * testsuite/libgomp.c/pr64868.c: Move ...
4057 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4058 * testsuite/libgomp.c/pr66199-1.c: Move ...
4059 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4060 * testsuite/libgomp.c/pr66199-2.c: Move ...
4061 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4062 * testsuite/libgomp.c/pr66199-3.c: Move ...
4063 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4064 * testsuite/libgomp.c/pr66199-4.c: Move ...
4065 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4066 * testsuite/libgomp.c/pr66199-5.c: Move ...
4067 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4068 * testsuite/libgomp.c/pr66199-6.c: Move ...
4069 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4070 * testsuite/libgomp.c/pr66199-7.c: Move ...
4071 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4072 * testsuite/libgomp.c/pr66199-8.c: Move ...
4073 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4074 * testsuite/libgomp.c/pr66199-9.c: Move ...
4075 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4076 * testsuite/libgomp.c/pr69389.c: Move ...
4077 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4078 * testsuite/libgomp.c/simd-14.c: Move ...
4079 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4080 * testsuite/libgomp.c/simd-15.c: Move ...
4081 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4082 * testsuite/libgomp.c/simd-16.c: Move ...
4083 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4084 * testsuite/libgomp.c/simd-17.c: Move ...
4085 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4086 * testsuite/libgomp.c/target-1.c: Move ...
4087 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4088 * testsuite/libgomp.c/target-10.c: Move ...
4089 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4090 * testsuite/libgomp.c/target-13.c: Move ...
4091 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4092 * testsuite/libgomp.c/target-2.c: Move ...
4093 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4094 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4095 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4096 * testsuite/libgomp.c/taskloop-1.c: Move ...
4097 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4098 * testsuite/libgomp.c/taskloop-2.c: Move ...
4099 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4100 * testsuite/libgomp.c/taskloop-3.c: Move ...
4101 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4102 * testsuite/libgomp.c/taskloop-4.c: Move ...
4103 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4104 * testsuite/libgomp.c/udr-1.c: Move ...
4105 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4106 * testsuite/libgomp.c/for-1.c: Move ...
4107 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4108 * testsuite/libgomp.c/for-1.h: Move ...
4109 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4110 * testsuite/libgomp.c/for-2.c: Move ...
4111 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4112 * testsuite/libgomp.c/for-2.h: Move ...
4113 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4114 * testsuite/libgomp.c/for-3.c: Move ...
4115 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4116 * testsuite/libgomp.c/for-4.c: Move ...
4117 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4118 * testsuite/libgomp.c/for-5.c: Move ...
4119 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4120 * testsuite/libgomp.c/for-6.c: Move ...
4121 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4122
1f62d637
TV
41232018-05-02 Tom de Vries <tom@codesourcery.com>
4124
4125 PR libgomp/82428
4126 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4127 __builtin_goacc_parlevel_{id,size}.
4128 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4129 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4130 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4131 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4132 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4133 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4134 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4135 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4136 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4137 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4138 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4139 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4140 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4141 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4142 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4143 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4144 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4145 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4146 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4147 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4148 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4149 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4150 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4151
9220b511
TV
41522018-05-02 Tom de Vries <tom@codesourcery.com>
4153
4154 PR testsuite/85106
4155 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4156
6c3c13c1
TV
41572018-05-02 Tom de Vries <tom@codesourcery.com>
4158
4159 PR testsuite/85106
4160 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4161
8d70b61e
JB
41622018-04-29 Julian Brown <julian@codesourcery.com>
4163 Tom de Vries <tom@codesourcery.com>
4164
4165 PR testsuite/85527
4166 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4167 arbitrary order for iterations of atomic subtract check.
4168
4a57a4b6
TV
41692018-04-28 Tom de Vries <tom@codesourcery.com>
4170
4171 PR testsuite/85527
4172 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4173 atomic capture results obtained in parallel loop to an array, instead of
4174 to a scalar.
4175
df36a3d3
TV
41762018-04-26 Tom de Vries <tom@codesourcery.com>
4177
4178 PR libgomp/84020
4179 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4180 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4181 (process_GOMP_NVPTX_JIT): New function.
4182 (link_ptx): Use process_GOMP_NVPTX_JIT.
4183
d160ae78
RB
41842018-04-26 Richard Biener <rguenther@suse.de>
4185 Tom de Vries <tom@codesourcery.com>
4186
4187 PR lto/85422
4188 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4189
ca9dc642
TV
41902018-04-26 Tom de Vries <tom@codesourcery.com>
4191
4192 PR target/85519
4193 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4194 recursion depth from 25 to 23.
4195 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4196
7b47ecf2
L
41972018-04-24 H.J. Lu <hongjiu.lu@intel.com>
4198
4199 * configure: Regenerated.
4200
e91eba31
NS
42012018-04-20 Nathan Sidwell <nathan@codesourcery.com>
4202 Tom de Vries <tom@codesourcery.com>
4203
4204 PR target/85445
4205 * testsuite/libgomp.oacc-c++/ref-1.C: New.
4206
6e0d40b6
TS
42072018-04-19 Thomas Schwinge <thomas@codesourcery.com>
4208
4209 PR libgomp/85463
4210 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4211 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4212 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4213 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4214 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4215 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4216
4217 PR libfortran/85166
4218 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4219 abort".
4220 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4221
a0e1df88
JJ
42222018-04-19 Jakub Jelinek <jakub@redhat.com>
4223
4224 * configure: Regenerated.
4225
001ddaa8
DM
42262018-04-18 David Malcolm <dmalcolm@redhat.com>
4227
4228 PR jit/85384
4229 * configure: Regenerate.
4230
05e0af43
CP
42312018-04-16 Cesar Philippidis <cesar@codesourcery.com>
4232 Tom de Vries <tom@codesourcery.com>
4233
4234 PR middle-end/84955
4235 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4236 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4237
bc436e10
TK
42382018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4239
4240 PR fortran/83064
4241 PR testsuite/85346
4242 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4243 test from gfortran.dg to here.
4244
ffb164c7
JJ
42452018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4246
4247 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4248 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4249
42502018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4251
4252 PR middle-end/84955
4253 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4254 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4255
2ba16fd2
TV
42562018-04-05 Tom de Vries <tom@codesourcery.com>
4257
4258 PR target/85204
4259 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4260
46dbeb40
TV
42612018-03-26 Tom de Vries <tom@codesourcery.com>
4262
4263 PR tree-optimization/85063
4264 * testsuite/libgomp.c/switch-conversion-2.c: New test.
4265 * testsuite/libgomp.c/switch-conversion.c: New test.
4266 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4267 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4268
bfc24e32
TK
42692018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
4270
4271 PR fortran/84381
4272 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4273 call abort by STOP n.
4274 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4275 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4276 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4277 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4278 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4279 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4280 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4281 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4282 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4283 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4284 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4285 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4286 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4287 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4288 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4289 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4290 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4291 * testsuite/libgomp.fortran/associate1.f90: Likewise.
4292 * testsuite/libgomp.fortran/associate2.f90: Likewise.
4293 * testsuite/libgomp.fortran/associate3.f90: Likewise.
4294 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4295 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4296 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4297 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4298 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4299 * testsuite/libgomp.fortran/character1.f90: Likewise.
4300 * testsuite/libgomp.fortran/character2.f90: Likewise.
4301 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4302 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4303 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4304 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4305 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4306 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4307 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4308 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4309 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4310 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4311 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4312 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4313 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4314 * testsuite/libgomp.fortran/do1.f90: Likewise.
4315 * testsuite/libgomp.fortran/do2.f90: Likewise.
4316 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4317 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4318 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4319 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4320 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4321 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4322 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4323 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4324 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4325 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4326 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4327 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4328 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4329 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4330 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4331 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4332 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4333 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4334 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4335 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4336 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4337 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4338 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4339 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4340 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4341 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4342 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4343 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4344 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4345 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4346 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4347 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4348 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4349 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4350 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4351 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4352 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4353 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4354 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4355 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4356 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4357 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4358 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4359 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4360 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4361 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4362 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4363 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4364 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4365 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4366 * testsuite/libgomp.fortran/lib2.f: Likewise.
4367 * testsuite/libgomp.fortran/lib3.f: Likewise.
4368 * testsuite/libgomp.fortran/lib4.f90: Likewise.
4369 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4370 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4371 * testsuite/libgomp.fortran/nested1.f90: Likewise.
4372 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4373 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4374 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4375 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4376 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4377 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4378 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4379 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4380 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4381 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4382 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4383 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4384 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4385 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4386 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4387 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4388 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4389 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4390 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4391 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4392 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4393 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4394 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4395 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4396 * testsuite/libgomp.fortran/pr25162.f: Likewise.
4397 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4398 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4399 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4400 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4401 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4402 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4403 * testsuite/libgomp.fortran/pr28390.f: Likewise.
4404 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4405 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4406 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4407 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4408 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4409 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4410 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4411 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4412 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4413 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4414 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4415 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4416 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4417 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4418 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4419 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4420 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4421 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4422 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4423 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4424 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4425 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4426 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4427 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4428 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4429 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4430 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4431 * testsuite/libgomp.fortran/reference1.f90: Likewise.
4432 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4433 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4434 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4435 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4436 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4437 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4438 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4439 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4440 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4441 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4442 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4443 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4444 * testsuite/libgomp.fortran/stack.f90: Likewise.
4445 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4446 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4447 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4448 * testsuite/libgomp.fortran/target1.f90: Likewise.
4449 * testsuite/libgomp.fortran/target2.f90: Likewise.
4450 * testsuite/libgomp.fortran/target3.f90: Likewise.
4451 * testsuite/libgomp.fortran/target4.f90: Likewise.
4452 * testsuite/libgomp.fortran/target5.f90: Likewise.
4453 * testsuite/libgomp.fortran/target6.f90: Likewise.
4454 * testsuite/libgomp.fortran/target7.f90: Likewise.
4455 * testsuite/libgomp.fortran/target8.f90: Likewise.
4456 * testsuite/libgomp.fortran/task1.f90: Likewise.
4457 * testsuite/libgomp.fortran/task2.f90: Likewise.
4458 * testsuite/libgomp.fortran/task3.f90: Likewise.
4459 * testsuite/libgomp.fortran/task4.f90: Likewise.
4460 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4461 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4462 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4463 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4464 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4465 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4466 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4467 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4468 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4469 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4470 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4471 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4472 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4473 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4474 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4475 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4476 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4477 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4478 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4479 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4480 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4481 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4482 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4483 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4484 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4485 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4486 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4487 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4488 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4489 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4490 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4491 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4492 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4493 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4494 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4495 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4496 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4497 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4498 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4499 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4500 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4501 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4502 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4503 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4504 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4505 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4506 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4507 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4508 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4509 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4510 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4511 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4512 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4513 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4514 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4515 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4516 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4517 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4518 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4519 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4520 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4521 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4522 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4523 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4524 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4525 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4526 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4527 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4528 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4529 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4530 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4531 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4532 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4533 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4534 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4535 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4536 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4537 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4538 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4539 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4540 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4541 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4542 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4543 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4544 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4545 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4546 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4547 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4548 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4549 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4550 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4551 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4552 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4553 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4554 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4555 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4556 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4557 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4558 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4559 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4560 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4561 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4562 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4563 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4564 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4565 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4566 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4567 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4568 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4569 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4570 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4571 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4572 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4573 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4574 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4575 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4576 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4577 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4578 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4579 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4580 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4581 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4582 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4583 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4584 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4585 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4586
79cf14ae
RB
45872018-03-20 Richard Biener <rguenther@suse.de>
4588
4589 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4590 parallelizable loop.
4591
14e335ed
IT
45922018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4593
4594 PR target/84148
4595 * configure: Regenerate.
4596
83d9be55
JJ
45972018-02-16 Jakub Jelinek <jakub@redhat.com>
4598
4599 PR fortran/84418
4600 * libgomp.fortran/pr84418-1.f90: New test.
4601 * libgomp.fortran/pr84418-2.f90: New test.
4602
d1fe6124
JJ
46032018-02-14 Jakub Jelinek <jakub@redhat.com>
4604
4605 PR fortran/84313
4606 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4607 -std=f2003 -fall-intrinsics into dg-additional-options.
4608
3d224921
MJ
46092018-02-08 Martin Jambor <mjambor@suse.cz>
4610
4611 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4612 clonable.
4613
c7c30edd
MJ
46142018-02-08 Martin Jambor <mjambor@suse.cz>
4615
4616 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4617
f320fdfd
RO
46182018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4619
4620 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4621 [__cplusplus]: Declare extern "C".
4622
c31bc4ac
TV
46232018-02-07 Tom de Vries <tom@codesourcery.com>
4624
4625 PR libgomp/84217
4626 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4627
99ae7ce5
CS
46282018-01-29 Christoph Spiel <cspiel@freenet.de>
4629 Jakub Jelinek <jakub@redhat.com>
4630
4631 PR libgomp/84096
4632 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4633 instead of omp_lock_t.
4634
e77a1236
TV
46352018-01-25 Tom de Vries <tom@codesourcery.com>
4636
4637 PR target/84028
4638 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4639
3dede32b
TV
46402018-01-24 Tom de Vries <tom@codesourcery.com>
4641
4642 PR target/83589
4643 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4644
be606483
TV
46452018-01-24 Tom de Vries <tom@codesourcery.com>
4646
4647 PR target/81352
4648 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4649
8c8e9a6b
TV
46502018-01-19 Tom de Vries <tom@codesourcery.com>
4651 Cesar Philippidis <cesar@codesourcery.com>
4652
4653 PR target/83920
4654 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4655 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4656
65e6aea3
JJ
46572018-01-03 Jakub Jelinek <jakub@redhat.com>
4658
85ec4feb
JJ
4659 Update copyright years.
4660
65e6aea3
JJ
4661 * libgomp.texi: Bump @copying's copyright year.
4662
60bf575c
TV
46632017-12-30 Tom de Vries <tom@codesourcery.com>
4664
4665 PR libgomp/83046
4666 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4667 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4668
7ec16b79
TV
46692017-12-27 Tom de Vries <tom@codesourcery.com>
4670
4671 PR c++/83046
4672 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4673 (test_nonstatic): Fix return type to workaround PR83046.
4674
ac550b9a
JJ
46752017-12-05 Jakub Jelinek <jakub@redhat.com>
4676
4677 PR testsuite/83281
4678 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4679 j suffix instead of i.
4680 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4681 Likewise.
4682
ebdc83f0
CP
46832017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4684
4685 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4686 call to acc_wait (1).
4687
3b3e6283
JJ
46882017-11-24 Jakub Jelinek <jakub@redhat.com>
4689
4690 PR fortran/81304
4691 * testsuite/libgomp.fortran/pr81304.f90: New test.
4692
3b575376
JJ
46932017-11-23 Jakub Jelinek <jakub@redhat.com>
4694
4695 PR fortran/81841
4696 * libgomp.fortran/pr81841.f90: New test.
4697
b13547d8
JJ
46982017-11-22 Jakub Jelinek <jakub@redhat.com>
4699
4700 PR libgomp/83106
4701 * target.c (gomp_target_init): Compute lengths just once and
4702 use them in both malloc size and subsequent copying.
4703
efe33ced
IT
47042017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4705
4706 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4707 * acinclude.m4: Add cet.m4.
4708 * configure: Regenerate.
4709 * Makefile.in: Likewise.
4710 * testsuite/Makefile.in: Likewise.
4711
a7cf2612
TV
47122017-11-15 Tom de Vries <tom@codesourcery.com>
4713
4714 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4715 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4716 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4717 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4718 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4719 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4720
dde76623
TV
47212017-11-14 Tom de Vries <tom@codesourcery.com>
4722
4723 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4724 non-nvidia devices.
4725
4dbeb716
JJ
47262017-11-07 Jakub Jelinek <jakub@redhat.com>
4727
4728 PR c++/82835
4729 * testsuite/libgomp.c++/pr82835.C: New test.
4730
454f8b2b
ML
47312017-11-06 Martin Liska <mliska@suse.cz>
4732
4733 * testsuite/libgomp.c++/loop-2.C: Return a value
4734 for functions with non-void return type, or change type to void,
4735 or add -Wno-return-type for test.
4736 * testsuite/libgomp.c++/loop-4.C: Likewise.
4737 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4738 * testsuite/libgomp.c++/shared-1.C: Likewise.
4739 * testsuite/libgomp.c++/single-1.C: Likewise.
4740 * testsuite/libgomp.c++/single-2.C: Likewise.
4741
12e9c8ce
TV
47422017-10-31 Tom de Vries <tom@codesourcery.com>
4743
4744 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4745 "do {} while (false)".
4746 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4747 after HSA_DEBUG call.
4748
7324369a
JJ
47492017-10-28 Jakub Jelinek <jakub@redhat.com>
4750
4751 * target.c (struct gomp_coalesce_buf): New type.
4752 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4753 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4754 (gomp_copy_host2dev): Add CBUF argument, if copying into
4755 the cached ranges, memcpy into buffer instead of copying
4756 into device.
4757 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4758 Add CBUF argument, pass it through to other calls.
4759 (gomp_map_vars): Aggregate copies from host to device if small enough
4760 and with small enough gaps in between into memcpy into a buffer and
4761 fewer host to device copies from the buffer.
4762 (gomp_update): Adjust gomp_copy_host2dev caller.
4763
933ab0e6
TS
47642017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4765
4766 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4767 run" directive.
4768 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4769 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4770 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4771 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4772
92d5d01a
TV
47732017-10-16 Tom de Vries <tom@codesourcery.com>
4774
4775 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4776 openacc_nvidia_accel_selected.
4777 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4778 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4779 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4780 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4781 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4782 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4783 openacc_nvidia_accel_selected. Skip for shared memory device.
4784 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4785 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4786
191411e4
MJ
47872017-10-09 Martin Jambor <mjambor@suse.cz>
4788
4789 PR hsa/82416
4790 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4791
e923330e
TV
47922017-10-07 Tom de Vries <tom@codesourcery.com>
4793
4794 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4795 Remove acc_device_nvidia references.
4796 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4797 Same.
4798
8fe3ed4c
TV
47992017-10-05 Tom de Vries <tom@codesourcery.com>
4800
4801 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4802 vector_length(32) clause from acc parallel directive.
4803 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4804
26596ee5
TV
48052017-10-04 Tom de Vries <tom@codesourcery.com>
4806
4807 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4808 (main): Reduce sum of arr elements. Assert that hres is exactly
4809 representable in 32-bit floating point.
4810 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4811 (main): Reduce sum of arr elements. Assert that hres and hmres are
4812 exactly representable in 32-bit floating point.
4813 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4814
5c561fa9
TV
48152017-09-28 Tom de Vries <tom@codesourcery.com>
4816
4817 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4818 setting.
4819 * testsuite/libgomp.c++/pr69393.C: Same.
4820 * testsuite/libgomp.c++/taskloop-1.C: Same.
4821 * testsuite/libgomp.c++/taskloop-3.C: Same.
4822 * testsuite/libgomp.c++/taskloop-4.C: Same.
4823 * testsuite/libgomp.c/for-4.c: Same.
4824 * testsuite/libgomp.c/pr66199-3.c: Same.
4825 * testsuite/libgomp.c/pr66199-4.c: Same.
4826 * testsuite/libgomp.c/pr66199-6.c: Same.
4827 * testsuite/libgomp.c/taskloop-1.c: Same.
4828 * testsuite/libgomp.c/taskloop-3.c: Same.
4829 * testsuite/libgomp.c/taskloop-4.c: Same.
4830 * testsuite/libgomp.fortran/aligned1.f03: Same.
4831 * testsuite/libgomp.fortran/condinc1.f: Same.
4832 * testsuite/libgomp.fortran/condinc3.f90: Same.
4833 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4834 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4835 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4836 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4837 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4838 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4839 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4840 * testsuite/libgomp.fortran/recursion1.f90: Same.
4841 * testsuite/libgomp.fortran/target2.f90: Same.
4842 * testsuite/libgomp.fortran/target5.f90: Same.
4843 * testsuite/libgomp.fortran/task3.f90: Same.
4844
7d6206fe
TV
48452017-09-28 Tom de Vries <tom@codesourcery.com>
4846
4847 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4848 vector_length(32) clause from acc parallel directive.
4849 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4850
84c8627c
TV
48512017-09-27 Tom de Vries <tom@codesourcery.com>
4852
4853 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4854 Remove acc_device_nvidia references.
4855
ebc6a85e
TV
48562017-09-16 Tom de Vries <tom@codesourcery.com>
4857
4858 PR c/81875
4859 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4860
82419efb
TV
48612017-09-14 Tom de Vries <tom@codesourcery.com>
4862
4863 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4864 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4865 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4866 * testsuite/libgomp.c/c.exp: Include test-cases from
4867 libgomp.c-c++-common.
4868 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4869 files.
4870
8b586510
JJ
48712017-09-14 Jakub Jelinek <jakub@redhat.com>
4872
4873 PR c++/81314
4874 * testsuite/libgomp.c++/pr81314.C: New test.
4875
9651fbaf
GP
48762017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4877
4878 * libgomp.texi (Top): www.openacc.org now uses https.
4879 (Enabling OpenACC): Ditto.
4880 (acc_get_num_devices): Ditto.
4881 (acc_set_device_type): Ditto.
4882 (acc_get_device_type): Ditto.
4883 (acc_set_device_num): Ditto.
4884 (acc_get_device_num): Ditto.
4885 (acc_async_test): Ditto.
4886 (acc_async_test_all): Ditto.
4887 (acc_wait): Ditto.
4888 (acc_wait_all): Ditto.
4889 (acc_wait_all_async): Ditto.
4890 (acc_wait_async): Ditto.
4891 (acc_init): Ditto.
4892 (acc_shutdown): Ditto.
4893 (acc_on_device): Ditto.
4894 (acc_malloc): Ditto.
4895 (acc_free): Ditto.
4896 (acc_copyin): Ditto.
4897 (acc_present_or_copyin): Ditto.
4898 (acc_create): Ditto.
4899 (acc_present_or_create): Ditto.
4900 (acc_copyout): Ditto.
4901 (acc_delete): Ditto.
4902 (acc_update_device): Ditto.
4903 (acc_update_self): Ditto.
4904 (acc_map_data): Ditto.
4905 (acc_unmap_data): Ditto.
4906 (acc_deviceptr): Ditto.
4907 (acc_hostptr): Ditto.
4908 (acc_is_present): Ditto.
4909 (acc_memcpy_to_device): Ditto.
4910 (acc_memcpy_from_device): Ditto.
4911 (acc_get_current_cuda_device): Ditto.
4912 (acc_get_current_cuda_context): Ditto.
4913 (acc_get_cuda_stream): Ditto.
4914 (acc_set_cuda_stream): Ditto.
4915 (ACC_DEVICE_TYPE): Ditto.
4916 (ACC_DEVICE_NUM): Ditto.
4917 (OpenACC Library Interoperability): Ditto.
4918
50aa16c3
JJ
49192017-08-09 Jakub Jelinek <jakub@redhat.com>
4920
4921 PR c/81687
4922 * testsuite/libgomp.c/pr81687-1.c: New test.
4923 * testsuite/libgomp.c/pr81687-2.c: New test.
4924
56b5041c
JJ
49252017-08-07 Jakub Jelinek <jakub@redhat.com>
4926
4927 PR c/69389
4928 * testsuite/libgomp.c/pr69389.c: New test.
4929 * testsuite/libgomp.c++/pr69389.C: New test.
4930
f4c222c0
TV
49312017-08-07 Tom de Vries <tom@codesourcery.com>
4932
4933 PR middle-end/78266
4934 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4935 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4936
a40ff0ae
JJ
49372017-07-27 Jakub Jelinek <jakub@redhat.com>
4938
4939 PR c/45784
4940 * testsuite/libgomp.c/pr45784.c: New test.
4941 * testsuite/libgomp.c++/pr45784.C: New test.
4942
3717fbe3
TV
49432017-07-19 Tom de Vries <tom@codesourcery.com>
4944
4945 * testsuite/libgomp.oacc-c/vec.c: New test.
4946
9607b014
TV
49472017-07-03 Tom de Vries <tom@codesourcery.com>
4948
4949 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4950
dfb15f6b
TV
49512017-06-27 Tom de Vries <tom@codesourcery.com>
4952
4953 * plugin/plugin-nvptx.c (notify_var): New function.
4954 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4955
22f1a037
TV
49562017-06-27 Tom de Vries <tom@codesourcery.com>
4957
4958 * env.c (parse_unsigned_long_1): Factor out of ...
4959 (parse_unsigned_long): ... here.
4960 (parse_int_1): Factor out of ...
4961 (parse_int): ... here.
4962 (parse_int_secure): New function.
4963 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4964 * secure_getenv.h: Factor out of ...
4965 * plugin/plugin-hsa.c: ... here.
4966 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4967
d54d1fc3
JJ
49682017-06-21 Jakub Jelinek <jakub@redhat.com>
4969
4970 PR c++/81130
4971 * testsuite/libgomp.c++/pr81130.C: New test.
4972
4f4b0ab8
RO
49732017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4974
4975 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4976 default args.
4977 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4978 dg-xfail-run-if default args.
4979
40ffd95f
BE
49802017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4981
4982 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4983 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4984
01275e1e
JJ
49852017-05-30 Jakub Jelinek <jakub@redhat.com>
4986
4987 PR libgomp/80822
4988 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4989 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4990 sibling lists, depending on level just pick up what CPUs to put
4991 together into a place vs. whether add multiple ordered places.
4992
78672bd8
TS
49932017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4994
7ce64403
TS
4995 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4996 * libgomp.map (OACC_2.0.1): Add these.
4997 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4998 for "acc_wait", and "acc_wait_all", respectively.
4999 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5000 for "acc_wait", and "acc_wait_all", respectively.
5001 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5002 * libgomp.texi (acc_wait, acc_wait_all): Update.
5003 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5004 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5005 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5006
318686c2
TS
5007 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5008 acc_present_or_copyin and acc_present_or_create procedures,
5009 respectively.
5010 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5011 generally different variants of OpenACC Runtime Library functions.
5012 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5013
a6745534
TS
5014 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5015 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5016
9b94fbc7
TS
5017 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5018 of preprocessor definitions.
5019 * libgomp.h (strong_alias): Guard by "#ifdef
5020 HAVE_ATTRIBUTE_ALIAS".
5021 * oacc-mem.c: Provide "acc_pcreate" as alias for
5022 "acc_present_or_create", and "acc_pcopyin" as alias for
5023 "acc_present_or_copyin".
5024 * libgomp.map: New version "OACC_2.0.1".
5025 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5026 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5027 its content into...
5028 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5029 Extend testing.
5030
78672bd8
TS
5031 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5032 when disabling nvptx offloading.
5033
0c36d0d5
TS
50342017-05-23 Thomas Schwinge <thomas@codesourcery.com>
5035
fd71a9a2
TS
5036 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5037 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5038 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5039
0c36d0d5
TS
5040 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5041 * testsuite/lib/libgomp.exp
5042 (check_effective_target_openacc_nvidia_accel_configured): New
5043 proc.
5044 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5045 (check_effective_target_c++): New procs.
5046 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5047 (check_effective_target_c++): Likewise.
5048
c24783c4
JJ
50492017-05-22 Jakub Jelinek <jakub@redhat.com>
5050
655e5265
JJ
5051 PR middle-end/80809
5052 * testsuite/libgomp.c/pr80809-2.c: New test.
5053 * testsuite/libgomp.c/pr80809-3.c: New test.
5054
e9e2ef9f
JJ
5055 PR middle-end/80809
5056 * testsuite/libgomp.c/pr80809-1.c: New test.
5057
c24783c4
JJ
5058 PR middle-end/80853
5059 * testsuite/libgomp.c/pr80853.c: New test.
5060
0da2f96a
TS
50612017-05-19 Thomas Schwinge <thomas@codesourcery.com>
5062
7fd549d2
TS
5063 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5064 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5065 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5066 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5067 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5068
0da2f96a
TS
5069 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5070 Debug output for failure.
5071
62ffe920
RO
50722017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5073
5074 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5075
f49215b1
JJ
50762017-04-27 Jakub Jelinek <jakub@redhat.com>
5077
5078 PR bootstrap/80531
5079 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5080 bootstrap compare failures.
5081
2260d19d
AM
50822017-04-20 Alexander Monakov <amonakov@ispras.ru>
5083
5084 * testsuite/libgomp.c/target-36.c: New testcase.
5085
19929ba9
JJ
50862017-04-13 Jakub Jelinek <jakub@redhat.com>
5087
5088 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5089 instead of char.
5090
fbc698e0
JJ
50912017-04-11 Jakub Jelinek <jakub@redhat.com>
5092
5093 PR libgomp/80394
5094 * testsuite/libgomp.c/pr80394.c: New test.
5095
c4060df4
JJ
50962017-04-04 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR libgomp/79876
5099 * config/posix/thread-stacksize.h: New file.
5100 * config/darwin/thread-stacksize.h: New file.
5101 * config/nvptx/thread-stacksize.h: New file.
5102 * env.c: Include thread-stacksize.h.
5103 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5104 instead of 0. Call pthread_attr_setstacksize even if
5105 GOMP_DEFAULT_STACKSIZE is non-zero.
5106
e02d868a
JJ
51072017-03-30 Jakub Jelinek <jakub@redhat.com>
5108
5109 * env.c (initialize_env): Initialize stacksize to 0.
5110
7ba8651e
CP
51112017-03-22 Cesar Philippidis <cesar@codesourcery.com>
5112
5113 PR c++/80029
5114 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5115
eebc5e2d
JJ
51162017-03-08 Jakub Jelinek <jakub@redhat.com>
5117
5118 PR c/79940
5119 * testsuite/libgomp.c/pr79940.c: New test.
5120
1eb08f52
RO
51212017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5122
5123 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5124 targets.
5125 Add __float128 options.
5126
b0f78ff3
JDA
51272017-02-11 John David Anglin <danglin@gcc.gnu.org>
5128
5129 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5130 hppa*-*-* dg-skip-if directive.
5131
1bbe0d8f
JJ
51322017-02-09 Jakub Jelinek <jakub@redhat.com>
5133
5134 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5135 dg-skip-if directive into a comment.
5136
02889d23
CLT
51372017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5138 Chung-Lin Tang <cltang@codesourcery.com>
5139
5140 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5141 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5142 add additional case.
5143 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5144 "openacc_nvidia_accel_selected".
5145 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5146 Add num_workers(8) clause.
5147
5896a41d
JDA
51482017-02-08 John David Anglin <danglin@gcc.gnu.org>
5149
5150 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5151 hppa*-*-*.
5152 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5153 include complex.h on hppa*-*-hpux*.
5154 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5155
345a8c17
TS
51562017-02-02 Thomas Schwinge <thomas@codesourcery.com>
5157
e70ab10d
TS
5158 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5159
345a8c17
TS
5160 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5161 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5162 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5163 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5164 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5165 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5166 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5167 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5168 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5169 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5170
dced339c
TS
51712017-01-31 Thomas Schwinge <thomas@codesourcery.com>
5172
5173 * libgomp-plugin.h: #include <stdbool.h>.
5174 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5175 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5176 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5177 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5178 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5179 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5180 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5181 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5182 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5183 (GOMP_OFFLOAD_openacc_async_test)
5184 (GOMP_OFFLOAD_openacc_async_test_all)
5185 (GOMP_OFFLOAD_openacc_async_wait)
5186 (GOMP_OFFLOAD_openacc_async_wait_async)
5187 (GOMP_OFFLOAD_openacc_async_wait_all)
5188 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5189 (GOMP_OFFLOAD_openacc_async_set_async)
5190 (GOMP_OFFLOAD_openacc_create_thread_data)
5191 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5192 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5193 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5194 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5195 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5196 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5197 these.
5198 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5199 (GOMP_OFFLOAD_unload_image): Fix argument types.
5200
23749904
JJ
52012017-01-26 Jakub Jelinek <jakub@redhat.com>
5202
c1cadde1
JJ
5203 * testsuite/lib/libgomp.exp
5204 (check_effective_target_hsa_offloading_selected_nocache): Fix up
5205 check_compile invocation. Fix up removal of executable. Drop
5206 bogus "2>&1" argument.
5207
23749904
JJ
5208 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5209 directive.
5210
52112017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
5212 Martin Jambor <mjambor@suse.cz>
5213
5214 * plugin/hsa.h: Moved to top level include.
5215 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5216
73aa401e
JJ
52172017-01-21 Jakub Jelinek <jakub@redhat.com>
5218
5219 PR other/79046
5220 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5221 of cat to get version from BASE-VER file.
5222 * testsuite/Makefile.in: Regenerated.
5223
b32e85fa
JJ
52242017-01-19 Jakub Jelinek <jakub@redhat.com>
5225
5226 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5227 for _WIN64.
5228
3c36aa6b
JJ
52292017-01-17 Jakub Jelinek <jakub@redhat.com>
5230
d190d5c0
JJ
5231 * plugin/hsa.h: Add GCC runtime library exception.
5232 * plugin/hsa_ext_finalize.h: Likewise.
5233
2393d337
JJ
5234 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
5235 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
5236 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5237 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5238 plugin/include/cuda as include dir and -ldl instead of -lcuda as
5239 library to link ptx plugin against.
5240 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5241 (CUDA_CALLS): Define.
5242 (cuda_lib, cuda_lib_inited): New variables.
5243 (init_cuda_lib): New function.
5244 (CUDA_CALL_PREFIX): Define.
5245 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5246 (CUDA_CALL): Use FN instead of (FN).
5247 (CUDA_CALL_NOCHECK): Define.
5248 (cuda_error, fini_streams_for_device, select_stream_for_async,
5249 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5250 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5251 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5252 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5253 CUDA_CALL_NOCHECK.
5254 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
5255 CUDA_CALL_NOCHECK.
5256 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5257 Use CUDA_CALL_NOCHECK.
5258 * plugin/cuda/cuda.h: New file.
5259 * config.h.in: Regenerated.
5260 * configure: Regenerated.
5261
3c36aa6b
JJ
5262 PR other/79046
5263 * configure.ac: Add GCC_BASE_VER.
5264 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5265 get version from BASE-VER file.
5266 * testsuite/Makefile.in: Regenerated.
5267 * configure: Regenerated.
5268 * Makefile.in: Regenerated.
5269
c508bc2d
FXC
52702017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5271
5272 PR libgomp/60670
5273 * Makefile.am: Make fincludedir multilib-aware.
5274 * Makefile.in: Regenerate.
5275
c1a9c369
JJ
52762017-01-01 Jakub Jelinek <jakub@redhat.com>
5277
cbe34bb5
JJ
5278 Update copyright years.
5279
c1a9c369
JJ
5280 * libgomp.texi: Bump @copying's copyright year.
5281
e7a7f4be
SH
52822016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5283
5284 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5285 pthread_spinlock_t instead of gomp_mutex_t lock.
5286 (gomp_get_thread_pool): Likewise.
5287 (gomp_release_thread_pool): Likewise.
5288 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5289 Likewise.
5290
d313d52c
SH
52912016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5292
5293 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5294 thread pool in case nthreads == 1.
5295
630e3c3a
AM
52962016-11-30 Alexander Monakov <amonakov@ispras.ru>
5297
5298 * config/nvptx/env.c: Delete.
5299 * icv.c: Move definitions of ICV variables back ...
5300 * env.c: ...here. Do not compile environment-related functionality if
5301 LIBGOMP_OFFLOADED_ONLY is set.
5302
9e38af5c
AM
53032016-11-30 Alexander Monakov <amonakov@ispras.ru>
5304
5305 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5306 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5307 * configure: Regenerate.
5308 * config.h.in: Likewise.
5309
f96b7f1f
AM
53102016-11-30 Alexander Monakov <amonakov@ispras.ru>
5311
5312 * Makefile.in: Regenerate with automake-1.11.6.
5313 * aclocal.m4: Likewise.
5314 * configure: Likewise.
5315 * testsuite/Makefile.in: Likewise.
5316
6a6951b1
AM
53172016-11-28 Alexander Monakov <amonakov@ispras.ru>
5318
5319 * config/nvptx/critical.c: Delete to use generic implementation.
5320
c7ac071f
JH
53212016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
5322
5323 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5324 ../../affinity.c as fallback.
5325 * config/nvptx/affinity.c: Delete to use fallback implementation.
5326
6103184e 53272016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 5328 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
5329 Dmitry Melnik <dm@ispras.ru>
5330
5331 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5332 * Makefile.in. Regenerate.
5333 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5334 (LIBGOMP_USE_PTHREADS): ...here; new define.
5335 * configure: Regenerate.
5336 * config.h.in: Likewise.
5337 * config/posix/affinity.c: Move to...
5338 * affinity.c: ...here (new file). Guard use of Pthreads-specific
5339 interface by LIBGOMP_USE_PTHREADS.
5340 * critical.c: Split out GOMP_atomic_{start,end} into...
5341 * atomic.c: ...here (new file).
5342 * env.c: Split out ICV definitions into...
5343 * icv.c: ...here (new file) and...
5344 * icv-device.c: ...here. New file.
5345 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5346 (gomp_destroy_lock_30): Ditto.
5347 (gomp_set_lock_30): Ditto.
5348 (gomp_unset_lock_30): Ditto.
5349 (gomp_test_lock_30): Ditto.
5350 (gomp_init_nest_lock_30): Ditto.
5351 (gomp_destroy_nest_lock_30): Ditto.
5352 (gomp_set_nest_lock_30): Ditto.
5353 (gomp_unset_nest_lock_30): Ditto.
5354 (gomp_test_nest_lock_30): Ditto.
5355 * lock.c: New.
5356 * config/nvptx/lock.c: New.
5357 * config/nvptx/bar.c: New.
5358 * config/nvptx/bar.h: New.
5359 * config/nvptx/doacross.h: New.
5360 * config/nvptx/error.c: New.
5361 * config/nvptx/icv-device.c: New.
5362 * config/nvptx/mutex.h: New.
5363 * config/nvptx/pool.h: New.
5364 * config/nvptx/proc.c: New.
5365 * config/nvptx/ptrlock.h: New.
5366 * config/nvptx/sem.h: New.
5367 * config/nvptx/simple-bar.h: New.
5368 * config/nvptx/target.c: New.
5369 * config/nvptx/task.c: New.
5370 * config/nvptx/team.c: New.
5371 * config/nvptx/time.c: New.
5372 * config/posix/simple-bar.h: New.
5373 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
5374 (gomp_num_teams_var): Declare.
5375 (struct gomp_thread_pool): Change threads_dock member to
5376 gomp_simple_barrier_t.
5377 [__nvptx__] (gomp_thread): New implementation.
5378 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5379 (gomp_thread_destructor): Ditto.
5380 (gomp_init_thread_affinity): Ditto.
5381 * team.c: Guard uses of Pthreads-specific interfaces by
5382 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
5383 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5384 * config/nvptx/alloc.c: Delete.
5385 * config/nvptx/barrier.c: Ditto.
5386 * config/nvptx/fortran.c: Ditto.
5387 * config/nvptx/iter.c: Ditto.
5388 * config/nvptx/iter_ull.c: Ditto.
5389 * config/nvptx/loop.c: Ditto.
5390 * config/nvptx/loop_ull.c: Ditto.
5391 * config/nvptx/ordered.c: Ditto.
5392 * config/nvptx/parallel.c: Ditto.
5393 * config/nvptx/priority_queue.c: Ditto.
5394 * config/nvptx/sections.c: Ditto.
5395 * config/nvptx/single.c: Ditto.
5396 * config/nvptx/splay-tree.c: Ditto.
5397 * config/nvptx/work.c: Ditto.
5398 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5399 -foffload=-lgfortran in addition to -lgfortran.
5400 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5401 * plugin/plugin-nvptx.c: Include <limits.h>.
5402 (struct targ_fn_descriptor): Add new fields.
5403 (struct ptx_device): Ditto. Set them...
5404 (nvptx_open_device): ...here.
5405 (nvptx_adjust_launch_bounds): New.
5406 (nvptx_host2dev): Allow NULL 'nvthd'.
5407 (nvptx_dev2host): Ditto.
5408 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5409 (link_ptx): Adjust log sizes.
5410 (nvptx_host2dev): Allow NULL 'nvthd'.
5411 (nvptx_dev2host): Ditto.
5412 (nvptx_set_clocktick): New. Use it...
5413 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
5414 fields.
5415 (GOMP_OFFLOAD_dev2dev): New.
5416 (nvptx_adjust_launch_bounds): New.
5417 (nvptx_stacks_size): New.
5418 (nvptx_stacks_alloc): New.
5419 (nvptx_stacks_free): New.
5420 (GOMP_OFFLOAD_run): New.
5421 (GOMP_OFFLOAD_async_run): New (stub).
5422
56b1c60e
MJ
54232016-11-23 Martin Jambor <mjambor@suse.cz>
5424
5425 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5426 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5427 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5428
b8d89b03 54292016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 5430 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
5431
5432 * plugin/hsa.h: New file.
5433 * plugin/hsa_ext_finalize.h: New file.
5434 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5435 header file unistd.h, and functions secure_getenv, __secure_getenv,
5436 getuid, geteuid, getgid and getegid.
5437 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5438 -D_GNU_SOURCE.
5439 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5440 Handle various cases of secure_getenv presence, add an implementation
5441 when we can test effective UID and GID.
5442 (struct hsa_runtime_fn_info): New structure.
5443 (hsa_runtime_fn_info hsa_fns): New variable.
5444 (hsa_runtime_lib): Likewise.
5445 (support_cpu_devices): Likewise.
5446 (init_enviroment_variables): Load newly introduced ENV
5447 variables.
5448 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5449 (hsa_fatal): Likewise.
5450 (DLSYM_FN): New macro.
5451 (init_hsa_runtime_functions): New function.
5452 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5453 structure. Depending on environment, also allow CPU devices.
5454 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5455 (get_kernarg_memory_region): Likewise.
5456 (GOMP_OFFLOAD_init_device): Likewise.
5457 (destroy_hsa_program): Likewise.
5458 (init_basic_kernel_info): New function.
5459 (GOMP_OFFLOAD_load_image): Use it.
5460 (create_and_finalize_hsa_program): Call hsa run-time functions via
5461 hsa_fns structure.
5462 (create_single_kernel_dispatch): Likewise.
5463 (release_kernel_dispatch): Likewise.
5464 (init_single_kernel): Likewise.
5465 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5466 (get_group_size): New function.
5467 (run_kernel): Likewise.
5468 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5469 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5470 structure.
5471 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5472 * testsuite/libgomp-test-support.exp.in: Likewise.
5473 * Makefile.in: Regenerated.
5474 * aclocal.m4: Likewise.
5475 * config.h.in: Likewise.
5476 * configure: Likewise.
5477 * testsuite/Makefile.in: Likewise.
5478
18d2ada8 54792016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 5480 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
5481
5482 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5483 mapping clauses to target constructs.
5484 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5485
84c1b9d3
MK
54862016-11-15 Matthias Klose <doko@ubuntu.com>
5487
5488 * configure: Regenerate.
5489
b4c3a85b
JJ
54902016-11-10 Jakub Jelinek <jakub@redhat.com>
5491
8ebd1b31
JJ
5492 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5493 * omp_lib.h.in (openmp_version): Likewise.
5494 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5495 of 201307.
5496 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5497
b4c3a85b
JJ
5498 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5499 (fib_wrapper): Add map(from: x) clause.
5500 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5501 (e_53_2): Likewise.
5502 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5503 (accum): Add map(tmp) clause.
5504 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5505 (accum): Add map(tofrom: tmp) clause.
5506 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5507 (gramSchmidt): Likewise.
5508 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5509 map(tofrom: sum) clause.
5510 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5511 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5512 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5513 only allowed on the loop iterator.
5514 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5515 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5516 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5517 * testsuite/libgomp.fortran/doacross1.f90: New test.
5518 * testsuite/libgomp.fortran/doacross3.f90: New test.
5519 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5520 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5521 * testsuite/libgomp.fortran/doacross2.f90: New test.
5522 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5523 #pragma omp atomic read.
5524 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5525 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5526
6668eb45
CP
55272016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5528 Nathan Sidwell <nathan@acm.org>
5529
5530 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5531 to determine default geometry.
5532 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5533 dimension.
5534
f10e37a1
JJ
55352016-11-01 Jakub Jelinek <jakub@redhat.com>
5536
5537 * hashtab.h: Use standard GPLv3 with runtime exception
5538 boilerplate.
5539
015c7760
AH
55402016-10-27 Aldy Hernandez <aldyh@redhat.com>
5541
5542 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5543 size when allocating new thread.
5544
20a1e5b8
MP
55452016-09-14 Marek Polacek <polacek@redhat.com>
5546
5547 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5548
1cad9284
JJ
55492016-08-19 Jakub Jelinek <jakub@redhat.com>
5550
5551 PR fortran/71014
5552 * testsuite/libgomp.fortran/pr71014.f90: New test.
5553
2c71d454
CLT
55542016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5555
5556 PR middle-end/70895
5557 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5558 firstprivate clauses.
5559 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5560 copy clauses.
5561 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5562 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5563 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5564 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5565 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5566 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5567 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5568 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5573
7c713714
CLT
55742016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5575
5576 PR fortran/70598
5577 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5578
5c934396
JJ
55792016-08-08 Jakub Jelinek <jakub@redhat.com>
5580
5581 PR c++/58706
5582 * testsuite/libgomp.c++/pr58706.C: New test.
5583
9ef64248
TS
55842016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5585
bbc79c0e
TS
5586 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5587 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5588 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5589 Likewise.
5590 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5591 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5592 Likewise.
5593 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5594
9ef64248
TS
5595 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5596 test, and don't hardcode -O0.
5597
c1311c86
NS
55982016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5599
5600 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5601
b1c9c068
CP
56022016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5603
5604 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5605 test.
5606
b4410f63
L
56072016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5608
5609 PR middle-end/71734
5610 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5611 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5612
a8dbab92
JJ
56132016-07-01 Jakub Jelinek <jakub@redhat.com>
5614
5615 PR fortran/71717
5616 * testsuite/libgomp.fortran/associate3.f90: New test.
5617
9b6a8d0f
JJ
56182016-06-17 Jakub Jelinek <jakub@redhat.com>
5619
5620 * testsuite/libgomp.c++/target-21.C: New test.
5621
283635f9
JJ
56222016-06-16 Jakub Jelinek <jakub@redhat.com>
5623
5624 * testsuite/libgomp.c++/target-20.C: New test.
5625
27d6ba88
TS
56262016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5627 Cesar Philippidis <cesar@codesourcery.com>
5628
5629 PR middle-end/71373
5630 * libgomp.oacc-c/nested-function-1.c: New file.
5631 * libgomp.oacc-c/nested-function-2.c: Likewise.
5632 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5633 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5634 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5635
4b1ffdb1
TS
56362016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5637
5638 PR c/71381
5639 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5640 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5641 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5642
d821b794
CLT
56432016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5644
5645 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5646 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5647
3616a8c5
CP
56482016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5649
5650 PR c/70688
5eed9a88 5651 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 5652
7211a097
JJ
56532016-05-26 Jakub Jelinek <jakub@redhat.com>
5654
5655 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5656 instead of invalid schedule(static, 0).
5657 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5658
b4557008
CLT
56592016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5660
5661 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5662 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5663 parameter, use to set async stream around call to gomp_unmap_vars,
5664 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5665 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5666 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5667 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5668 (event_add): Add int parameter, initialize 'val' field when
5669 adding new ptx_event struct.
5670 (nvptx_evec): Adjust event_add() call arguments.
5671 (nvptx_host2dev): Likewise.
5672 (nvptx_dev2host): Likewise.
5673 (nvptx_wait_async): Likewise.
5674 (nvptx_wait_all_async): Likewise.
5675 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5676 pass to event_add() call.
5677 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5678 parameter.
5679 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5680 call openacc.register_async_cleanup_func() hook.
5681 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5682 * target.c (gomp_copy_from_async): Delete function.
5683 (gomp_map_vars): Remove async_refcount.
5684 (gomp_unmap_vars): Likewise.
5685 (gomp_load_image_to_device): Likewise.
5686 (omp_target_associate_ptr): Likewise.
5687 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5688 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5689 (gomp_copy_from_async): Remove.
5690
6ce13072
CLT
56912016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5692
5693 * target.c (gomp_device_copy): New function.
5694 (gomp_copy_host2dev): Likewise.
5695 (gomp_copy_dev2host): Likewise.
5696 (gomp_free_device_memory): Likewise.
5697 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5698 (gomp_map_pointer): Likewise.
5699 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5700 NULL value from alloc_func plugin hook.
5701 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5702 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5703 (gomp_unmap_vars): Likewise.
5704 (gomp_update): Adjust to call gomp_copy_dev2host and
5705 gomp_copy_host2dev functions.
5706 (gomp_unload_image_from_device): Handle false value from
5707 unload_image_func plugin hook.
5708 (gomp_init_device): Handle false value from init_device_func
5709 plugin hook.
5710 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5711 (omp_target_free): Adjust to call gomp_free_device_memory.
5712 (omp_target_memcpy): Handle return values from host2dev_func,
5713 dev2host_func, and dev2dev_func plugin hooks.
5714 (omp_target_memcpy_rect_worker): Likewise.
5715 (gomp_target_fini): Handle false value from fini_device_func
5716 plugin hook.
5717 * libgomp.h (struct gomp_device_descr): Adjust return type of
5718 init_device_func, fini_device_func, unload_image_func, free_func,
5719 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5720 * oacc-init.c (acc_shutdown_1): Handle false value from
5721 fini_device_func plugin hook.
5722 * oacc-host.c (host_init_device): Change return type to bool.
5723 (host_fini_device): Likewise.
5724 (host_unload_image): Likewise.
5725 (host_free): Likewise.
5726 (host_dev2host): Likewise.
5727 (host_host2dev): Likewise.
5728 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5729 (acc_memcpy_to_device): Likewise.
5730 (acc_memcpy_from_device): Likewise.
5731 (delete_copyout): Add libfnname parameter, handle free_func
5732 hook fatal error case.
5733 (acc_delete): Adjust delete_copyout call.
5734 (acc_copyout): Likewise.
5735 (update_dev_host): Move gomp_mutex_unlock to after
5736 host2dev/dev2host hook calls.
5737
5738 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5739 to 'hsa_error_msg', for clarity.
5740 (hsa_fatal): Likewise.
5741 (hsa_error): New function.
5742 (init_hsa_context): Change return type to bool, adjust to return
5743 false on error.
5744 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5745 return value.
5746 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5747 return false on error.
5748 (get_agent_info): Adjust to return NULL on error.
5749 (destroy_hsa_program): Change return type to bool, adjust to
5750 return false on error.
5751 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5752 (destroy_module): Change return type to bool, adjust to
5753 return false on error.
5754 (GOMP_OFFLOAD_unload_image): Likewise.
5755 (GOMP_OFFLOAD_fini_device): Likewise.
5756 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5757 (GOMP_OFFLOAD_free): Change to return false when called.
5758 (GOMP_OFFLOAD_dev2host): Likewise.
5759 (GOMP_OFFLOAD_host2dev): Likewise.
5760 (GOMP_OFFLOAD_dev2dev): Likewise.
5761
5762 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5763 (CUDA_CALL): Likewise.
5764 (CUDA_CALL_ASSERT): Likewise.
5765 (map_init): Change return type to bool, use CUDA_CALL* macros.
5766 (map_fini): Likewise.
5767 (init_streams_for_device): Change return type to bool, adjust
5768 call to map_init.
5769 (fini_streams_for_device): Change return type to bool, adjust
5770 call to map_fini.
5771 (select_stream_for_async): Release stream_lock before calls to
5772 GOMP_PLUGIN_fatal, adjust call to map_init.
5773 (nvptx_init): Use CUDA_CALL* macros.
5774 (nvptx_attach_host_thread_to_device): Change return type to bool,
5775 use CUDA_CALL* macros.
5776 (nvptx_open_device): Use CUDA_CALL* macros.
5777 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5778 macros.
5779 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5780 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5781 (nvptx_exec): Use CUDA_CALL* macros.
5782 (nvptx_alloc): Use CUDA_CALL* macros.
5783 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5784 (nvptx_host2dev): Likewise.
5785 (nvptx_dev2host): Likewise.
5786 (nvptx_wait): Use CUDA_CALL* macros.
5787 (nvptx_wait_async): Likewise.
5788 (nvptx_wait_all): Likewise.
5789 (nvptx_wait_all_async): Likewise.
5790 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5791 use CUDA_CALL* macros, adjust call to map_fini.
5792 (GOMP_OFFLOAD_init_device): Change return type to bool,
5793 adjust code accordingly.
5794 (GOMP_OFFLOAD_fini_device): Likewise.
5795 (GOMP_OFFLOAD_load_image): Adjust calls to
5796 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5797 use CUDA_CALL* macros.
5798 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5799 return code.
5800 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5801 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5802 handle error return.
5803 (GOMP_OFFLOAD_dev2host): Likewise.
5804 (GOMP_OFFLOAD_host2dev): Likewise.
5805 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5806 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5807
e46c7770
CP
58082016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5809
5810 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5811 (acc_free): Likewise.
5812 (acc_memcpy_to_device): Likewise.
5813 (acc_memcpy_from_device): Likewise.
5814 (acc_deviceptr): Likewise.
5815 (acc_hostptr): Likewise.
5816 (acc_is_present): Likewise.
5817 (acc_map_data): Likewise.
5818 (acc_unmap_data): Likewise.
5819 (present_create_copy): Likewise.
5820 (delete_copyout): Likewise.
5821 (update_dev_host): Likewise.
5822 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5823 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5824 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5825 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5826 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5827 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5828 it only runs on nvptx targets.
5829 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5830 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5831 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5832 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5833 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5834 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5835 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5836 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5837 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5838 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5839 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5840 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5841 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5842 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5843 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5844 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5845 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5846 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5847 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5849 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5850 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5851 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5852
a5057543
MJ
58532016-05-23 Martin Jambor <mjambor@suse.cz>
5854
5855 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5856
e37288a6
CLT
58572016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5858
5859 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5860 to gomp_init_targets_once.
5861 (acc_set_device_type): Remove !cached_base_dev condition on call to
5862 gomp_init_targets_once, move call to before acc_device_lock acquire,
5863 to avoid deadlock.
5864 (acc_get_device_num): Remove !cached_base_dev condition on call to
5865 gomp_init_targets_once.
5866 (acc_set_device_num): Likewise.
5867
51d9ed48
MJ
58682016-05-16 Martin Jambor <mjambor@suse.cz>
5869
92a285c1 5870 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 5871
5b37e866
NS
58722016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5873
5874 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5875 expected partitioning.
5876
e7ff0319
CP
58772016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5878
5879 PR middle-end/70626
5880 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5881 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5882 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5883
c2bd3b69
AM
58842016-04-21 Alexander Monakov <amonakov@ispras.ru>
5885
5886 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5887 non-fatal.
5888
84311083
JJ
58892016-04-19 Jakub Jelinek <jakub@redhat.com>
5890
5891 PR middle-end/70680
5892 * testsuite/libgomp.c/pr70680-1.c: New test.
5893 * testsuite/libgomp.c/pr70680-2.c: New test.
5894
aadc043f
CP
58952016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5896
5897 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5898 pass parameter variables to subroutines.
5899
e387fc64
CP
59002016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5901
5902 PR middle-end/70643
5903 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5904
10c3c424
CP
59052016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5906
5907 PR testsuite/68242
5908 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5909 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5910
27f9add3
TS
59112016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5912
58d32aeb
TS
5913 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5914 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5915 GOACC_declare prototype.
5916
d97633ef
TS
5917 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5918 Merge this file, and...
5919 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5920 ... this file, and...
5921 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5922 ... this file, and...
5923 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5924 ... this file, and...
5925 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5926 ... this file, and...
5927 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5928 ... this file, and...
5929 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5930 ... this file, and...
5931 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5932 ... this file, and...
5933 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5934 ... this file, and...
5935 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5936 ... this file, and...
5937 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5938 ... this file, and...
5939 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5940 ... this file, and...
5941 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5942 ... this file into...
5943 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5944 file.
5945
27f9add3
TS
5946 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5947 Make failure observable.
5948
21f3a236
JJ
59492016-04-12 Jakub Jelinek <jakub@redhat.com>
5950
5951 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5952 field.
5953 * target.c (gomp_target_fallback_firstprivate,
5954 gomp_target_unshare_firstprivate): Removed.
5955 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5956 before waiting for dependencies.
5957 (gomp_target_task_fn): Don't copy firstprivate vars here.
5958 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5959 firstprivate_copies here.
5960 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5961 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5962 explicit/implicit firstprivate.
5963
c42cfb5c
CP
59642016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5965
5966 PR lto/70289
5967 PR ipa/70348
5968 PR tree-optimization/70373
5969 PR middle-end/70533
5970 PR middle-end/70534
5971 PR middle-end/70535
5972 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5973 test.
5974 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5975 test.
5976 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5977 test.
5978 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5979 test.
5980 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5981 test.
5982 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5983 test.
5984 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5985 test.
5986 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5987 test.
5988 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5989 test.
5990 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5991 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5992 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5993 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5994 test.
5995 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5996 test.
5997 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5998 test.
5999 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6000 test.
6001 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6002 coverage.
6003 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6004 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6005 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6006 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6007 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6008 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6009 coverage.
6010 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6011 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6012 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6013 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6014 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6015 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6016 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6017 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6018 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6019 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6020 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6021 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6022 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6023 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6024 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6025
2620c80d
TS
60262016-03-30 Thomas Schwinge <thomas@codesourcery.com>
6027 James Norris <jnorris@codesourcery.com>
6028 Nathan Sidwell <nathan@codesourcery.com>
6029 Julian Brown <julian@codesourcery.com>
6030 Cesar Philippidis <cesar@codesourcery.com>
6031 Chung-Lin Tang <cltang@codesourcery.com>
6032 Tom de Vries <tom@codesourcery.com>
6033
6034 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6035 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6038 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6039 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6040 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6041 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6043 XFAIL.
6044 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6045 Incorporate...
6046 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6047 file.
6048 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6049 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6050 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6051 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6052 Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6054 Likewise.
6055 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6056 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6057 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6058 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6059 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6060 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6061 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6062 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6063 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6064 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6065 Likewise.
6066 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6067 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6068 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6069 file...
6070 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6071 file into...
6072 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6073 file. Update.
6074 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6075 file.
6076 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6077 Likewise.
6078 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6079 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6080 ... this new file. Update.
6081 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6082 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6083 ... this new file. Update.
6084 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6085 file. Incorporate...
6086 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6087 file, and...
6088 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6089 file, and...
6090 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6091 file.
6092 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6093
ce83104b
TS
60942016-03-29 Thomas Schwinge <thomas@codesourcery.com>
6095
6096 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6097 set-torture-options.
6098
6e0df3b7
TS
60992016-03-24 Thomas Schwinge <thomas@codesourcery.com>
6100
6101 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6102 gcc-dg-runtest.
6103 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6104 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6105 -fno-builtin-acc_on_device instead of -O0.
6106 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6107 -O0.
6108 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6109 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6110 Likewise.
6111 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6112 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6113 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6114 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6115 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6117 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6118 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6119 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6120 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6121 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6125 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6127 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6129 Don't specify -O2.
6130 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6131 Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6133 Likewise.
6134
f9c8babb
ML
61352016-03-24 Martin Liska <mliska@suse.cz>
6136
6137 * plugin/plugin-hsa.c (packet_store_release): New function
6138 that is taken from the HSA runtime manual.
6139 (GOMP_OFFLOAD_run): Use the function.
6140
04833609
JJ
61412016-03-23 Jakub Jelinek <jakub@redhat.com>
6142
6143 PR c++/70376
6144 * testsuite/libgomp.c++/pr70376.C: New test.
6145
d79ee524
TV
61462016-03-23 Tom de Vries <tom@codesourcery.com>
6147
6148 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6149 initialization of lresult and lvresult.
6150 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6151
b6d1f2b5
JN
61522016-03-23 James Norris <jnorris@codesourcery.com>
6153 Daichi Fukuoka <dc-fukuoka@sgi.com>
6154
6155 PR libgomp/69414
6156 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6157 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6158 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6159 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6160
7397fce2
ML
61612016-03-23 Martin Liska <mliska@suse.cz>
6162
6163 PR hsa/70337
6164 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6165 argument just in case a dispatched kernel uses that argument.
6166
ee2e7d51
TS
61672016-03-16 Thomas Schwinge <thomas@codesourcery.com>
6168
6169 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6170 -ftree-parallelize-loops/-fopenacc changes.
6171 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6172 Likewise.
6173 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6174 Likewise.
6175 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6176 Likewise.
6177 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6178 Likewise.
6179 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6180 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6181
be9f7143
TS
61822016-03-13 Thomas Schwinge <thomas@codesourcery.com>
6183
6184 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6185 always_ld_library_path the path to libgcc_s.
6186
f6c1032d
CP
61872016-03-10 Cesar Philippidis <cesar@codesourcery.com>
6188
6189 PR testsuite/70009
6190 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6191
5a6452e6
TV
61922016-03-09 Tom de Vries <tom@codesourcery.com>
6193
6194 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6195 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6196 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6197 Same.
6198 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6199 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6200 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6201 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6202
96a71bd5
MJ
62032016-03-07 Martin Jambor <mjambor@suse.cz>
6204
6205 * testsuite/lib/libgomp.exp
6206 (check_effective_target_hsa_offloading_selected_nocache): New.
6207 (check_effective_target_hsa_offloading_selected): Likewise.
6208 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6209 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6210 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6211 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6212 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6213 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6214 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6215 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6216 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6217 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6218 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6219 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6220 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6221 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6222 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6223 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6224 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6225
02e0b5b2
MJ
62262016-03-07 Martin Jambor <mjambor@suse.cz>
6227
6228 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6229 non-shared memory accelerators.
6230 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6231 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6232 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6233 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6234 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6235 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6236 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6237 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6238 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6239
45548f30
MJ
62402016-03-07 Martin Jambor <mjambor@suse.cz>
6241
6242 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6243 ALWAYS_CFLAGS.
6244
da3d46cb
JJ
62452016-03-02 Jakub Jelinek <jakub@redhat.com>
6246
6247 PR libgomp/69555
6248 * testsuite/libgomp.c++/pr69555-1.C: New test.
6249 * testsuite/libgomp.c++/pr69555-2.C: New test.
6250
622174b2
KM
62512016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
6252 Martin Jambor <mjambor@suse.cz>
6253
6254 * testsuite/lib/libgomp.exp
6255 (check_effective_target_offload_device_shared_as): New proc.
6256 * testsuite/libgomp.c++/declare_target-1.C: New test.
6257
e6861a99
IV
62582016-02-25 Ilya Verbin <ilya.verbin@intel.com>
6259
6260 PR driver/68463
6261 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6262
f99c3557
TS
62632016-02-23 Thomas Schwinge <thomas@codesourcery.com>
6264
6265 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6266 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6267 dims.
6268 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6269 -ftree-parallelize-loops/-fopenacc changes.
6270 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6271 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6272 Likewise.
6273 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6274 Likewise.
6275 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6276 Likewise.
6277 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6278 Likewise.
6279 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6280 Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6282 Likewise.
6283 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6284 Likewise.
6285 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6286 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6287 Likewise.
6288 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6289 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6290 Likewise.
6291 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6292 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6293 Likewise.
6294
d5ace3b5
CP
62952016-02-22 Cesar Philippidis <cesar@codesourcery.com>
6296
6297 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6298
f3609a89
JJ
62992016-02-19 Jakub Jelinek <jakub@redhat.com>
6300
6301 PR driver/69805
6302 * testsuite/libgomp.c/pr69805.c: New test.
6303
2175df99
TV
63042016-02-16 Tom de Vries <tom@codesourcery.com>
6305
6306 PR lto/67709
6307 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6308
17b6426c
TV
63092016-02-09 Tom de Vries <tom@codesourcery.com>
6310
6311 PR tree-optimization/69599
6312 * testsuite/libgomp.c/omp-nested-3.c: New test.
6313 * testsuite/libgomp.c/pr46032-2.c: New test.
6314 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6315 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6316
34df756c
TV
63172016-02-09 Tom de Vries <tom@codesourcery.com>
6318
6319 PR lto/69707
6320 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6321
5854ee30
AM
63222016-02-02 Alexander Monakov <amonakov@ispras.ru>
6323
6324 * testsuite/libgomp.c/target-31.c: Fix testcase.
6325
e70b6ad7
AM
63262016-02-02 Alexander Monakov <amonakov@ispras.ru>
6327
6328 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6329 clause.
6330 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6331 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6332 reduction and map clauses.
6333 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6334
bd78a45f
JN
63352016-02-02 James Norris <jnorris@codesourcery.com>
6336
6337 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6338
41d809d3
TS
63392016-02-02 Thomas Schwinge <thomas@codesourcery.com>
6340
18f60146
TS
6341 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6342 * oacc-parallel.c (GOACC_host_data): Remove function definition.
6343
1a06f5e6
TS
6344 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6345 cases.
6346
033ff3d1
TS
6347 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6348 variables.
6349 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6350 (hsa_kmt_lib): Set variables.
6351 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6352 always_ld_library_path.
6353 * Makefile.in: Regenerate.
6354 * configure: Likewise.
6355 * testsuite/Makefile.in: Likewise.
6356
4a88d9b7
TS
6357 * plugin/configfrag.ac (offload_additional_options)
6358 (offload_additional_lib_paths): Don't amend for hsa offloading.
6359 * configure: Regenerate.
6360
41d809d3
TS
6361 * plugin/configfrag.ac: Don't configure for offloading target if
6362 we don't build the corresponding plugin.
6363 * configure: Regenerate.
6364
b6adbb9f
NS
63652016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6366
6367 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6368 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6369
8dfdb419
TV
63702016-01-26 Tom de Vries <tom@codesourcery.com>
6371
6372 PR tree-optimization/69110
6373 * testsuite/libgomp.c/pr69110.c: New test.
6374
02ef53f2
RB
63752016-01-25 Richard Biener <rguenther@suse.de>
6376
6377 PR lto/69393
6378 * testsuite/libgomp.c++/pr69393.C: New testcase.
6379
eb4048f2
IV
63802016-01-22 Ilya Verbin <ilya.verbin@intel.com>
6381
6382 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6383 function wasn't mapped to the device with non-shared memory.
6384
b235cdd5
IV
63852016-01-20 Ilya Verbin <ilya.verbin@intel.com>
6386
6387 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6388
b2b40051
MJ
63892016-01-19 Martin Jambor <mjambor@suse.cz>
6390 Martin Liska <mliska@suse.cz>
6391
6392 * plugin/Makefrag.am: Add HSA plugin requirements.
6393 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6394 (HSA_RUNTIME_LIB): Likewise.
6395 (HSA_RUNTIME_CPPFLAGS): Likewise.
6396 (HSA_RUNTIME_INCLUDE): New substitution.
6397 (HSA_RUNTIME_LIB): Likewise.
6398 (HSA_RUNTIME_LDFLAGS): Likewise.
6399 (hsa-runtime): New configure option.
6400 (hsa-runtime-include): Likewise.
6401 (hsa-runtime-lib): Likewise.
6402 (PLUGIN_HSA): New substitution variable.
6403 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6404 configure options.
6405 (PLUGIN_HSA_CPPFLAGS): Likewise.
6406 (PLUGIN_HSA_LDFLAGS): Likewise.
6407 (PLUGIN_HSA_LIBS): Likewise.
6408 Check that we have access to HSA run-time.
6409 * libgomp-plugin.h (offload_target_type): New element
6410 OFFLOAD_TARGET_TYPE_HSA.
6411 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6412 args.
6413 (bool gomp_create_target_task): Updated.
6414 (gomp_device_descr): Extra parameter of run_func and async_run_func,
6415 new field can_run_func.
6416 * libgomp_g.h (GOMP_target_ext): Update prototype.
6417 * oacc-host.c (host_run): Added a new parameter args.
6418 * target.c (calculate_firstprivate_requirements): New function.
6419 (copy_firstprivate_data): Likewise.
6420 (gomp_target_fallback_firstprivate): Use them.
6421 (gomp_target_unshare_firstprivate): New function.
6422 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6423 devices.
6424 (GOMP_target): Do host fallback for all shared memory devices. Do not
6425 pass any args to plugins.
6426 (GOMP_target_ext): Introduce device-specific argument parameter args.
6427 Allow host fallback if device shares memory. Do not remap data if
6428 device has shared memory.
6429 (gomp_target_task_fn): Likewise. Also treat shared memory devices
6430 like host fallback for mappings.
6431 (GOMP_target_data): Treat shared memory devices like host fallback.
6432 (GOMP_target_data_ext): Likewise.
6433 (GOMP_target_update): Likewise.
6434 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6435 gomp_create_target_task.
6436 (GOMP_target_enter_exit_data): Likewise.
6437 (omp_target_alloc): Treat shared memory devices like host fallback.
6438 (omp_target_free): Likewise.
6439 (omp_target_is_present): Likewise.
6440 (omp_target_memcpy): Likewise.
6441 (omp_target_memcpy_rect): Likewise.
6442 (omp_target_associate_ptr): Likewise.
6443 (gomp_load_plugin_for_device): Also load can_run.
6444 * task.c (GOMP_PLUGIN_target_task_completion): Free
6445 firstprivate_copies.
6446 (gomp_create_target_task): Accept new argument args and store it to
6447 ttask.
6448 * plugin/plugin-hsa.c: New file.
6449
5d7804a9
TV
64502016-01-18 Tom de Vries <tom@codesourcery.com>
6451
6452 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6453 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6454 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6455 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6456 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6457 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6458 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6459 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6460 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6461 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6462 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6463 Same.
6464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6465 Same.
6466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6467 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6468 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6469 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6470 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6471 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6472 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6473 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6474 Same.
6475 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6476
cb11f3cf
JJ
64772016-01-15 Jakub Jelinek <jakub@redhat.com>
6478
6479 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6480
33a126a6
CP
64812016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6482
6483 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6484
cdf6119d
JN
64852016-01-12 James Norris <jnorris@codesourcery.com>
6486
6487 * libgomp.texi: Updates for OpenACC.
6488
0d58938e
AM
64892016-01-11 Alexander Monakov <amonakov@ispras.ru>
6490
6491 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6492
95918b49
L
64932016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6494
6495 PR fortran/66680
6496 * testsuite/libgomp.fortran/pr66680.f90: New test.
6497
8fc708b7
JJ
64982016-01-07 Jakub Jelinek <jakub@redhat.com>
6499
6500 PR middle-end/68960
6501 * testsuite/libgomp.c/pr68960.c: New test.
6502
e9b596c1
NS
65032016-01-06 Nathan Sidwell <nathan@acm.org>
6504
1a14faf2 6505 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
6506 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6507
21fa2a29
JJ
65082016-01-04 Jakub Jelinek <jakub@redhat.com>
6509
818ab71a
JJ
6510 Update copyright years.
6511
21fa2a29
JJ
6512 * libgomp.texi: Bump @copying's copyright year.
6513
9310efbc
NS
65142015-12-31 Nathan Sidwell <nathan@acm.org>
6515
6516 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6517 dg-additional-options syntax.
6518 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6520 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6522 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6524 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6525 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6526 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6527 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6528 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6529 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6530 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6531 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6532 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6533 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6534 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6535 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6536
4a38b02b
IV
65372015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6538
6539 * libgomp.h (REFCOUNT_LINK): Define.
6540 (struct splay_tree_key_s): Add link_key.
6541 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6542 Replace target address of the pointer with target address of newly
6543 mapped object in the splay tree. Set link pointer on target to the
6544 device address of the mapped object.
6545 (gomp_unmap_vars): Restore target address of the pointer in the splay
6546 tree for REFCOUNT_LINK objects after unmapping.
6547 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6548 declare target link" objects.
6549 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6550 "omp declare target link" objects, which were mapped for the image.
6551 (gomp_exit_data): Restore target address of the pointer in the splay
6552 tree for REFCOUNT_LINK objects after unmapping.
6553 * testsuite/libgomp.c/target-link-1.c: New file.
6554
d84ffc0a
IV
65552015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6556
6557 * libgomp.h (gomp_device_state): New enum.
6558 (struct gomp_device_descr): Replace is_initialized with state.
6559 (gomp_fini_device): Remove declaration.
6560 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6561 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6562 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6563 (acc_set_device_type): Use state instead of is_initialized.
6564 (acc_set_device_num): Likewise.
6565 * target.c (resolve_device): Use state instead of is_initialized.
6566 Do not initialize finalized device.
6567 (gomp_map_vars): Do nothing if device is finalized.
6568 (gomp_unmap_vars): Likewise.
6569 (gomp_update): Likewise.
6570 (GOMP_offload_register_ver): Use state instead of is_initialized.
6571 (GOMP_offload_unregister_ver): Likewise.
6572 (gomp_init_device): Likewise.
6573 (gomp_unload_device): Likewise.
6574 (gomp_fini_device): Remove.
6575 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6576 (GOMP_target): Go to host fallback if device is finalized.
6577 (GOMP_target_ext): Likewise.
6578 (gomp_exit_data): Do nothing if device is finalized.
6579 (gomp_target_task_fn): Go to host fallback if device is finalized.
6580 (gomp_target_fini): New static function.
6581 (gomp_target_init): Use state instead of is_initialized.
6582 Call gomp_target_fini at exit.
6583
76680678
TV
65842015-12-09 Tom de Vries <tom@codesourcery.com>
6585
6586 PR tree-optimization/68716
6587 * testsuite/libgomp.c/omp-nested-2.c: New test.
6588
ff7a55bf
TS
65892015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6590
6591 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6592 target openacc_nvidia_accel_selected.
6593 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6594 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6595 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6596 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6597
37d5ad46
JB
65982015-12-01 Julian Brown <julian@codesourcery.com>
6599 James Norris <James_Norris@mentor.com>
6600
6601 * oacc-parallel.c (GOACC_host_data): New function.
6602 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6603 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6604 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6605 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6606 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6607 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6608 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6609
db941d7e
CP
66102015-11-30 James Norris <jnorris@codesourcery.com>
6611 Cesar Philippidis <cesar@codesourcery.com>
6612
6613 libgomp/
6614 * libgomp.oacc-fortran/routine-5.f90: New test.
6615 * libgomp.oacc-fortran/routine-7.f90: New test.
6616 * libgomp.oacc-fortran/routine-9.f90: New test.
6617
e0ca27c5
TV
66182015-11-30 Tom de Vries <tom@codesourcery.com>
6619
6620 PR tree-optimization/46032
6621 * testsuite/libgomp.c/pr46032.c: New test.
6622
aec17bfe
JJ
66232015-11-27 Jakub Jelinek <jakub@redhat.com>
6624
8e4e4719
JJ
6625 PR libgomp/68579
6626 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6627 (gomp_create_target_task): Call it before freeing
6628 GOMP_TARGET_TASK_DATA tasks.
6629
aec17bfe
JJ
6630 PR c/63326
6631 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6632 in between case label and OpenMP standalone directives.
6633 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6634
6cfe90e6
DE
66352015-11-26 David Edelsohn <dje.gcc@gmail.com>
6636
6637 * configure: Regenerate.
6638
0e65fd7d
JJ
66392015-11-26 Jakub Jelinek <jakub@redhat.com>
6640
6641 * testsuite/libgomp.c/target-35.c: New test.
6642
dc7a8b4b
JN
66432015-11-22 James Norris <jnorris@codesourcery.com>
6644 Cesar Philippidis <cesar@codesourcery.com>
6645
6646 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6647 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6648 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6649 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6650 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6651
48a78aee
JJ
66522015-11-20 Jakub Jelinek <jakub@redhat.com>
6653
6654 PR middle-end/68221
6655 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6656 * testsuite/libgomp.c/reduction-12.c: Likewise.
6657 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6658 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6659
2d256816
NS
66602015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6661
6662 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6663 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6664 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6665 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6666 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6667 and fix.
6668 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6669 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6670
33f47f42
NS
66712015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6672
6673 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6674 worker & gang cases.
6675 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6676
3d7bfee0
CP
66772015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6678
6679 * config/nvptx/priority_queue.c: New file.
6680
00b9bd52
JJ
66812015-11-14 Jakub Jelinek <jakub@redhat.com>
6682
6683 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6684 sections.
6685
e4606348
JJ
66862015-11-14 Jakub Jelinek <jakub@redhat.com>
6687 Aldy Hernandez <aldyh@redhat.com>
6688 Ilya Verbin <ilya.verbin@intel.com>
6689
6690 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6691 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6692 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6693 iterators or IV by chunk size.
6694 * parallel.c (gomp_resolve_num_threads): Don't assume that
6695 if thr->ts.team is non-NULL, then pool must be non-NULL.
6696 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6697 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6698 GOMP_PLUGIN_target_task_completion.
6699 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6700 * Makefile.in: Regenerate.
6701 * libgomp.h: Shuffle prototypes and forward definitions around so
6702 priority queues can be defined.
6703 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6704 (enum gomp_target_task_state): New enum.
6705 (struct gomp_target_task): Add state, tgt, task and team fields.
6706 (gomp_create_target_task): Change return type to bool, add
6707 state argument.
6708 (gomp_target_task_fn): Change return type to bool.
6709 (struct gomp_device_descr): Add async_run_func.
6710 (struct gomp_task): Remove children, next_child, prev_child,
6711 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6712 Add pnode field.
6713 (struct gomp_taskgroup): Remove children.
6714 Add taskgroup_queue.
6715 (struct gomp_team): Change task_queue type to a priority queue.
6716 (splay_compare): Define inline.
6717 (priority_queue_offset): New.
6718 (priority_node_to_task): New.
6719 (task_to_priority_node): New.
6720 * oacc-mem.c: Do not include splay-tree.h.
6721 * priority_queue.c: New file.
6722 * priority_queue.h: New file.
6723 * splay-tree.c: Do not include splay-tree.h.
6724 (splay_tree_foreach_internal): New.
6725 (splay_tree_foreach): New.
6726 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6727 (splay_tree_callback): Define typedef.
6728 * target.c (splay_compare): Move to libgomp.h.
6729 (GOMP_target): Don't adjust *thr in any way around running offloaded
6730 task.
6731 (GOMP_target_ext): Likewise. Handle target nowait.
6732 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6733 return value from gomp_create_target_task, if false, fallthrough
6734 as if no dependencies exist.
6735 (gomp_target_task_fn): Change return type to bool, return true
6736 if the task should have another part scheduled later. Handle
6737 target nowait.
6738 (gomp_load_plugin_for_device): Initialize async_run.
6739 * task.c (gomp_init_task): Initialize children_queue.
6740 (gomp_clear_parent_in_list): New.
6741 (gomp_clear_parent_in_tree): New.
6742 (gomp_clear_parent): Handle priorities.
6743 (GOMP_task): Likewise.
6744 (priority_queue_move_task_first,
6745 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6746 New functions.
6747 (gomp_create_target_task): Use priority queues. Change return type
6748 to bool, add state argument, return false if for async
6749 {{enter,exit} data,update} constructs no dependencies need to be
6750 waited for, handle target nowait. Set task->fn to NULL instead of
6751 gomp_target_task_fn.
6752 (verify_children_queue): Remove.
6753 (priority_list_upgrade_task): New.
6754 (priority_queue_upgrade_task): New.
6755 (verify_task_queue): Remove.
6756 (priority_list_downgrade_task): New.
6757 (priority_queue_downgrade_task): New.
6758 (gomp_task_run_pre): Use priority queues.
6759 Abstract code out to priority_queue_downgrade_task.
6760 (gomp_task_run_post_handle_dependers): Use priority queues.
6761 (gomp_task_run_post_remove_parent): Likewise.
6762 (gomp_task_run_post_remove_taskgroup): Likewise.
6763 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6764 tasks specially.
6765 (GOMP_taskwait): Likewise.
6766 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6767 priority-queue_upgrade_task.
6768 (GOMP_taskgroup_start): Use priority queues.
6769 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6770 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6771 barrier.
6772 * taskloop.c (GOMP_taskloop): Handle priorities.
6773 * team.c (gomp_new_team): Call priority_queue_init.
6774 (free_team): Call priority_queue_free.
6775 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6776 team created for target nowait in implicit parallel region.
6777 (gomp_team_start): For nested check, test thr->ts.level instead of
6778 thr->ts.team != NULL.
6779 * testsuite/libgomp.c/doacross-3.c: New test.
6780 * testsuite/libgomp.c/ordered-5.c: New test.
6781 * testsuite/libgomp.c/priority.c: New test.
6782 * testsuite/libgomp.c/target-31.c: New test.
6783 * testsuite/libgomp.c/target-32.c: New test.
6784 * testsuite/libgomp.c/target-33.c: New test.
6785 * testsuite/libgomp.c/target-34.c: New test.
6786
1d1ab74f
NS
67872015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6788
c5a64cfe
NS
6789 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6790
1d1ab74f
NS
6791 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6792 loop is sequential.
6793
dd3c1b14
NS
67942015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6795
6796 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6797 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6798
6e232ba4
JN
67992015-11-12 James Norris <jnorris@codesourcery.com>
6800 Joseph Myers <joseph@codesourcery.com>
6801
6802 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6803 * oacc-parallel.c (GOACC_declare): New function.
6804 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6805 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6806 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6808 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6809
fffeedeb
NS
68102015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6811
6812 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6813
182190f2
NS
68142015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6815
6816 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6817 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6818
36fa0f5f
NS
68192015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6820
d350c40c
NS
6821 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6822 inadvertent commit.
6823
68242015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6825
36fa0f5f
NS
6826 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6827 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6828 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6829 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6830 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6831
66a5f0b4
TS
68322015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6833
6834 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6835 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6836
e01d41e5
JJ
68372015-11-05 Jakub Jelinek <jakub@redhat.com>
6838 Ilya Verbin <ilya.verbin@intel.com>
6839
6840 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6841 GOMP_loop_nonmonotonic_dynamic_start,
6842 GOMP_loop_nonmonotonic_guided_next,
6843 GOMP_loop_nonmonotonic_guided_start,
6844 GOMP_loop_ull_nonmonotonic_dynamic_next,
6845 GOMP_loop_ull_nonmonotonic_dynamic_start,
6846 GOMP_loop_ull_nonmonotonic_guided_next,
6847 GOMP_loop_ull_nonmonotonic_guided_start,
6848 GOMP_parallel_loop_nonmonotonic_dynamic,
6849 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6850 (GOMP_target_41): Renamed to ...
6851 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6852 arguments.
6853 (GOMP_target_data_41): Renamed to ...
6854 (GOMP_target_data_ext): ... this.
6855 (GOMP_target_update_41): Renamed to ...
6856 (GOMP_target_update_ext): ... this.
6857 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6858 GOMP_target_data_ext and GOMP_target_update_ext instead of
6859 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6860 Export GOMP_loop_nonmonotonic_dynamic_next,
6861 GOMP_loop_nonmonotonic_dynamic_start,
6862 GOMP_loop_nonmonotonic_guided_next,
6863 GOMP_loop_nonmonotonic_guided_start,
6864 GOMP_loop_ull_nonmonotonic_dynamic_next,
6865 GOMP_loop_ull_nonmonotonic_dynamic_start,
6866 GOMP_loop_ull_nonmonotonic_guided_next,
6867 GOMP_loop_ull_nonmonotonic_guided_start,
6868 GOMP_parallel_loop_nonmonotonic_dynamic and
6869 GOMP_parallel_loop_nonmonotonic_guided.
6870 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6871 GOMP_parallel_loop_nonmonotonic_guided,
6872 GOMP_loop_nonmonotonic_dynamic_start,
6873 GOMP_loop_nonmonotonic_guided_start,
6874 GOMP_loop_nonmonotonic_dynamic_next,
6875 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6876 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6877 GOMP_loop_ull_nonmonotonic_guided_start,
6878 GOMP_loop_ull_nonmonotonic_dynamic_next,
6879 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6880 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6881 functions.
6882 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6883 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6884 Use gomp_map_val function.
6885 (gomp_target_fallback_firstprivate): New static function.
6886 (GOMP_target_41): Renamed to ...
6887 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6888 arguments. Move firstprivate fallback handling into a new
6889 function.
6890 (GOMP_target_data_41): Renamed to ...
6891 (GOMP_target_data_ext): ... this.
6892 (GOMP_target_update_41): Renamed to ...
6893 (GOMP_target_update_ext): ... this.
6894 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6895 gomp_map_0len_lookup instead of gomp_map_lookup.
6896 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6897 gomp_map_lookup.
6898 * testsuite/libgomp.c/target-28.c: Likewise.
6899 * testsuite/libgomp.c/monotonic-1.c: New test.
6900 * testsuite/libgomp.c/monotonic-2.c: New test.
6901 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6902 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6903 * testsuite/libgomp.c/pr66199-5.c: New test.
6904 * testsuite/libgomp.c/pr66199-6.c: New test.
6905 * testsuite/libgomp.c/pr66199-7.c: New test.
6906 * testsuite/libgomp.c/pr66199-8.c: New test.
6907 * testsuite/libgomp.c/pr66199-9.c: New test.
6908 * testsuite/libgomp.c/reduction-11.c: New test.
6909 * testsuite/libgomp.c/reduction-12.c: New test.
6910 * testsuite/libgomp.c/reduction-13.c: New test.
6911 * testsuite/libgomp.c/reduction-14.c: New test.
6912 * testsuite/libgomp.c/reduction-15.c: New test.
6913 * testsuite/libgomp.c/target-12.c (main): Adjust for
6914 omp_target_is_present change for one-past-last element.
6915 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6916 the same var is both mapped and privatized.
6917 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6918 handling of zero-length array sections.
6919 * testsuite/libgomp.c/target-28.c: New test.
6920 * testsuite/libgomp.c/target-29.c: New test.
6921 * testsuite/libgomp.c/target-30.c: New test.
6922 * testsuite/libgomp.c/target-teams-1.c: New test.
6923 * testsuite/libgomp.c++/member-6.C: New test.
6924 * testsuite/libgomp.c++/member-7.C: New test.
6925 * testsuite/libgomp.c++/monotonic-1.C: New test.
6926 * testsuite/libgomp.c++/monotonic-2.C: New test.
6927 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6928 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6929 * testsuite/libgomp.c++/pr66199-3.C: New test.
6930 * testsuite/libgomp.c++/pr66199-4.C: New test.
6931 * testsuite/libgomp.c++/pr66199-5.C: New test.
6932 * testsuite/libgomp.c++/pr66199-6.C: New test.
6933 * testsuite/libgomp.c++/pr66199-7.C: New test.
6934 * testsuite/libgomp.c++/pr66199-8.C: New test.
6935 * testsuite/libgomp.c++/pr66199-9.C: New test.
6936 * testsuite/libgomp.c++/reduction-11.C: New test.
6937 * testsuite/libgomp.c++/reduction-12.C: New test.
6938 * testsuite/libgomp.c++/target-13.C: New test.
6939 * testsuite/libgomp.c++/target-14.C: New test.
6940 * testsuite/libgomp.c++/target-15.C: New test.
6941 * testsuite/libgomp.c++/target-16.C: New test.
6942 * testsuite/libgomp.c++/target-17.C: New test.
6943 * testsuite/libgomp.c++/target-18.C: New test.
6944 * testsuite/libgomp.c++/target-19.C: New test.
6945
ccc8282b
NS
69462015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6947
6948 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6949 and reduction copy.
6950 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6951 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6952 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6953 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6954 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6955 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6956 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6957 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6958 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6959 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6960 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6961 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6962 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6963 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6964
5d6823a2
NS
69652015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6966
6967 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6968 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6969 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6970 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6971 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6972 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6973 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6974 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6975
5c06742f
NS
69762015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6977
6978 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6979 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6980 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6981 * oacc-host.c (host_openacc_exec): Likewise.
6982 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6983
4bf9e5a8
TS
69842015-11-03 Julian Brown <julian@codesourcery.com>
6985 Thomas Schwinge <thomas@codesourcery.com>
6986
6987 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6988 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6989 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6990 Likewise.
6991 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6992 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6993
69942015-11-03 James Norris <jnorris@codesourcery.com>
6995
6996 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6997 file.
6998 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6999 Likewise.
7000 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7001 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7002 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7003 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7004 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7005
a0e701d8
NS
70062015-10-29 Nathan Sidwell <nathan@codesourcery.com>
7007
7008 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7009 compatibility.
7010 (enum acc_async_t): Reformat.
7011 (acc_on_device): Declare compatible with builtin and provide C++
7012 wrapper.
7013 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7014
41e977ac
TS
70152015-10-29 Thomas Schwinge <thomas@codesourcery.com>
7016 Cesar Philippidis <cesar@codesourcery.com>
7017
7018 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7019 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7020 ... this. Add a description of the test at the top of the file.
7021 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7022 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7023 ... this. Add a description of the test at the top of the file.
7024
e3091406
NS
70252015-10-28 Nathan Sidwell <nathan@codesourcery.com>
7026
7027 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7028 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7029 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7030 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7031 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7032 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7033
a1c1908b
NS
70342015-10-27 Nathan Sidwell <nathan@codesourcery.com>
7035
7036 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7037 dimensions.
7038
b3962a4a
TS
70392015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7040
7041 PR testsuite/68063
7042 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7043
88bae6f4
TS
70442015-10-27 James Norris <jnorris@codesourcery.com>
7045
7046 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7047 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7048
8baa7864
TS
70492015-10-26 Thomas Schwinge <thomas@codesourcery.com>
7050
bdeb752c
TS
7051 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7052 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7053
ecd4fd43
TS
7054 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7055 acc_device_nvidia usage.
7056 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7057 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7058 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7059
aa8b7d30
TS
7060 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7061 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7062
7c8f138d
TS
7063 PR libgomp/66518
7064 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7065
8baa7864
TS
7066 PR libgomp/65437
7067 PR libgomp/66518
7068 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7069 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7070
88ebcde5
TV
70712015-10-23 Tom de Vries <tom@codesourcery.com>
7072
7073 PR testsuite/68063
7074 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7075
9ef83c04
NS
70762015-10-20 Nathan Sidwell <nathan@codesourcery.com>
7077
7078 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7079 vector_length.
7080 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7081
3837c6d6
IV
70822015-10-14 Ilya Verbin <ilya.verbin@intel.com>
7083 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
7084
7085 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7086 to 0 when mapnum is 0.
7087
ac8a1965
SH
70882015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
7089
7090 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7091 Cast to int from int32_t.
7092
d9a6bd32
JJ
70932015-10-13 Jakub Jelinek <jakub@redhat.com>
7094 Aldy Hernandez <aldyh@redhat.com>
7095 Ilya Verbin <ilya.verbin@intel.com>
7096
7097 * config/linux/affinity.c (omp_get_place_num_procs,
7098 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7099 * config/linux/doacross.h: New file.
7100 * config/posix/affinity.c (omp_get_place_num_procs,
7101 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7102 * config/posix/doacross.h: New file.
7103 * env.c: Include gomp-constants.h.
7104 (struct gomp_task_icv): Rename run_sched_modifier to
7105 run_sched_chunk_size.
7106 (gomp_max_task_priority_var): New variable.
7107 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7108 (handle_omp_display_env): Change _OPENMP value from 201307 to
7109 201511. Print OMP_MAX_TASK_PRIORITY.
7110 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7111 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7112 chunk_size and run_sched_modifier to run_sched_chunk_size.
7113 (omp_get_max_task_priority, omp_get_initial_device,
7114 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7115 omp_get_partition_place_nums): New functions.
7116 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7117 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7118 to chunk_size.
7119 (omp_get_num_places_, omp_get_place_num_procs_,
7120 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7121 omp_get_place_proc_ids_8_, omp_get_place_num_,
7122 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7123 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7124 omp_get_max_task_priority_): New functions.
7125 * libgomp_g.h (GOMP_loop_doacross_static_start,
7126 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7127 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7128 GOMP_loop_ull_doacross_dynamic_start,
7129 GOMP_loop_ull_doacross_guided_start,
7130 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7131 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7132 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7133 GOMP_target_data_41, GOMP_target_update_41,
7134 GOMP_target_enter_exit_data): New prototypes.
7135 (GOMP_task): Add prototype argument.
7136 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7137 (struct gomp_doacross_work_share): New type.
7138 (struct gomp_work_share): Add doacross field.
7139 (struct gomp_task_icv): Rename run_sched_modifier to
7140 run_sched_chunk_size.
7141 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7142 GOMP_TASK_UNDEFERRED. Add comments.
7143 (struct gomp_task_depend_entry): Add comments.
7144 (struct gomp_task): Likewise.
7145 (struct gomp_taskgroup): Likewise.
7146 (struct gomp_target_task): New type.
7147 (struct gomp_team): Add comment.
7148 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7149 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7150 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7151 (struct target_var_desc): New type.
7152 (struct target_mem_desc): Adjust comment. Use struct
7153 target_var_desc instead of splay_tree_key for list.
7154 (REFCOUNT_INFINITY): Define.
7155 (struct splay_tree_key_s): Remove copy_from field.
7156 (struct gomp_device_descr): Add dev2dev_func field.
7157 (enum gomp_map_vars_kind): New enum.
7158 (gomp_map_vars): Add one argument.
7159 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7160 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7161 omp_get_place_num_procs, omp_get_place_num_procs_,
7162 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7163 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7164 omp_get_place_num_, omp_get_partition_num_places,
7165 omp_get_partition_num_places_, omp_get_partition_place_nums,
7166 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7167 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7168 omp_target_free, omp_target_is_present, omp_target_memcpy,
7169 omp_target_memcpy_rect, omp_target_associate_ptr and
7170 omp_target_disassociate_ptr.
7171 (GOMP_4.0.2): Renamed to ...
7172 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7173 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7174 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7175 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7176 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7177 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7178 GOMP_loop_ull_doacross_guided_start,
7179 GOMP_loop_ull_doacross_runtime_start,
7180 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7181 GOMP_doacross_ull_wait.
7182 * libgomp.texi: Document omp_get_max_task_priority.
7183 Rename modifier argument to chunk_size for omp_set_schedule and
7184 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7185 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7186 to run_sched_chunk_size renaming.
7187 (GOMP_loop_ordered_runtime_start): Likewise.
7188 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7189 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7190 GOMP_parallel_loop_runtime_start): New functions.
7191 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7192 to run_sched_chunk_size renaming.
7193 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7194 GOMP_loop_doacross_guided_start): New functions or aliases.
7195 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7196 run_sched_modifier to run_sched_chunk_size renaming.
7197 (GOMP_loop_ull_ordered_runtime_start): Likewise.
7198 (gomp_loop_ull_doacross_static_start,
7199 gomp_loop_ull_doacross_dynamic_start,
7200 gomp_loop_ull_doacross_guided_start,
7201 GOMP_loop_ull_doacross_runtime_start): New functions.
7202 (GOMP_loop_ull_doacross_static_start,
7203 GOMP_loop_ull_doacross_dynamic_start,
7204 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7205 * oacc-mem.c (acc_map_data, present_create_copy,
7206 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7207 to gomp_map_vars.
7208 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7209 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7210 instead of false to gomp_map_vars.
7211 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
7212 * omp.h.in (omp_lock_hint_t): New type.
7213 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7214 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7215 omp_get_place_num, omp_get_partition_num_places,
7216 omp_get_partition_place_nums, omp_get_initial_device,
7217 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7218 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7219 omp_target_associate_ptr, omp_target_disassociate_ptr): New
7220 prototypes.
7221 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7222 (omp_lock_hint_none, omp_lock_hint_uncontended,
7223 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7224 omp_lock_hint_speculative): New parameters.
7225 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7226 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7227 omp_get_place_num, omp_get_partition_num_places,
7228 omp_get_partition_place_nums, omp_get_initial_device,
7229 omp_get_max_task_priority): New interfaces.
7230 (omp_set_schedule, omp_get_schedule): Rename modifier argument
7231 to chunk_size.
7232 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
7233 (omp_lock_hint_none, omp_lock_hint_uncontended,
7234 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7235 omp_lock_hint_speculative): New parameters.
7236 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7237 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7238 omp_get_place_num, omp_get_partition_num_places,
7239 omp_get_partition_place_nums, omp_get_initial_device,
7240 omp_get_max_task_priority): New functions and subroutines.
7241 * ordered.c: Include stdarg.h and string.h.
7242 (MAX_COLLAPSED_BITS): Define.
7243 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7244 gomp_doacross_ull_init, GOMP_doacross_ull_post,
7245 GOMP_doacross_ull_wait): New functions.
7246 * target.c: Include errno.h.
7247 (resolve_device): If device is not initialized, call
7248 gomp_init_device on it.
7249 (gomp_map_lookup): New function.
7250 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7251 Don't bump refcount if REFCOUNT_INFINITY. Handle
7252 GOMP_MAP_ALWAYS_TO_P.
7253 (get_kind): Rename is_openacc argument to short_mapkind.
7254 (gomp_map_pointer): Use gomp_map_lookup.
7255 (gomp_map_fields_existing): New function.
7256 (gomp_map_vars): Rename is_openacc argument to short_mapkind
7257 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
7258 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7259 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7260 Adjust for tgt->list changed type and copy_from living in there.
7261 (gomp_copy_from_async): Adjust for tgt->list changed type and
7262 copy_from living in there.
7263 (gomp_unmap_vars): Likewise.
7264 (gomp_update): Likewise. Rename is_openacc argument to
7265 short_mapkind. Don't fail if object is not mapped.
7266 (gomp_load_image_to_device): Initialize refcount to
7267 REFCOUNT_INFINITY.
7268 (gomp_target_fallback): New function.
7269 (gomp_get_target_fn_addr): Likewise.
7270 (GOMP_target): Adjust gomp_map_vars caller, use
7271 gomp_get_target_fn_addr and gomp_target_fallback.
7272 (GOMP_target_41): New function.
7273 (gomp_target_data_fallback): New function.
7274 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7275 (GOMP_target_data_41): New function.
7276 (GOMP_target_update): Adjust gomp_update caller.
7277 (GOMP_target_update_41): New function.
7278 (gomp_exit_data, GOMP_target_enter_exit_data,
7279 gomp_target_task_fn, omp_target_alloc, omp_target_free,
7280 omp_target_is_present, omp_target_memcpy,
7281 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7282 omp_target_associate_ptr, omp_target_disassociate_ptr,
7283 gomp_load_plugin_for_device): New functions.
7284 * task.c: Include gomp-constants.h. Include taskloop.c
7285 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7286 (gomp_task_handle_depend): New function.
7287 (GOMP_task): Use it. Add priority argument. Use
7288 gomp-constant.h constants instead of hardcoded numbers.
7289 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7290 (gomp_create_target_task): New function.
7291 (verify_children_queue, verify_taskgroup_queue,
7292 verify_task_queue): New functions.
7293 (gomp_task_run_pre): Call verify_*_queue functions.
7294 If an upcoming tied task is about to leave the sibling or
7295 taskgroup queues in an invalid state, adjust appropriately.
7296 Remove taskgroup argument. Add comments.
7297 (gomp_task_run_post_handle_dependers): Add comments.
7298 (gomp_task_run_post_remove_parent): Likewise.
7299 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7300 (GOMP_taskwait): Likewise. Add comments.
7301 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7302 problem such that the first non parent_depends_on task does not
7303 end up at the end of the children queue.
7304 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7305 GOMP_TASK_UNDEFERRED.
7306 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7307 * taskloop.c: New file.
7308 * testsuite/lib/libgomp.exp
7309 (check_effective_target_offload_device_nonshared_as): New proc.
7310 * testsuite/libgomp.c/affinity-2.c: New test.
7311 * testsuite/libgomp.c/doacross-1.c: New test.
7312 * testsuite/libgomp.c/doacross-2.c: New test.
7313 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7314 Add map clause to target.
7315 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7316 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7317 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7318 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7319 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7320 Likewise.
7321 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7322 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7323 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7324 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7325 not defined. Use those where needed.
7326 * testsuite/libgomp.c/for-4.c: New test.
7327 * testsuite/libgomp.c/for-5.c: New test.
7328 * testsuite/libgomp.c/for-6.c: New test.
7329 * testsuite/libgomp.c/linear-1.c: New test.
7330 * testsuite/libgomp.c/ordered-4.c: New test.
7331 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7332 only allowed on the loop iterator.
7333 * testsuite/libgomp.c/pr66199-3.c: New test.
7334 * testsuite/libgomp.c/pr66199-4.c: New test.
7335 * testsuite/libgomp.c/reduction-7.c: New test.
7336 * testsuite/libgomp.c/reduction-8.c: New test.
7337 * testsuite/libgomp.c/reduction-9.c: New test.
7338 * testsuite/libgomp.c/reduction-10.c: New test.
7339 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7340 map(tofrom:s).
7341 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7342 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7343 * testsuite/libgomp.c/target-11.c: New test.
7344 * testsuite/libgomp.c/target-12.c: New test.
7345 * testsuite/libgomp.c/target-13.c: New test.
7346 * testsuite/libgomp.c/target-14.c: New test.
7347 * testsuite/libgomp.c/target-15.c: New test.
7348 * testsuite/libgomp.c/target-16.c: New test.
7349 * testsuite/libgomp.c/target-17.c: New test.
7350 * testsuite/libgomp.c/target-18.c: New test.
7351 * testsuite/libgomp.c/target-19.c: New test.
7352 * testsuite/libgomp.c/target-20.c: New test.
7353 * testsuite/libgomp.c/target-21.c: New test.
7354 * testsuite/libgomp.c/target-22.c: New test.
7355 * testsuite/libgomp.c/target-23.c: New test.
7356 * testsuite/libgomp.c/target-24.c: New test.
7357 * testsuite/libgomp.c/target-25.c: New test.
7358 * testsuite/libgomp.c/target-26.c: New test.
7359 * testsuite/libgomp.c/target-27.c: New test.
7360 * testsuite/libgomp.c/taskloop-1.c: New test.
7361 * testsuite/libgomp.c/taskloop-2.c: New test.
7362 * testsuite/libgomp.c/taskloop-3.c: New test.
7363 * testsuite/libgomp.c/taskloop-4.c: New test.
7364 * testsuite/libgomp.c++/ctor-13.C: New test.
7365 * testsuite/libgomp.c++/doacross-1.C: New test.
7366 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7367 Replace offload_device with offload_device_nonshared_as.
7368 * testsuite/libgomp.c++/for-12.C: New test.
7369 * testsuite/libgomp.c++/for-13.C: New test.
7370 * testsuite/libgomp.c++/for-14.C: New test.
7371 * testsuite/libgomp.c++/linear-1.C: New test.
7372 * testsuite/libgomp.c++/member-1.C: New test.
7373 * testsuite/libgomp.c++/member-2.C: New test.
7374 * testsuite/libgomp.c++/member-3.C: New test.
7375 * testsuite/libgomp.c++/member-4.C: New test.
7376 * testsuite/libgomp.c++/member-5.C: New test.
7377 * testsuite/libgomp.c++/ordered-1.C: New test.
7378 * testsuite/libgomp.c++/reduction-5.C: New test.
7379 * testsuite/libgomp.c++/reduction-6.C: New test.
7380 * testsuite/libgomp.c++/reduction-7.C: New test.
7381 * testsuite/libgomp.c++/reduction-8.C: New test.
7382 * testsuite/libgomp.c++/reduction-9.C: New test.
7383 * testsuite/libgomp.c++/reduction-10.C: New test.
7384 * testsuite/libgomp.c++/reference-1.C: New test.
7385 * testsuite/libgomp.c++/simd14.C: New test.
7386 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7387 * testsuite/libgomp.c++/target-5.C: New test.
7388 * testsuite/libgomp.c++/target-6.C: New test.
7389 * testsuite/libgomp.c++/target-7.C: New test.
7390 * testsuite/libgomp.c++/target-8.C: New test.
7391 * testsuite/libgomp.c++/target-9.C: New test.
7392 * testsuite/libgomp.c++/target-10.C: New test.
7393 * testsuite/libgomp.c++/target-11.C: New test.
7394 * testsuite/libgomp.c++/target-12.C: New test.
7395 * testsuite/libgomp.c++/taskloop-1.C: New test.
7396 * testsuite/libgomp.c++/taskloop-2.C: New test.
7397 * testsuite/libgomp.c++/taskloop-3.C: New test.
7398 * testsuite/libgomp.c++/taskloop-4.C: New test.
7399 * testsuite/libgomp.c++/taskloop-5.C: New test.
7400 * testsuite/libgomp.c++/taskloop-6.C: New test.
7401 * testsuite/libgomp.c++/taskloop-7.C: New test.
7402 * testsuite/libgomp.c++/taskloop-8.C: New test.
7403 * testsuite/libgomp.c++/taskloop-9.C: New test.
7404 * testsuite/libgomp.fortran/affinity1.f90: New test.
7405 * testsuite/libgomp.fortran/affinity2.f90: New test.
7406
1f600fea
TV
74072015-10-13 Tom de Vries <tom@codesourcery.com>
7408
7409 PR tree-optimization/67476
7410 * testsuite/libgomp.c/autopar-3.c: New test.
7411 * testsuite/libgomp.c/autopar-4.c: New test.
7412 * testsuite/libgomp.c/autopar-5.c: New test.
7413 * testsuite/libgomp.c/autopar-6.c: New test.
7414 * testsuite/libgomp.c/autopar-7.c: New test.
7415 * testsuite/libgomp.c/autopar-8.c: New test.
7416
058a654b
JN
74172015-10-12 James Norris <jnorris@codesourcery.com>
7418
7419 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7420 initializer.
7421
9e531d37
DM
74222015-10-09 David Malcolm <dmalcolm@redhat.com>
7423
7424 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7425 using load_gcc_lib.
7426
113020dc
TS
74272015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7428
7429 * oacc-ptx.h: Remove file, moving its content into...
7430 * config/nvptx/fortran.c: ... here...
7431 * config/nvptx/oacc-init.c: ..., here...
7432 * config/nvptx/oacc-parallel.c: ..., and here.
7433 * config/nvptx/openacc.f90: New file.
7434 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7435 (link_ptx): Don't link in predefined bits of PTX code.
7436
cc3cd79b
NS
74372015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7438 Bernd Schmidt <bernds@codesourcery.com>
7439
7440 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7441 (struct targ_ptx_obj): New.
7442 (nvptx_tdata): Move earlier, change data format.
7443 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7444 objects.
7445 (GOMP_OFFLOAD_load_image): Adjust.
7446
4e2a5450
TS
74472015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7448
7449 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7450 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7451 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7452 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7453 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7454 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7455 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7457 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7458 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7459 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7460 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7461 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7462 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7463 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7464 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7465 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7466 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7467 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7468 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7469 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7470 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7471 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7472 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7473 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7474 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7475 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7476 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7477 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7478 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7479 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7480 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7481 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7482 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7483 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7484 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7485 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7486 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7488 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7490 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7491 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7492 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7493 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7494 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7495 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7496 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7497 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7498 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7499 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7500 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7501 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7502 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7503 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7504 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7505 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7506 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7507 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7508 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7509 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7510 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7511 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7512
164453bb
NS
75132015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7514
7515 * oacc-init.c (acc_on_device): Force optimization level.
7516
a12a0437
NS
75172015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7518
7519 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7520 (cuda_errlist): Delete.
7521 (cuda_error): Reimplement.
7522
3e32ee19
NS
75232015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7524
7525 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7526 array.
7527 * libgomp.map (GOACC_parallel_keyed): New.
7528 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7529 all callers.
7530 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7531 and take keyed varargs list. Adjust call to exec_func.
7532 (GOACC_parallel): Force host fallback.
7533 * libgomp_g.h (GOACC_parallel): Remove.
7534 (GOACC_parallel_keyed): Declare.
7535 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 7536 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
7537 (nvptx_exec): Lose separate geometry args, take array. Process
7538 dynamic dimensions and adjust.
7539 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7540 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7541 data.
7542 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7543 passing.
7544 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7545 passing.
7546
6bb4c3e2
CLT
75472015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7548
7549 PR libgomp/67141
7550 * oacc-int.h (goacc_host_init): Add declaration.
7551 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7552 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7553
74032f47 75542015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 7555 Sebastian Pop <s.pop@samsung.com>
74032f47 7556
93d90219 7557 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
7558 match o/p.
7559 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7560 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7561 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7562 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7563 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7564
97875f4a
JJ
75652015-09-03 Jakub Jelinek <jakub@redhat.com>
7566
7567 * configure.tgt: Add missing ;; in between nvptx and rtems
7568 snippets.
7569
06441dd5
SH
75702015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7571
7572 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7573 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7574 (gomp_thread_pool_reservoir): Add priority member.
7575 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7576 priority.
7577 (parse_thread_pools): Likewise.
7578 * team.c (gomp_team_start): Call configuration provided
7579 gomp_adjust_thread_attr(). Destroy thread attributes if
7580 necessary.
7581 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7582
66c59f92
SH
75832015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7584
7585 * config/posix/pool.h: New.
7586 * config/rtems/pool.h: Likewise.
7587 * config/rtems/proc.c: Likewise.
7588 * libgomp.h (gomp_thread_destructor): Declare.
7589 * team.c: Include configuration provided "pool.h".
7590 (gomp_get_thread_pool): Define in configuration.
7591 (gomp_team_end): Call configuration defined
7592 gomp_release_thread_pool().
7593
13c41b2e
SH
75942015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7595
7596 * config/rtems/bar.c: New.
7597 * config/rtems/bar.h: Likewise.
7598 * config/rtems/mutex.c: Likewise.
7599 * config/rtems/mutex.h: Likewise.
7600 * config/rtems/sem.c: Likewise.
7601 * config/rtems/sem.h: Likewise.
7602 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7603 <sys/lock.h> header file.
7604 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7605 supported by Newlib.
7606 * configure: Regenerate.
7607
7892ec67
SH
76082015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7609
7610 * team.c (gomp_new_thread_pool): Delete and move content to ...
7611 (gomp_get_thread_pool): ... new function. Allocate and
7612 initialize thread pool on demand.
7613 (get_last_team): Use gomp_get_thread_pool().
7614 (gomp_team_start): Delete thread pool initialization.
7615
1b96e9a4
TV
76162015-09-03 Tom de Vries <tom@codesourcery.com>
7617
7618 PR tree-optimization/65637
7619 * testsuite/libgomp.c/autopar-2.c: New test.
7620
3ff2d74e
TV
76212015-08-29 Tom de Vries <tom@codesourcery.com>
7622
7623 PR tree-optimization/46193
7624 * testsuite/libgomp.c/pr46193.c: New test.
7625
2a21ff19
NS
76262015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7627
7628 libgomp/
7629 * libgomp.map: Add 4.0.2 version.
7630 * target.c (offload_image_descr): Add version field.
7631 (gomp_load_image_to_device): Add version argument. Adjust plugin
7632 call. Improve load mismatch diagnostic.
7633 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7634 call.
7635 (GOMP_offload_regster): Make stub function, move bulk to ...
7636 (GOMP_offload_register_ver): ... here. Process version argument.
7637 (GOMP_offload_unregister): Make stub function, move bulk to ...
7638 (GOMP_offload_unregister_ver): ... here. Process version argument.
7639 (gomp_init_device): Process version field.
7640 (gomp_unload_device): Process version field.
7641 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7642 macros. Check plugin version.
7643 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7644 loader and unloader types.
7645 * oacc-host.c: Include gomp-constants.h.
7646 (host_version): New.
7647 (host_load_image, host_unload_image): Adjust.
7648 (host_dispatch): Add host_version.
7649 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7650 (GOMP_OFFLOAD_version): New.
7651 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7652 (GOMP_OFFLOAD_unload_image): Likewise.
7653 * plugin/plugin-host.c: Include gomp-constants.h.
7654 (GOMP_OFFLOAD_version): New.
7655 (GOMP_OFFLOAD_load_image): Add version arg.
7656 (GOMP_OFFLOAD_unload_image): Likewise.
7657
1358a747
TV
76582015-08-24 Tom de Vries <tom@codesourcery.com>
7659
7660 PR tree-optimization/65468
7661 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7662
6be5c241
TV
76632015-08-24 Tom de Vries <tom@codesourcery.com>
7664
7665 PR tree-optimization/65468
7666 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7667
bfe7ac89
JV
76682015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7669
7670 PR libgomp/66761
7671 PR libgomp/67303
7672 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7673 (gomp_iter_guided_next): Idem.
7674 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7675 (gomp_iter_ull_guided_next): Idem.
7676 * config/linux/wait.h (do_spin): Idem.
7677
b97e78b7
TS
76782015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7679
7680 * libgomp-plugin.h (enum offload_target_type): Remove
7681 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7682 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7683 * openacc.h (enum acc_device_t): Likewise.
7684 * openacc_lib.h: Likewise.
7685 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7686 (acc_on_device): Just use __builtin_acc_on_device.
7687 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7688 of acc_on_device builtin.
7689 * plugin/plugin-host.h: Remove file.
7690 * plugin/plugin-host.c: Likewise, but salvage some content into...
7691 * oacc-host.c: ... this file.
7692 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7693 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7694 * Makefile.in: Regenerate.
7695 * configure: Likewise.
7696 * testsuite/lib/libgomp.exp
7697 (check_effective_target_openacc_host_nonshm_selected): Remove.
7698 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7699 ACC_DEVICE_TYPE=host_nonshm.
7700 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7701 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7702 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7703 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7704 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7705 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7706
44a7d18d
TS
77072015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7708 Jakub Jelinek <jakub@redhat.com>
7709
7710 * config/nvptx/affinity.c: New file.
7711 * config/nvptx/alloc.c: Likewise.
7712 * config/nvptx/bar.c: Likewise.
7713 * config/nvptx/barrier.c: Likewise.
7714 * config/nvptx/critical.c: Likewise.
7715 * config/nvptx/env.c: Likewise.
7716 * config/nvptx/error.c: Likewise.
7717 * config/nvptx/fortran.c: Likewise.
7718 * config/nvptx/iter.c: Likewise.
7719 * config/nvptx/iter_ull.c: Likewise.
7720 * config/nvptx/libgomp-plugin.c: Likewise.
7721 * config/nvptx/lock.c: Likewise.
7722 * config/nvptx/loop.c: Likewise.
7723 * config/nvptx/loop_ull.c: Likewise.
7724 * config/nvptx/mutex.c: Likewise.
7725 * config/nvptx/oacc-async.c: Likewise.
7726 * config/nvptx/oacc-cuda.c: Likewise.
7727 * config/nvptx/oacc-host.c: Likewise.
7728 * config/nvptx/oacc-init.c: Likewise.
7729 * config/nvptx/oacc-mem.c: Likewise.
7730 * config/nvptx/oacc-parallel.c: Likewise.
7731 * config/nvptx/oacc-plugin.c: Likewise.
7732 * config/nvptx/omp-lock.h: Likewise.
7733 * config/nvptx/ordered.c: Likewise.
7734 * config/nvptx/parallel.c: Likewise.
7735 * config/nvptx/proc.c: Likewise.
7736 * config/nvptx/ptrlock.c: Likewise.
7737 * config/nvptx/sections.c: Likewise.
7738 * config/nvptx/sem.c: Likewise.
7739 * config/nvptx/single.c: Likewise.
7740 * config/nvptx/splay-tree.c: Likewise.
7741 * config/nvptx/target.c: Likewise.
7742 * config/nvptx/task.c: Likewise.
7743 * config/nvptx/team.c: Likewise.
7744 * config/nvptx/time.c: Likewise.
7745 * config/nvptx/work.c: Likewise.
7746 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7747 * configure: Regenerate.
7748 * configure.tgt (config_path): Set to "nvptx" for target
7749 nvptx*-*-*.
7750
96a2d174
TS
77512015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7752
7753 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7754
9ebddeb0
NS
77552015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7756
7757 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7758 (cuda_errlist): Constify.
7759 (errmsg): Move into ...
7760 (cuda_error): ... here. Make smaller.
7761 (_XSTR, _STR): Delete.
7762 (cuda_synames): Delete.
7763 (verify_device_library): Delete.
7764 (nvptx_init): Don't call it.
7765
12efb1d7
TV
77662015-07-28 Tom de Vries <tom@codesourcery.com>
7767
7768 * testsuite/libgomp.c/uns-outer-4.c: New test.
7769
710ee218
CP
77702015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7771
7772 * testsuite/libgomp.c/pr66714.c: New test.
7773
27c4ac7d
MB
77742015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7775
7776 PR libgomp/66950
7777 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7778 (fib_ref): New function.
7779 (fib): Correct corner cases in the recursion.
7780 (main): Replace the non-simd loop with fib_ref call.
7781 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7782 subroutine.
7783 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7784 for the last array element value. Replace the non-simd loop with
7785 fib_ref call. Remove redundant b_ref array. Remove the comparison
7786 of the last array element with according Fibonacci sequence element.
7787 (fib): Correct corner cases in the recursion.
7788
22be2349
NS
77892015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7790
7791 * target.c (gomp_offload_image_to_device): Rename to ...
7792 (gomp_load_image_to_device): ... here.
7793 (GOMP_offload_register): Adjust call.
7794 (gomp_init_device): Likewise.
7795 (gomp_unload_image_from_device): New. Broken out of ...
7796 (GOMP_offload_unregister): ... here. Call it.
7797 (gomp_unload_device): New.
7798 * libgomp.h (gomp_unload_device): Declare.
7799 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7800 mem maps.
7801
f3e9a059
NS
78022015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7803
a091118d
NS
7804 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7805 wait=-specific if.
7806 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7807 !=0 condition.
7808 (goacc_waits): Move !num_waits handling to ...
7809 (GOACC_wait): ... here, the only caller that might have zero waits.
7810
f3e9a059
NS
7811 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7812 (struct ptx_image_data): Move earlier, add fns field.
7813 (struct ptx_device): Add images and image_lock fields.
7814 (ptx_images, ptx_image_lock): Delete.
7815 (nvptx_open_device): Initialize images and image_lock fields.
7816 (nvptx_close_device): Destroy image_lock.
7817 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7818 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7819 fields.
7820
afb2d80b
NS
78212015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7822
896c28a7
NS
7823 * target.c (GOMP_offload_register): Use int for device type arg.
7824 (GOMP_offload_unregister): Likewise.
7825
ebe4a560
NS
7826 * target.c (struct_offload_image_descr): Constify host_table.
7827 (gomp_offload_image_to_device): Likewise.
7828 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7829
afb2d80b
NS
7830 * libgomp.h (gomp_device_descr): Constify target data arguments.
7831 * target.c (struct offload_image_descr): Constify target_data.
7832 (gomp_offload_image_to_device): Likewise.
7833 (GOMP_offload_register): Likewise.
93d90219 7834 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
7835 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7836 GOMP_OFFLOAD_unload_image): Constify target data.
7837 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7838 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7839
a4cb876d
NS
78402015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7841
7842 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7843 Workaround driver library const error.
7844 (struct nvptx_tdata, nvptx_tdata_t): New.
7845 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7846 type.
7847
28ef6a27
MB
78482015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7849
7850 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7851 of EPS parameter from integer to real.
7852 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7853 type of EPS parameter from integer to real.
7854
6dba0113
SH
78552015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7856
7857 * team.c (get_last_team): New.
7858 (gomp_new_team): Recycle last non-nested team if possible.
7859 (gomp_team_end): Move team work share list free lock destruction
7860 to ...
7861 (free_team): ... here.
7862
4c1cb4da
MB
78632015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7864
7865 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7866 and ref from int to double. Replaced their comparison with
7867 an inequality of their difference and EPS.
7868 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7869 comparison of pri and a reference number with an inequality of their
7870 difference and EPS.
7871 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7872 the comparison of sum and sum_ref with an inequality of their
7873 difference and EPS.
7874 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7875 the comparison of pri and a reference number with an inequality of
7876 their difference and EPS.
7877
343587dc
MB
78782015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7879
7880 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7881 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7882 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7883 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7884 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7885 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7886 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7887 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7888 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7889 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7890 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7891 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7892 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7893 variables.
7894 (vec_mult): Likewise. Add #pragma omp taskwait.
7895 (main): Adjust caller.
7896 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7897 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7898 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7899 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7900 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7901 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7902 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7903 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7904 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7905 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7906 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7907 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7908 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7909 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7910 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7911 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7912 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7913 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7914 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7915 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7916 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7917 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7918 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7919 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7920 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7921 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7922 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7923 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7924 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7925 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7926 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7927 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7928 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7929 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7930 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7931 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7932 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7933 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7934 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7935 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7936 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7937 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7938 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7939 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7940 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7941 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7942 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7943 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7944 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7945 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7946 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7947 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7948 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7949 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7950 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7951 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7952 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7953 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7954 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7955 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7956 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7957 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7958 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7959 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7960 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7961 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7962 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7963 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7964 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7965 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7966 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7967 (vec_mult): Add !$omp taskwait.
7968 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7969 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7970 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7971 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7972 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7973 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7974 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7975 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7976 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7977 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7978 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7979 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7980 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7981 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7982 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7983 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7984 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7985 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7986 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7987 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7988 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7989 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7990 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7991 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7992 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7993 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7994 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7995 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7996 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7997 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7998 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7999 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8000 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8001 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8002 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8003 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8004 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8005 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8006 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8007 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8008 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8009 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8010 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8011 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8012 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8013 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8014 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8015 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8016 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8017 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8018 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8019 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8020 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8021 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8022 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8023 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8024 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8025 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8026 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8027 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8028 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8029 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8030 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8031 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8032 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8033 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8034 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8035
9f620bf1
TV
80362015-07-10 Tom de Vries <tom@codesourcery.com>
8037
8038 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8039 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8040
a92defda
TS
80412015-07-08 Thomas Schwinge <thomas@codesourcery.com>
8042
8043 PR libgomp/65099
8044 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8045 in a 64-bit configuration.
8046 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8047 offloading testing if no such device is available.
8048 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8049 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8050
cadb53a5
TV
80512015-07-08 Tom de Vries <tom@codesourcery.com>
8052
8053 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8054 second call to f.
8055 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8056
712cb0bb
TV
80572015-07-07 Tom de Vries <tom@codesourcery.com>
8058
8059 PR tree-optimization/66642
8060 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8061 iteration count case.
8062 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8063 function, factor out of ...
8064 (main): ... here. Test low iteration count case.
8065
e5210c77
SH
80662015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
8067
8068 * libgomp.h (gomp_thread_pool): Comment last_team field.
8069
f70360e7
UB
80702015-07-02 Uros Bizjak <ubizjak@gmail.com>
8071
8072 * testsuite/libgomp.c++/pr66702-1.C: Require
8073 vect_simd_clones effective target.
8074 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8075
b451c271
TV
80762015-06-30 Tom de Vries <tom@codesourcery.com>
8077
8078 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8079 already set. Use DEFAULT_CFLAGS in dg-runtest.
8080 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8081 "-O2".
8082
f8e89d9f
TV
80832015-06-30 Tom de Vries <tom@codesourcery.com>
8084
8085 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8086 already set. Use DEFAULT_CFLAGS in dg-runtest.
8087 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8088 * testsuite/libgomp.c++/pr64824.C: Same.
8089 * testsuite/libgomp.c++/pr64868.C: Same.
8090 * testsuite/libgomp.c++/pr66199-1.C: Same.
8091 * testsuite/libgomp.c++/pr66199-2.C: Same.
8092 * testsuite/libgomp.c++/target-2.C: Same.
8093 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8094 -std=<standard> option.
8095 * testsuite/libgomp.c++/udr-11.C: Same.
8096 * testsuite/libgomp.c++/udr-12.C: Same.
8097 * testsuite/libgomp.c++/udr-13.C: Same.
8098 * testsuite/libgomp.c++/udr-14.C: Same.
8099 * testsuite/libgomp.c++/udr-15.C: Same.
8100 * testsuite/libgomp.c++/udr-16.C: Same.
8101 * testsuite/libgomp.c++/udr-17.C: Same.
8102 * testsuite/libgomp.c++/udr-18.C: Same.
8103 * testsuite/libgomp.c++/udr-19.C: Same.
8104 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8105 * testsuite/libgomp.c++/simd-1.C: Same.
8106 * testsuite/libgomp.c++/simd-2.C: Same.
8107 * testsuite/libgomp.c++/simd-3.C: Same.
8108 * testsuite/libgomp.c++/simd-4.C: Same.
8109 * testsuite/libgomp.c++/simd-5.C: Same.
8110 * testsuite/libgomp.c++/simd-6.C: Same.
8111 * testsuite/libgomp.c++/simd-7.C: Same.
8112 * testsuite/libgomp.c++/simd-8.C: Same.
8113 * testsuite/libgomp.c++/simd-9.C: Same.
8114 * testsuite/libgomp.c++/simd10.C: Same.
8115 * testsuite/libgomp.c++/simd11.C: Same.
8116 * testsuite/libgomp.c++/simd12.C: Same.
8117 * testsuite/libgomp.c++/simd13.C: Same.
8118
3446fe48
JJ
81192015-06-30 Jakub Jelinek <jakub@redhat.com>
8120
8121 PR middle-end/66702
8122 * testsuite/libgomp.c++/pr66702-1.C: New test.
8123 * testsuite/libgomp.c++/pr66702-2.C: New test.
8124
8a36714a
TV
81252015-06-30 Tom de Vries <tom@codesourcery.com>
8126
8127 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8128 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8129 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8130 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8131
4f75d608
TV
81322015-06-30 Tom de Vries <tom@codesourcery.com>
8133
8134 PR tree-optimization/66652
8135 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8136 using restrict pointers.
8137 (main): Add arguments to calls to f.
8138 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8139
6d9d1eeb
AT
81402015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
8141
8142 * configure.ac: Fix check for header <sys/sysctl.h>.
8143 * configure: Regenerate.
8144 * config.h.in: Likewise.
8145
1222f22b
TV
81462015-06-23 Tom de Vries <tom@codesourcery.com>
8147
8148 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8149 abort.
8150 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8151
d7efbbf6
TS
81522015-06-19 Thomas Schwinge <thomas@codesourcery.com>
8153
bfcd036f
TS
8154 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8155 acc_device_nvidia.
8156
d7efbbf6
TS
8157 PR libgomp/66518
8158 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8159 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8160
d7bfc710
TV
81612015-06-15 Tom de Vries <tom@codesourcery.com>
8162
8163 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8164 dg-additional-options for any remaining options.
8165 * testsuite/libgomp.c/atomic-2.c: Same.
8166 * testsuite/libgomp.c/atomic-4.c: Same.
8167 * testsuite/libgomp.c/atomic-5.c: Same.
8168 * testsuite/libgomp.c/atomic-6.c: Same.
8169 * testsuite/libgomp.c/autopar-1.c: Same.
8170 * testsuite/libgomp.c/copyin-1.c: Same.
8171 * testsuite/libgomp.c/copyin-2.c: Same.
8172 * testsuite/libgomp.c/copyin-3.c: Same.
8173 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8174 * testsuite/libgomp.c/nestedfn-5.c: Same.
8175 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8176 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8177 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8178 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8179 * testsuite/libgomp.c/pr32362-1.c: Same.
8180 * testsuite/libgomp.c/pr32362-2.c: Same.
8181 * testsuite/libgomp.c/pr32362-3.c: Same.
8182 * testsuite/libgomp.c/pr39591-1.c: Same.
8183 * testsuite/libgomp.c/pr39591-2.c: Same.
8184 * testsuite/libgomp.c/pr39591-3.c: Same.
8185 * testsuite/libgomp.c/pr58392.c: Same.
8186 * testsuite/libgomp.c/pr58756.c: Same.
8187 * testsuite/libgomp.c/simd-1.c: Same.
8188 * testsuite/libgomp.c/simd-10.c: Same.
8189 * testsuite/libgomp.c/simd-11.c: Same.
8190 * testsuite/libgomp.c/simd-12.c: Same.
8191 * testsuite/libgomp.c/simd-13.c: Same.
8192 * testsuite/libgomp.c/simd-14.c: Same.
8193 * testsuite/libgomp.c/simd-15.c: Same.
8194 * testsuite/libgomp.c/simd-2.c: Same.
8195 * testsuite/libgomp.c/simd-3.c: Same.
8196 * testsuite/libgomp.c/simd-4.c: Same.
8197 * testsuite/libgomp.c/simd-5.c: Same.
8198 * testsuite/libgomp.c/simd-6.c: Same.
8199 * testsuite/libgomp.c/simd-7.c: Same.
8200 * testsuite/libgomp.c/simd-8.c: Same.
8201 * testsuite/libgomp.c/simd-9.c: Same.
8202
fb5b5352
TV
82032015-06-15 Tom de Vries <tom@codesourcery.com>
8204
8205 * testsuite/libgomp.c/pr35625.c: Fix typo.
8206
ca431bef
TV
82072015-06-15 Tom de Vries <tom@codesourcery.com>
8208
8209 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8210 in dg-options.
8211 * testsuite/libgomp.c/atomic-3.c: Same.
8212 * testsuite/libgomp.c/debug-1.c: Same.
8213 * testsuite/libgomp.c/nqueens-1.c: Same.
8214 * testsuite/libgomp.c/pr26171.c: Same.
8215 * testsuite/libgomp.c/pr48591.c: Same.
8216 * testsuite/libgomp.c/pr64824.c: Same.
8217 * testsuite/libgomp.c/pr64868.c: Same.
8218 * testsuite/libgomp.c/pr66133.c: Same.
8219 * testsuite/libgomp.c/pr66199-1.c: Same.
8220 * testsuite/libgomp.c/pr66199-2.c: Same.
8221 * testsuite/libgomp.c/target-8.c: Same.
8222
0d8a9e20
TV
82232015-06-15 Tom de Vries <tom@codesourcery.com>
8224
8225 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8226 -std={gnu99,c99}.
8227 * testsuite/libgomp.c/for-1.c: Same.
8228 * testsuite/libgomp.c/for-2.c: Same.
8229 * testsuite/libgomp.c/for-3.c: Same.
8230 * testsuite/libgomp.c/pr35625.c: Same.
8231 * testsuite/libgomp.c/pr39154.c: Same.
8232 * testsuite/libgomp.c/simd-16.c: Same.
8233 * testsuite/libgomp.c/simd-17.c: Same.
8234
a6860be9
TV
82352015-06-13 Tom de Vries <tom@codesourcery.com>
8236
8237 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8238
ab3306d2
TV
82392015-06-13 Tom de Vries <tom@codesourcery.com>
8240
8241 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8242 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8243 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8244 (N): Define.
8245 (main): Use N instead of hardcoded constants.
8246
7c82d827
TV
82472015-06-05 Tom de Vries <tom@codesourcery.com>
8248
8249 merge from gomp4 branch:
8250 2015-05-28 Tom de Vries <tom@codesourcery.com>
8251
8252 PR tree-optimization/65443
8253 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8254 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8255 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8256
c469078d
BRF
82572015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8258
8259 * testsuite/libgomp.graphite/bounds.c: Adjust for
8260 cleanup-tree-dump removal.
8261 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8262 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8263 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8264 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8265 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8266 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8267 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8268 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8269 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8270 * testsuite/libgomp.graphite/pr41118.c: Likewise.
8271
bb3caa35
UB
82722015-05-28 Uros Bizjak <ubizjak@gmail.com>
8273
8274 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8275 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8276 (futex_wake) [!__x86_64__]: Ditto.
8277
9fb5fd44
JB
82782015-05-28 Julian Brown <julian@codesourcery.com>
8279
8280 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8281 function comment. Only call gomp_fatal if new argument is true.
8282 (acc_dev_num_out_of_range): New function.
8283 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8284 acc_dev_num_out_of_range as appropriate.
8285 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
8286 (acc_get_device_num, acc_set_device_num): Update calls to
8287 resolve_device.
9fb5fd44
JB
8288 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8289 output.
8290
32eaed93
JB
82912015-05-28 Julian Brown <julian@codesourcery.com>
8292
8293 PR libgomp/65742
32eaed93
JB
8294 * oacc-init.c (plugin/plugin-host.h): Include.
8295 (acc_on_device): Check whether we're in an offloaded region for
8296 host_nonshm
8297 plugin. Don't use __builtin_acc_on_device.
8298 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8299 nonshm_exec flag in thread-local data.
8300 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8301 data for host_nonshm plugin.
8302 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8303 for host_nonshm plugin.
8304 * plugin/plugin-host.h: New.
8305
ea023bcf
UB
83062015-05-27 Uros Bizjak <ubizjak@gmail.com>
8307
8ed501f1
UB
8308 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8309
83102015-05-27 Uros Bizjak <ubizjak@gmail.com>
8311
8312 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8313 Declare as int.
8314 (FUTEX_PRIVATE_FLAG): Remove L suffix.
8315 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8316 Declare as int.
8317
83182015-05-27 Uros Bizjak <ubizjak@gmail.com>
8319
bb3caa35 8320 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 8321
1716efeb
CLT
83222015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
8323
8324 * target.c (gomp_map_pointer): New function abstracting out
8325 GOMP_MAP_POINTER handling.
8326 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8327 gomp_map_pointer().
8328
41b37d5e
JJ
83292015-05-19 Jakub Jelinek <jakub@redhat.com>
8330
8331 PR middle-end/66199
8332 * testsuite/libgomp.c/pr66199-1.c: New test.
8333 * testsuite/libgomp.c/pr66199-2.c: New test.
8334 * testsuite/libgomp.c++/pr66199-1.C: New test.
8335 * testsuite/libgomp.c++/pr66199-2.C: New test.
8336 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8337 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8338
c8319826
JB
83392015-05-19 Julian Brown <julian@codesourcery.com>
8340
8341 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8342 on cuInit failure.
8343
b37dddbc
JJ
83442015-05-13 Jakub Jelinek <jakub@redhat.com>
8345
8346 PR middle-end/66133
8347 * testsuite/libgomp.c/pr66133.c: New test.
8348
55fba601
MH
83492015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
8350
8351 * Makefile.in: Regenerated with automake-1.11.6.
8352 * aclocal.m4: Likewise.
8353 * config.h.in: Likewise.
8354 * configure: Likewise.
8355 * testsuite/Makefile.in: Likewise.
8356
1be0899d
JM
83572015-05-08 Jason Merrill <jason@redhat.com>
8358
8359 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8360 _Complex.
8361
8362 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8363
d2463960
JB
83642015-05-06 Julian Brown <julian@codesourcery.com>
8365
8366 * oacc-init.c (acc_device_lock): Add explanatory comment.
8367 (resolve_device): Add comment about locking requirement.
8368 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8369 gomp_init_device and gomp_fini_device calls.
8370 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8371 (acc_get_device_num, acc_set_device_num): Add locking around
8372 resolve_device and gomp_init_device calls.
8373
e38fdba4
JB
83742015-05-06 Julian Brown <julian@codesourcery.com>
8375
8376 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8377 goacc_thread_lock on error paths.
8378 * oacc-mem.c (lookup_host): Remove locking from function. Note
8379 locking requirement for caller in function comment.
8380 (lookup_dev): Likewise.
8381 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8382 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8383 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8384 Add locking.
8385
ae8ffbbb
TS
83862015-05-05 Thomas Schwinge <thomas@codesourcery.com>
8387
8388 PR testsuite/65205
8389 PR libgomp/65993
8390 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8391 don't expect "0x" prefix for "%p" format specifier, don't expect
8392 "(nil)" for NULL pointer.
8393 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8394 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8395 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8396 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8397 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8398 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8399 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8400 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8401 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8402 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8403 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8404 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8405 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8406 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8407 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8408 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8409 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8410 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8411 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8412 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8413 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8414 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8415 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8416 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8417 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8418 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8419 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8420 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8421 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8422 accurately specify what we're looking for.
8423 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8424 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8425 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8426 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8427 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8428
1309f1d2
JN
84292015-04-30 James Norris <jnorris@codesourcery.com>
8430
8431 PR testsuite/65205
8432 * testsuite/lib/libgomp.exp
8433 (check_effective_target_openacc_host_selected)
8434 (check_effective_target_openacc_host_nonshm_selected): New
8435 procedures.
8436 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8437 dg-shouldfail.
8438 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8439 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8440 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8441 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8442 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8443 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8444 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8445 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8446 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8447 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8448 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8449 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8450 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8451 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8452 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8453 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8454 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8455 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8456 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8457 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8458 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8459 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8460 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8461 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8462 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8463 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8464 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8465 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8466 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8467 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8468 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8469 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8470 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8471 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8472 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8473 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8474 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8475 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8476 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8477 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8478 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8479 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8480 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8481
d93bdab5
JB
84822015-04-08 Julian Brown <julian@codesourcery.com>
8483
8484 * libgomp.h (target_mem_desc: Remove mem_map field.
8485 (acc_dispatch_t): Remove open_device_func, close_device_func,
8486 get_device_num_func, set_device_num_func, target_data members.
8487 Change create_thread_data_func argument to device number instead of
8488 generic pointer.
8489 * oacc-async.c (assert.h): Include.
8490 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8491 (acc_wait_all, acc_wait_all_async): Use current host thread's
8492 active device, not base_dev.
8493 * oacc-cuda.c (acc_get_current_cuda_device)
8494 (acc_get_current_cuda_context, acc_get_cuda_stream)
8495 (acc_set_cuda_stream): Likewise.
8496 * oacc-host.c (host_dispatch): Don't set open_device_func,
8497 close_device_func, get_device_num_func or set_device_num_func.
8498 * oacc-init.c (base_dev, init_key): Remove.
8499 (cached_base_dev): New.
8500 (name_of_acc_device_t): New.
8501 (acc_init_1): Initialise default-numbered device, not zeroth.
8502 (acc_shutdown_1): Close all devices of a given type.
8503 (goacc_destroy_thread): Don't use base_dev.
8504 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8505 (goacc_attach_host_thread_to_device): New.
8506 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8507 (acc_get_num_devices): Don't use base_dev.
8508 (acc_set_device_type): Reimplement.
8509 (acc_get_device_type): Don't use base_dev.
8510 (acc_get_device_num): Tweak logic.
8511 (acc_set_device_num): Likewise.
8512 (acc_on_device): Use acc_get_device_type.
8513 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8514 (goacc_lazy_initialize): Reimplement with acc_init and
8515 goacc_attach_host_thread_to_device.
8516 * oacc-int.h (goacc_thread): Add base_dev field.
8517 (base_dev): Remove extern declaration.
8518 (goacc_attach_host_thread_to_device): Add prototype.
8519 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8520 base_dev.
8521 (acc_free): Likewise.
8522 (acc_memcpy_to_device): Likewise.
8523 (acc_memcpy_from_device): Likewise.
8524 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8525 goacc_lazy_initialize (throughout).
8526 (GOACC_parallel): Use tgt_offset to locate target functions.
8527 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8528 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8529 (gomp_load_plugin_for_device): Remove open_device, close_device,
8530 get_device_num, set_device_num openacc hook initialisation. Don't set
8531 openacc.target_data.
8532 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8533 (GOMP_OFFLOAD_openacc_close_device)
8534 (GOMP_OFFLOAD_openacc_get_device_num)
8535 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8536 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8537 to int.
8538 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8539 (instantiated_devices, ptx_dev_lock): New.
8540 (struct ptx_image_data): New.
8541 (ptx_devices, ptx_images, ptx_image_lock): New.
8542 (fini_streams_for_device): Reorder cuStreamDestroy call.
8543 (nvptx_get_num_devices): Remove forward declaration.
8544 (nvptx_init): Change return type to bool.
8545 (nvptx_fini): Remove.
8546 (nvptx_attach_host_thread_to_device): New.
8547 (nvptx_open_device): Return struct ptx_device* instead of void*.
8548 (nvptx_close_device): Change argument type to struct ptx_device*,
8549 return type to void.
8550 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8551 (kernel_target_data, kernel_host_table): Remove static globals.
8552 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8553 (GOMP_OFFLOAD_init_device): Reimplement.
8554 (GOMP_OFFLOAD_fini_device): Likewise.
8555 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8556 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8557 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8558 (GOMP_OFFLOAD_openacc_open_device)
8559 (GOMP_OFFLOAD_openacc_close_device)
8560 (GOMP_OFFLOAD_openacc_set_device_num)
8561 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8562 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8563 (device number).
8564
8565 testsuite/
8566 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8567
a51df54e
IV
85682015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8569
8570 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8571 * libgomp.h (struct gomp_memory_mapping): Remove.
8572 (struct target_mem_desc): Change type of mem_map from
8573 gomp_memory_mapping * to splay_tree_s *.
8574 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8575 Add load_image_func, unload_image_func.
8576 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8577 Remove offload_regions_registered.
8578 (gomp_init_tables): Remove.
8579 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8580 to splay_tree_s *.
8581 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8582 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8583 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8584 offload_regions_registered.
8585 Initialize load_image_func, unload_image_func, mem_map.root.
8586 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8587 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8588 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8589 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8590 gomp_memory_mapping *. Use dev's lock and splay_tree.
8591 (lookup_dev): Use dev's lock.
8592 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8593 (acc_is_present): Likewise.
8594 (acc_map_data): Likewise.
8595 (acc_unmap_data): Likewise. Use dev's lock.
8596 (present_create_copy): Likewise.
8597 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8598 (update_dev_host): Likewise.
8599 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8600 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8601 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8602 (GOMP_OFFLOAD_get_table): Remove
8603 (GOMP_OFFLOAD_load_image): New function.
8604 (GOMP_OFFLOAD_unload_image): New function.
8605 * target.c (register_lock): New mutex for offload image registration.
8606 (num_devices): Do not guard with PLUGIN_SUPPORT.
8607 (gomp_realloc_unlock): New static function.
8608 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8609 before gomp_fatal.
8610 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8611 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8612 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8613 mem_map's.
8614 (gomp_unmap_vars): Likewise.
8615 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8616 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8617 (gomp_offload_image_to_device): New static function.
8618 (GOMP_offload_register): Add mutex lock.
8619 Call gomp_offload_image_to_device for all initialized devices.
8620 Replace gomp_realloc with gomp_realloc_unlock.
8621 (GOMP_offload_unregister): New function.
8622 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8623 get_table_func from the plugin with calls to init_device_func and
8624 gomp_offload_image_to_device.
8625 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8626 to splay_tree_s *.
8627 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8628 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8629 (GOMP_target_data): Do not call gomp_init_tables.
8630 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8631 (gomp_load_plugin_for_device): Replace register_image and get_table
8632 with load_image and unload_image in DLSYM ().
8633 (gomp_register_images_for_device): Remove function.
8634 (gomp_target_init): Do not initialize current_device.mem_map.*,
8635 current_device.offload_regions_registered.
8636 Remove call to gomp_register_images_for_device.
8637 Do not free offload_images and num_offload_images.
8638
6c384511
JJ
86392015-03-30 Jakub Jelinek <jakub@redhat.com>
8640
8641 PR fortran/65597
8642 * testsuite/libgomp.fortran/pr65597.f90: New test.
8643
3e8165a5
TV
86442015-03-27 Tom de Vries <tom@codesourcery.com>
8645
8646 PR testsuite/65594
8647 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8648 (init, check): New function.
8649 (foo): Change return type to void.
8650 (main): Call init and check.
8651
4d688c9a
TV
86522015-03-27 Tom de Vries <tom@codesourcery.com>
8653
8654 PR testsuite/65594
8655 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8656 (foo): Use M for non-inner loops to scale down test-case.
8657
01c0b3b0
KT
86582015-03-25 Kai Tietz <ktietz@redhat.com>
8659
8660 PR libgomp/64972
8661 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8662 (GOACC_data_start): Likewise.
8663 * target.c (gomp_map_vars): Likewise.
8664
844d9a76
JDA
86652015-03-21 John David Anglin <danglin@gcc.gnu.org>
8666
8667 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8668 hppa*-*-hpux*.
8669
9b65e171
JJ
86702015-03-19 Jakub Jelinek <jakub@redhat.com>
8671
8672 * testsuite/libgomp.c/target-10.c: New test.
8673 * testsuite/libgomp.c++/target-4.C: New test.
8674
db397e2e
IV
86752015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8676
8677 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8678 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8679
cd93945d
SH
86802015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8681
8682 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8683 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8684 (pthread.h): Check for this header file.
8685 * configure: Regenerate.
8686
05deba9f
TV
86872015-02-25 Tom de Vries <tom@codesourcery.com>
8688
8689 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8690 (check_reduction_op, check_reduction_macro, max, min):
8691 Declare.
8692 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8693 function.
8694 (main): Use new functions.
8695
196904d8
IT
86962015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8697
8698 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8699 char * for variables holding dlerror return values.
8700 (DLSYM_OPT): Ditto.
8701
a2818955
TS
87022015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8703
8704 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8705
26f93312
TS
87062015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8707 Cesar Philippidis <cesar@codesourcery.com>
8708
8709 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8710 GOACC_ctaid, and GOACC_nctaid routines.
8711
fa01ffcc
JJ
87122015-02-11 Jakub Jelinek <jakub@redhat.com>
8713
8714 PR c/64824
8715 * testsuite/libgomp.c/atomic-18.c: New test.
8716 * testsuite/libgomp.c++/atomic-16.C: New test.
8717
4886ec8e
JJ
87182015-02-04 Jakub Jelinek <jakub@redhat.com>
8719
8720 PR c/64824
8721 PR c/64868
8722 * testsuite/libgomp.c/pr64824.c: New test.
8723 * testsuite/libgomp.c/pr64868.c: New test.
8724 * testsuite/libgomp.c++/pr64824.C: New test.
8725 * testsuite/libgomp.c++/pr64868.C: New test.
8726
02d3e45e
DE
87272015-02-01 David Edelsohn <dje.gcc@gmail.com>
8728
8729 PR libgomp/64635
8730 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8731 Link with -lpthread.
8732 * config/aix/plugin-suffix.h: Delete.
8733
b5f7a6ca
JH
87342015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8735
8736 PR libgomp/64635
8737 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8738 (*-*-darwin*): Use config_path "bsd darwin posix".
8739 (*-*-hpux*): Use config_path "hpux posix".
8740 * target.c: Add include of plugin-suffix.h and use
8741 SONAME_SUFFIX macro.
8742 * config/aix/plugin-suffix.h: New file.
8743 * config/darwin/plugin-suffix.h: New file.
8744 * config/hpux/plugin-suffix.h: New file.
8745 * config/posix/plugin-suffix.h: New file.
8746
b8910447
JJ
87472015-01-23 Jakub Jelinek <jakub@redhat.com>
8748
8749 PR middle-end/64734
8750 * libgomp.c/pr64734.c: New test.
8751
a0c88d06
TV
87522015-01-23 Tom de Vries <tom@codesourcery.com>
8753
8754 PR libgomp/64672
8755 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8756
1506ae0e
TV
87572015-01-23 Tom de Vries <tom@codesourcery.com>
8758
8759 PR libgomp/64707
8760 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8761 dg-options.
8762
128b26dc
TS
87632015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8764
bed62c21 8765 PR libgomp/64625
128b26dc
TS
8766 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8767 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8768 formal parameter. Update all users.
8769 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8770 Document unused formal parameter.
8771
6e36114c
TS
87722015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8773
8774 * oacc-parallel.c: Don't include <alloca.h>.
8775 (GOACC_parallel): Use gomp_alloca instead of alloca.
8776
973e9808
GP
87772015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8778
8779 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8780
41dbbb37
TS
87812015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8782 James Norris <jnorris@codesourcery.com>
8783 Tom de Vries <tom@codesourcery.com>
8784 Julian Brown <julian@codesourcery.com>
8785 Cesar Philippidis <cesar@codesourcery.com>
8786 Nathan Sidwell <nathan@codesourcery.com>
8787 Tobias Burnus <burnus@net-b.de>
8788
8789 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8790 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8791 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8792 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8793 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8794 Include $(top_srcdir)/plugin/Makefrag.am.
8795 (nodist_libsubinclude_HEADERS): Add openacc.h.
8796 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8797 openacc.f90, openacc.mod, openacc_kinds.mod.
8798 (omp_lib.mod): Generalize into...
8799 (%.mod): ... this new rule.
8800 (openacc_kinds.mod, openacc.mod): New rules.
8801 * plugin/configfrag.ac: New file.
8802 * configure.ac: Move plugin/offloading support into it. Include
8803 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8804 * plugin/Makefrag.am: New file.
8805 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8806 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8807 export.
8808 (libgomp-test-support.exp): New rule.
8809 (all-local): Depend on it.
8810 * Makefile.in: Regenerate.
8811 * testsuite/Makefile.in: Regenerate.
8812 * config.h.in: Likewise.
8813 * configure: Likewise.
8814 * configure.tgt: Harden shell syntax.
8815 * env.c: Include "oacc-int.h".
8816 (parse_acc_device_type): New function.
8817 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8818 variables.
8819 (initialize_env): Initialize those. Call
8820 goacc_runtime_initialize.
8821 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8822 (gomp_fatal): Call gomp_vfatal.
8823 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8824 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8825 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8826 (splay_tree_node, splay_tree, splay_tree_key)
8827 (struct target_mem_desc, struct splay_tree_key_s)
8828 (struct gomp_memory_mapping, struct acc_dispatch_t)
8829 (struct gomp_device_descr, gomp_acc_insert_pointer)
8830 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8831 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8832 (gomp_free_memmap, gomp_fini_device): New declarations.
8833 (gomp_vdebug, gomp_debug): New macros.
8834 Include "splay-tree.h".
8835 * libgomp.map (OACC_2.0): New symbol version. Use for
8836 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8837 acc_set_device_type_h_, acc_get_device_type,
8838 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8839 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8840 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8841 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8842 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8843 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8844 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8845 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8846 acc_copyin_array_h_, acc_present_or_copyin,
8847 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8848 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8849 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8850 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8851 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8852 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8853 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8854 acc_update_device, acc_update_device_32_h_,
8855 acc_update_device_64_h_, acc_update_device_array_h_,
8856 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8857 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8858 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8859 acc_is_present_64_h_, acc_is_present_array_h_,
8860 acc_memcpy_to_device, acc_memcpy_from_device,
8861 acc_get_current_cuda_device, acc_get_current_cuda_context,
8862 acc_get_cuda_stream, acc_set_cuda_stream.
8863 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8864 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8865 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8866 GOACC_get_num_threads.
8867 (GOMP_PLUGIN_1.0): New symbol version. Use for
8868 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8869 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8870 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8871 GOMP_PLUGIN_acc_thread.
8872 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8873 environment variable.
8874 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8875 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8876 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8877 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8878 (splay_tree_remove): New declarations.
8879 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8880 (splay_tree_remove, splay_tree_lookup): Move into...
8881 * splay-tree.c: ... this new file.
8882 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8883 (splay_tree_node, splay_tree, splay_tree_key)
8884 (struct target_mem_desc, struct splay_tree_key_s)
8885 (struct gomp_device_descr): Don't declare.
8886 (num_devices_openmp): New variable.
8887 (gomp_get_num_devices ): Use it.
8888 (gomp_init_targets_once): New function.
8889 (gomp_get_num_devices ): Use it.
8890 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8891 (gomp_fini_device, gomp_register_image_for_device): New functions.
8892 (gomp_map_vars): Add devaddrs parameter.
8893 (gomp_update): Add mm parameter.
8894 (gomp_init_device): Move most of it into...
8895 (gomp_init_tables): ... this new function.
8896 (gomp_register_images_for_device): Remove function.
8897 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8898 Make them hidden instead of static.
8899 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8900 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8901 (GOMP_target_end_data, GOMP_target_update)
8902 (gomp_load_plugin_for_device, gomp_target_init): Update for
8903 OpenACC changes.
8904 * oacc-async.c: New file.
8905 * oacc-cuda.c: Likewise.
8906 * oacc-host.c: Likewise.
8907 * oacc-init.c: Likewise.
8908 * oacc-int.h: Likewise.
8909 * oacc-mem.c: Likewise.
8910 * oacc-parallel.c: Likewise.
8911 * oacc-plugin.c: Likewise.
8912 * oacc-plugin.h: Likewise.
8913 * oacc-ptx.h: Likewise.
8914 * openacc.f90: Likewise.
8915 * openacc.h: Likewise.
8916 * openacc_lib.h: Likewise.
8917 * plugin/plugin-host.c: Likewise.
8918 * plugin/plugin-nvptx.c: Likewise.
8919 * libgomp-plugin.c: Likewise.
8920 * libgomp-plugin.h: Likewise.
8921 * libgomp_target.h: Remove file after merging content into the
8922 former file. Update all users.
8923 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8924 (offload_targets_s, offload_targets_s_openacc): New variables.
8925 (check_effective_target_openacc_nvidia_accel_present)
8926 (check_effective_target_openacc_nvidia_accel_selected): New
8927 procedures.
8928 (libgomp_init): Update for OpenACC changes.
8929 * testsuite/libgomp-test-support.exp.in: New file.
8930 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8931 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8932 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8933 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8934 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8935 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8936 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8937 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8938 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8939 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8940 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8941 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8942 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8943 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8944 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8945 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8946 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8947 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8948 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8949 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8950 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8951 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8952 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8953 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8954 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8955 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8956 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8957 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8958 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8959 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8960 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8961 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8962 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8963 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8964 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8965 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8966 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8967 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8968 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8969 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8970 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8971 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8972 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8973 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8974 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8975 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8976 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8977 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8978 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8979 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8980 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8981 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8982 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8983 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8984 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8985 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8986 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8987 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8988 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8989 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8990 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8991 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8992 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8993 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8994 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8995 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8996 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8997 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8998 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8999 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9000 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9001 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9002 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9003 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9004 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9005 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9006 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9007 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9008 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9009 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9010 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9011 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9012 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9013 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9014 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9015 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9016 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9017 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9018 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9019 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9020 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9021 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9022 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9023 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9024 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9025 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9026 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9027 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9028 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9029 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9030 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9031 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9032 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9033 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9034 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9035 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9036 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9037 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9038 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9039 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9040 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9041 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9042 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9043 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9044 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9045 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9046 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9047 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9048 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9049 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9050 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9051 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9052 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9053 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9054 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9055 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9056 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9057 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9058 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9059 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9060 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9061 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9062 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9063 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9064 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9065 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9066 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9067 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9068 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9069 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9070 Likewise.
9071 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9072 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9073 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9074 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9075 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9076 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9077 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9078 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9079 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9080 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9081 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9082 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9083 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9084 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9085 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9086 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9087 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9088 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9089 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9090 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9091 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9092 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9093 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9094 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9095 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9096 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9097 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9098 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9099 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9100 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9101 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9102 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9103 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9104 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9105 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9106 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9107 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9108 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9109 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9110 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9111 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9112 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9113 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9114 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9115 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9116 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9117 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9118 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9119 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9120 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9121 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9122 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9123 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9124 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9125 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9126 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9127 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9128 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9129 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9130 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9131
f1f3453e
TS
91322015-01-10 Thomas Schwinge <thomas@codesourcery.com>
9133 Julian Brown <julian@codesourcery.com>
9134 David Malcolm <dmalcolm@redhat.com>
9135
9136 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9137 to "GNU Offloading and Multi Processing Runtime Library". Change
9138 all users.
9139 * configure: Regenerate.
9140 * libgomp.texi: Update.
9141
f9a0eca4
TS
91422015-01-08 Thomas Schwinge <thomas@codesourcery.com>
9143
b335ef4e
TS
9144 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9145 "$tgt_dir/lib32".
9146 * configure: Regenerate.
9147
f9a0eca4
TS
9148 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9149 "intelmic" in $offload_targets.
9150
b67cd4e3
JJ
91512015-01-05 Jakub Jelinek <jakub@redhat.com>
9152
5624e564
JJ
9153 Update copyright years.
9154
b67cd4e3
JJ
9155 * libgomp.texi: Bump @copying's copyright year.
9156
3b41b583
KT
91572014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9158
9159 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 9160 Move load of target-supports.exp earlier.
3b41b583 9161
2354caec
IV
91622014-12-10 Ilya Verbin <ilya.verbin@intel.com>
9163
9164 * testsuite/libgomp.c/target-9.c: New test.
9165
f50eecba
VR
91662014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
9167
9168 * config.h.in: Regenerate.
9169 * configure: Regenerate.
9170 * configure.ac: Add GCC_CHECK_EMUTLS.
9171 * libgomp.h: Add check for USE_EMUTLS: this case
9172 is equal to HAVE_TLS.
9173 * team.c: Likewise.
9174
68bc9270
UB
91752014-12-03 Uros Bizjak <ubizjak@gmail.com>
9176
9177 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9178
476ff787
AT
91792014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
9180 Ilya Verbin <ilya.verbin@intel.com>
9181
9182 * testsuite/libgomp.c/target-critical-1.c: New test.
9183
31a30e62
JJ
91842014-11-26 Jakub Jelinek <jakub@redhat.com>
9185
9186 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 9187 to dg-options unless expensive testing is on.
31a30e62
JJ
9188 (TESTITERS): Define to N if not defined.
9189 (main): Use TESTITERS instead of N.
9190 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9191 dg-additional-options depending on whether expensive testing is on.
9192 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9193 Decrease N to 100000 and CHUNKSZ to 10000.
9194
3f9e8f13
JJ
91952014-11-24 Jakub Jelinek <jakub@redhat.com>
9196
9197 PR fortran/63938
31a30e62
JJ
9198 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9199 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 9200
c8451a46
SE
92012014-11-21 Steve Ellcey <sellcey@imgtec.com>
9202
9203 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9204
a699d672
L
92052014-11-21 H.J. Lu <hongjiu.lu@intel.com>
9206
9207 PR bootstrap/63784
9208 * configure: Regenerated.
9209
4a19f719
UB
92102014-11-19 Uros Bizjak <ubizjak@gmail.com>
9211
9212 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9213 vect_simd_clones effective target.
9214 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9215
b1bf6c52
JJ
92162014-11-14 Jakub Jelinek <jakub@redhat.com>
9217
9218 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9219 of 32 as block_size.
9220 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9221 instead of 32 as block_size.
9222
d64ae614
AT
92232014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
9224 Ilya Verbin <ilya.verbin@intel.com>
9225
9226 * Makefile.in: Regenerate.
9227 * configure: Regenerate.
9228 * configure.ac: Set up offload_additional_options,
9229 offload_additional_lib_paths and offload_targets.
9230 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9231 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9232 * testsuite/Makefile.in: Regenerate.
9233 * testsuite/lib/libgomp.exp (libgomp_init): Append
9234 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
9235 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
9236 build directory to LD_LIBRARY_PATH for intelmic offload targets.
9237
122d7303
AT
92382014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
9239 Ilya Verbin <ilya.verbin@intel.com>
9240 Kirill Yukhin <kirill.yukhin@intel.com>
9241 Ilya Tocar <ilya.tocar@intel.com>
9242
9243 * testsuite/lib/libgomp.exp
9244 (check_effective_target_offload_device): New.
9245 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9246 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9247 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9248 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9249 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9250 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9251 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9252 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9253 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9254 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9255 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9256 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9257 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9258 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9259 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9260 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9261 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9262 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9263 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9264 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9265 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9266 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9267 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9268 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9269 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9270 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9271 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9272 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9273 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9274 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9275 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9276 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9277 * testsuite/libgomp.c/target-7.c: Fix test.
9278 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9279 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9280 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9281 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9282 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9283 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9284 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9285 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9286 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9287 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9288 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9289 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9290 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9291 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9292 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9293 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9294 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9295 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9296 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9297 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9298 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9299 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9300 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9301 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9302 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9303 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9304 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9305 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9306 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9307 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9308 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9309
1df3f842
JJ
93102014-11-13 Jakub Jelinek <jakub@redhat.com>
9311 Ilya Verbin <ilya.verbin@intel.com>
9312 Thomas Schwinge <thomas@codesourcery.com>
9313 Andrey Turetskiy <andrey.turetskiy@intel.com>
9314
9315 * libgomp.map (GOMP_4.0.1): New symbol version.
9316 Add GOMP_offload_register.
9317 * libgomp_target.h: New file.
9318 * splay-tree.h: New file.
9319 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9320 (gomp_target_init): New forward declaration.
9321 (gomp_is_initialized): New static variable.
9322 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9323 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9324 New structures.
9325 (offload_images, num_offload_images, devices, num_devices): New static
9326 variables.
9327 (splay_compare): New static function.
9328 (struct gomp_device_descr): New structure.
9329 (gomp_get_num_devices): Call gomp_target_init.
9330 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9331 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9332 (GOMP_offload_register): New function.
9333 (GOMP_target): Arrange for host callback to be performed in a separate
9334 initial thread and contention group, inheriting ICVs from
9335 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
9336 Add device initialization and lookup for target function in splay tree.
9337 (GOMP_target_data): Add device initialization and call gomp_map_vars.
9338 (GOMP_target_end_data): Call gomp_unmap_vars.
9339 (GOMP_target_update): Add device initialization and call gomp_update.
9340 (gomp_load_plugin_for_device, gomp_register_images_for_device)
9341 (gomp_target_init): New static functions.
9342
85c64bbe
BS
93432014-11-13 Bernd Schmidt <bernds@codesourcery.com>
9344 Thomas Schwinge <thomas@codesourcery.com>
9345 Ilya Verbin <ilya.verbin@intel.com>
9346 Andrey Turetskiy <andrey.turetskiy@intel.com>
9347
9348 * config.h.in: Regenerate.
9349 * configure: Regenerate.
9350 * configure.ac: Check for libdl, required for plugin support.
9351 (PLUGIN_SUPPORT): Define if plugins are supported.
9352 (enable_offload_targets): Support Intel MIC targets.
9353 (OFFLOAD_TARGETS): List of target names suitable for offloading.
9354
ebf6d33b
FXC
93552014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9356
9357 PR target/63610
9358 * configure: Regenerate.
9359
8c768629
RO
93602014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9361
9362 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9363
c1d62412
MP
93642014-10-06 Marek Polacek <polacek@redhat.com>
9365
9366 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9367 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9368 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9369 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9370
44a0c6cb
MP
93712014-10-06 Marek Polacek <polacek@redhat.com>
9372
9373 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9374 * testsuite/libgomp.c/nqueens-1.c: Likewise.
9375 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9376 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9377 * testsuite/libgomp.c/pr36802-2.c: Likewise.
9378 * testsuite/libgomp.c/pr36802-3.c: Likewise.
9379 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9380 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9381 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9382 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9383 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9384 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9385 * testsuite/libgomp.c/omp-single-1.c: Likewise.
9386 * testsuite/libgomp.c/omp-single-2.c: Likewise.
9387 * testsuite/libgomp.c/omp_matvec.c: Likewise.
9388 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9389 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9390 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
9391 declarations.
9392
5771c391
JJ
93932014-10-03 Jakub Jelinek <jakub@redhat.com>
9394
9395 PR libgomp/61200
9396 * testsuite/libgomp.c/pr61200.c: New test.
9397
bce16b88
JJ
93982014-09-18 Jakub Jelinek <jakub@redhat.com>
9399
9400 PR c++/63248
9401 * testsuite/libgomp.c++/pr63248.C: New test.
9402
3696163c
JJ
94032014-08-04 Jakub Jelinek <jakub@redhat.com>
9404
9405 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9406 is not zero, but taskgroup->children is NULL and there are
9407 any task->children, schedule those instead of waiting.
9408 * testsuite/libgomp.c/depend-6.c: New test.
9409 * testsuite/libgomp.c/depend-7.c: New test.
9410 * testsuite/libgomp.c/depend-8.c: New test.
9411 * testsuite/libgomp.c/depend-9.c: New test.
9412 * testsuite/libgomp.c/depend-10.c: New test.
9413
0494285a
JJ
94142014-08-01 Jakub Jelinek <jakub@redhat.com>
9415
9416 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9417 (struct gomp_taskwait): New type.
9418 (struct gomp_task): Add taskwait and parent_depends_on, remove
9419 in_taskwait and taskwait_sem fields.
9420 (gomp_finish_task): Don't destroy taskwait_sem.
9421 * task.c (gomp_init_task): Don't init in_taskwait, instead init
9422 taskwait and parent_depends_on.
9423 (GOMP_task): For if (0) tasks with depend clause that depend on
9424 earlier tasks don't defer them, instead call
9425 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9426 Initialize redundant_out field, for redundant out entries just
9427 move them at the end of linked list instead of removing them
9428 completely, and set redundant_out flag instead of redundant.
9429 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9430 that task.
9431 (gomp_task_run_post_handle_dependers): If parent is in
9432 gomp_task_maybe_wait_for_dependencies and newly runnable task
9433 is not parent_depends_on, queue it in parent->children linked
9434 list after all runnable tasks with parent_depends_on set.
9435 Adjust for addition of taskwait indirection.
9436 (gomp_task_run_post_remove_parent): If parent is in
9437 gomp_task_maybe_wait_for_dependencies and task to be removed
9438 is parent_depends_on, decrement n_depend and if needed awake
9439 parent. Adjust for addition of taskwait indirection.
9440 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9441 (gomp_task_maybe_wait_for_dependencies): New function.
9442 * testsuite/libgomp.c/depend-5.c: New test.
9443
60ab4b44
TB
94442014-07-13 Tobias Burnus <burnus@net-b.de>
9445
9446 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 9447 with TS 18508/Fortran 2015.
60ab4b44 9448
773ec47f
MP
94492014-07-06 Marek Polacek <polacek@redhat.com>
9450
9451 PR c/6940
9452 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9453
f707da16
JJ
94542014-07-03 Jakub Jelinek <jakub@redhat.com>
9455
9456 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9457 matches regex $lang_source_re, add $lang_include_flags to options.
9458 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9459 * testsuite/libgomp.c++/c++.exp: Likewise.
9460 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9461 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9462 ALWAYS_CFLAGS.
9463 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9464
07b6c044
TS
94652014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9466
9467 * testsuite/libgomp.fortran/fortran.exp: Explain
9468 gfortran-dg-runtest usage.
9469
da6f124d
JJ
94702014-06-25 Jakub Jelinek <jakub@redhat.com>
9471
9472 * testsuite/libgomp.fortran/simd5.f90: New test.
9473 * testsuite/libgomp.fortran/simd6.f90: New test.
9474 * testsuite/libgomp.fortran/simd7.f90: New test.
9475
b46ebd6c
JJ
94762014-06-24 Jakub Jelinek <jakub@redhat.com>
9477
56ad0e38
JJ
9478 * testsuite/libgomp.c/for-2.c: Define SC to static for
9479 #pragma omp for simd testing.
9480 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9481 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9482 SC macro.
9483 * testsuite/libgomp.c/simd-14.c: New test.
9484 * testsuite/libgomp.c/simd-15.c: New test.
9485 * testsuite/libgomp.c/simd-16.c: New test.
9486 * testsuite/libgomp.c/simd-17.c: New test.
9487 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9488 #pragma omp for simd testing.
9489 * testsuite/libgomp.c++/simd10.C: New test.
9490 * testsuite/libgomp.c++/simd11.C: New test.
9491 * testsuite/libgomp.c++/simd12.C: New test.
9492 * testsuite/libgomp.c++/simd13.C: New test.
9493
b46ebd6c
JJ
9494 * testsuite/libgomp.fortran/aligned1.f03: New test.
9495 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9496 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9497 tasks with !$omp parallel !$omp single.
9498 * testsuite/libgomp.fortran/target8.f90: New test.
9499 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9500 not to use trim in the combiner, instead call elemental function.
9501 (fn): New elemental function.
9502 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9503 Make elemental.
9504 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9505 omp_in): Likewise.
9506 * testsuite/libgomp.fortran/udr12.f90: New test.
9507 * testsuite/libgomp.fortran/udr13.f90: New test.
9508 * testsuite/libgomp.fortran/udr14.f90: New test.
9509 * testsuite/libgomp.fortran/udr15.f90: New test.
9510
f014c653
JJ
95112014-06-18 Jakub Jelinek <jakub@redhat.com>
9512
9513 * omp_lib.f90.in (openmp_version): Set to 201307.
9514 * omp_lib.h.in (openmp_version): Likewise.
9515 * testsuite/libgomp.c/target-8.c: New test.
9516 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9517 and inbranch clauses.
9518 * testsuite/libgomp.fortran/depend-3.f90: New test.
9519 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9520 openmp_version.
9521 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9522 * testsuite/libgomp.fortran/target1.f90: New test.
9523 * testsuite/libgomp.fortran/target2.f90: New test.
9524 * testsuite/libgomp.fortran/target3.f90: New test.
9525 * testsuite/libgomp.fortran/target4.f90: New test.
9526 * testsuite/libgomp.fortran/target5.f90: New test.
9527 * testsuite/libgomp.fortran/target6.f90: New test.
9528 * testsuite/libgomp.fortran/target7.f90: New test.
9529
92d28cbb
JJ
95302014-06-10 Jakub Jelinek <jakub@redhat.com>
9531
9532 PR fortran/60928
9533 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9534 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9535 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9536 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9537 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9538 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9539 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9540 * testsuite/libgomp.fortran/associate1.f90: New test.
9541 * testsuite/libgomp.fortran/associate2.f90: New test.
9542 * testsuite/libgomp.fortran/procptr1.f90: New test.
9543
5f23671d
JJ
95442014-06-06 Jakub Jelinek <jakub@redhat.com>
9545
9546 * testsuite/libgomp.fortran/simd1.f90: New test.
9547 * testsuite/libgomp.fortran/udr1.f90: New test.
9548 * testsuite/libgomp.fortran/udr2.f90: New test.
9549 * testsuite/libgomp.fortran/udr3.f90: New test.
9550 * testsuite/libgomp.fortran/udr4.f90: New test.
9551 * testsuite/libgomp.fortran/udr5.f90: New test.
9552 * testsuite/libgomp.fortran/udr6.f90: New test.
9553 * testsuite/libgomp.fortran/udr7.f90: New test.
9554 * testsuite/libgomp.fortran/udr8.f90: New test.
9555 * testsuite/libgomp.fortran/udr9.f90: New test.
9556 * testsuite/libgomp.fortran/udr10.f90: New test.
9557 * testsuite/libgomp.fortran/udr11.f90: New test.
9558
0389fbb5
UB
95592014-05-27 Uros Bizjak <ubizjak@gmail.com>
9560
9561 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9562 vect_simd_clones effective target.
9563 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9564
decaaec8
JJ
95652014-05-21 Jakub Jelinek <jakub@redhat.com>
9566
9567 PR middle-end/61252
9568 * testsuite/libgomp.c++/simd-9.C: New test.
9569
72832460
UB
95702014-05-18 Uros Bizjak <ubizjak@gmail.com>
9571
9572 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9573 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9574 texts according to their @menu entry positions.
9575
dd2fc525
JJ
95762014-05-11 Jakub Jelinek <jakub@redhat.com>
9577
9578 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9579 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9580 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9581 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9582 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9583 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9584 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9585 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9586 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9587 * testsuite/libgomp.fortran/depend-1.f90: New test.
9588 * testsuite/libgomp.fortran/depend-2.f90: New test.
9589 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9590 * testsuite/libgomp.fortran/simd1.f90: New test.
9591 * testsuite/libgomp.fortran/simd2.f90: New test.
9592 * testsuite/libgomp.fortran/simd3.f90: New test.
9593 * testsuite/libgomp.fortran/simd4.f90: New test.
9594 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9595
95782571
JJ
95962014-05-02 Jakub Jelinek <jakub@redhat.com>
9597
9598 * testsuite/libgomp.c/simd-10.c: New test.
9599 * testsuite/libgomp.c/simd-11.c: New test.
9600 * testsuite/libgomp.c/simd-12.c: New test.
9601 * testsuite/libgomp.c/simd-13.c: New test.
9602
f7468577
JJ
96032014-04-24 Jakub Jelinek <jakub@redhat.com>
9604
42056eac
JJ
9605 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9606 atomic type clauses in any order and optional comma in between.
9607 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9608 * testsuite/libgomp.c/atomic-17.c: Likewise.
9609
f7468577
JJ
9610 * testsuite/libgomp.c/simd-7.c: New test.
9611 * testsuite/libgomp.c/simd-8.c: New test.
9612 * testsuite/libgomp.c/simd-9.c: New test.
9613 * testsuite/libgomp.c/loop-16.c: New test.
9614
ab18f2f5
RH
96152014-04-02 Richard Henderson <rth@redhat.com>
9616
9617 * config/linux/futex.h (futex_wait): Get error value from errno.
9618 (futex_wake): Likewise.
9619
8bcc90b0
JJ
96202014-03-25 Jakub Jelinek <jakub@redhat.com>
9621
9622 PR c++/60331
9623 * testsuite/libgomp.c++/udr-11.C: New test.
9624 * testsuite/libgomp.c++/udr-12.C: New test.
9625 * testsuite/libgomp.c++/udr-13.C: New test.
9626 * testsuite/libgomp.c++/udr-14.C: New test.
9627 * testsuite/libgomp.c++/udr-15.C: New test.
9628 * testsuite/libgomp.c++/udr-16.C: New test.
9629 * testsuite/libgomp.c++/udr-17.C: New test.
9630 * testsuite/libgomp.c++/udr-18.C: New test.
9631 * testsuite/libgomp.c++/udr-19.C: New test.
9632
18d73c7f
RS
96332014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9634
9635 Update copyright years
9636
f9030485
RS
96372014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9638
9639 * hashtab.h: Use the standard form for the copyright notice.
9640
98db73df
TB
96412014-01-02 Tobias Burnus <burnus@net-b.de>
9642
9643 * libgomp.texi: Bump @copying's copyright year.
9644
ae246f7f
AT
96452013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9646
93d90219 9647 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
9648 alloca () with __builtin_alloca ().
9649 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9650 * testsuite/libgomp.c/lock-3.c: Likewise.
9651 * testsuite/libgomp.c/pr48591.c: Likewise.
9652
fa00a5fe
JJ
96532013-12-17 Jakub Jelinek <jakub@redhat.com>
9654
9655 PR testsuite/59534
9656 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9657 comparisons.
9658
e9792e1d
JJ
96592013-12-16 Jakub Jelinek <jakub@redhat.com>
9660
9661 PR libgomp/58756
9662 * testsuite/libgomp.c/pr58756.c: New test.
9663
cab37c89
JJ
96642013-12-12 Jakub Jelinek <jakub@redhat.com>
9665
9666 PR libgomp/59467
9667 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9668 !$omp parallel.
9669
de14871c
TS
96702013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9671
1707a5de
TS
9672 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9673 ALWAYS_CFLAGS.
9674 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9675 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9676 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9677 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9678 Likewise.
9679
70f05c43
TS
9680 * libgomp_g.h: Include <stddef.h> for size_t.
9681
de14871c
TS
9682 * libgomp.spec.in: Update comment about libgomp's dependencies.
9683 * configure.ac: Likewise.
9684 * configure: Regenerate.
9685
83fd6c5b
TB
96862013-10-16 Tobias Burnus <burnus@net-b.de>
9687
9688 * libgomp.texi: (Runtime Library Routines): Update references for
9689 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9690 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9691 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9692 (Environment Variables): Update references for OpenMP 4.0. Add
9693 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9694 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9695 order.
9696
c8673881
JJ
96972013-10-14 Jakub Jelinek <jakub@redhat.com>
9698
9699 * env.c (parse_bind_var): Initialize value to avoid
9700 (false positive) warning.
9701
f89163fd
JJ
97022013-10-12 Jakub Jelinek <jakub@redhat.com>
9703
9704 PR libgomp/58691
9705 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9706 to check variable.
9707 (gomp_init_num_threads): Move i variable declaration into
9708 #ifdef CPU_ALLOC_SIZE block.
9709 * config/linux/affinity.c (gomp_affinity_init_level): Test
9710 gomp_places_list_len == 0 rather than gomp_places_list == 0
9711 when checking for topology reading error.
9712 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9713 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9714 gomp_places_list, only parse env var and always return false.
9715 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9716 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9717 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9718 and either of these variables were parsed correctly into a places
9719 list.
9720
1d340638
TS
97212013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9722 Jakub Jelinek <jakub@redhat.com>
9723
9724 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9725 of 5 loopfn matches.
9726 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9727 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9728 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9729 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9730 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9731 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9732 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9733 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9734
71a81c21
TS
97352013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9736
bd87f731
TS
9737 * Makefile.am (omp_lib.mod): Streamline rule.
9738 * Makefile.in: Regenerate.
9739
f5745bed
TS
9740 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9741 exceptions.
9742
b5512c66
TS
9743 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9744 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9745 * testsuite/libgomp.fortran/lib2.f: Likewise.
9746 * testsuite/libgomp.fortran/lib3.f: Likewise.
9747
451c19c4
TS
9748 * configure.ac: Typo fix.
9749 * configure: Regenerate.
9750
86a6016d
TS
9751 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9752 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9753
71a81c21
TS
9754 * omp.h.in: Don't touch the user's namespace.
9755
acf0174b
JJ
97562013-10-11 Jakub Jelinek <jakub@redhat.com>
9757 Tobias Burnus <burnus@net-b.de>
9758 Richard Henderson <rth@redhat.com>
9759
9760 * target.c: New file.
9761 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9762 * Makefile.in: Regenerated.
9763 * libgomp_g.h (GOMP_task): Add depend argument.
9764 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9765 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9766 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9767 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9768 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9769 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9770 GOMP_taskgroup_start, GOMP_taskgroup_end,
9771 GOMP_parallel_sections): New prototypes.
9772 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9773 (omp_is_initial_device_): New function.
9774 (ULP, STR1, STR2, ialias_redirect): Removed.
9775 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9776 omp_set_default_device_8_, omp_get_default_device_,
9777 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9778 functions.
9779 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9780 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9781 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9782 @@GOMP_4.0.
9783 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9784 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9785 omp_set_default_device, omp_set_default_device_,
9786 omp_set_default_device_8_, omp_get_default_device,
9787 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9788 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9789 omp_get_team_num_): Export @@OMP_4.0.
9790 * team.c (struct gomp_thread_start_data): Add place field.
9791 (gomp_thread_start): Clear thr->thread_pool and
9792 thr->task before returning. Use gomp_team_barrier_wait_final
9793 instead of gomp_team_barrier_wait. Initialize thr->place.
9794 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9795 team_cancelled and task_queued_count fields.
9796 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9797 before calling pthread_exit.
9798 (gomp_free_thread): No longer static. Use
9799 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9800 (gomp_team_start): Add flags argument. Set
9801 thr->thread_pool->threads_busy to nthreads immediately after creating
9802 new pool. Use gomp_managed_threads_lock instead of
9803 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9804 (gomp_team_end): Use gomp_managed_threads_lock instead of
9805 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9806 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 9807 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
9808 rather than thr->ts.work_share.
9809 (initialize_team): Don't call gomp_sem_init here.
9810 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9811 caller.
9812 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9813 * env.c (gomp_global_icv): Add default_device_var, target_data and
9814 bind_var initializers.
9815 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9816 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9817 gomp_places_list_len): New variables.
9818 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9819 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9820 sized places.
9821 (gomp_cancel_var): New global variable.
9822 (parse_int): New function.
9823 (handle_omp_display_env): New function.
9824 (initialize_env): Use it. Initialize default_device_var.
9825 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9826 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9827 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9828 been successfully parsed (and call gomp_init_affinity in that case).
9829 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9830 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9831 omp_get_team_num, omp_is_initial_device): New functions.
9832 * libgomp.h: Include stdlib.h.
9833 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9834 Define.
9835 (struct target_mem_desc): Forward declare.
9836 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9837 and thread_limit_var fields.
9838 (gomp_get_num_devices): New prototype.
9839 (gomp_cancel_var): New extern decl.
9840 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9841 team_cancelled and task_queued_count fields. Add comments about
9842 task_{,queued_,running_}count.
9843 (gomp_cancel_kind): New enum.
9844 (gomp_work_share_end_cancel): New prototype.
9845 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9846 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9847 and depend fields.
9848 (struct gomp_taskgroup): New type.
9849 (struct gomp_task_depend_entry,
9850 struct gomp_dependers_vec): New types.
9851 (gomp_finish_task): Free depend_hash if non-NULL.
9852 (struct gomp_team_state): Add place_partition_off
9853 and place_partition_len fields.
9854 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9855 gomp_places_list_len): New extern decls.
9856 (struct gomp_thread): Add place field.
9857 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9858 (gomp_init_thread_affinity): Add place argument.
9859 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9860 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9861 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9862 gomp_affinity_init_level, gomp_affinity_print_place): New
9863 prototypes.
9864 (gomp_team_start): Add flags argument.
9865 (gomp_thread_limit_var, gomp_remaining_threads_count,
9866 gomp_remaining_threads_lock): Remove.
9867 (gomp_managed_threads_lock): New variable.
9868 (struct gomp_thread_pool): Add threads_busy field.
9869 (gomp_free_thread): New prototype.
9870 * task.c: Include hashtab.h.
9871 (hash_entry_type): New typedef.
9872 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9873 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9874 copy_ctors_done and taskgroup fields.
9875 (GOMP_task): Add depend argument, handle depend clauses. If
9876 gomp_team_barrier_cancelled or if it's taskgroup has been
9877 cancelled, don't queue or start new tasks. Set copy_ctors_done
9878 field if needed. Initialize taskgroup field. If copy_ctors_done
9879 and already cancelled, don't discard the task. If taskgroup is
9880 non-NULL, enqueue the task into taskgroup queue. Increment
9881 num_children field in taskgroup. Increment task_queued_count.
9882 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9883 gomp_task_run_post_remove_taskgroup): New inline functions.
9884 (gomp_task_run_post_handle_depend_hash,
9885 gomp_task_run_post_handle_dependers,
9886 gomp_task_run_post_handle_depend): New functions.
9887 (GOMP_taskwait): Use them. If more than one new tasks
9888 have been queued, wake other threads if needed.
9889 (gomp_barrier_handle_tasks): Likewise. If
9890 gomp_team_barrier_cancelled, don't start any new tasks, just free
9891 all tasks.
9892 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9893 * omp_lib.f90.in
9894 (omp_proc_bind_kind, omp_proc_bind_false,
9895 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9896 omp_proc_bind_spread): New params.
9897 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9898 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9899 omp_get_team_num, omp_is_initial_device): New interfaces.
9900 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9901 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9902 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9903 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9904 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9905 useless use omp_lib_kinds.
9906 * omp.h.in (omp_proc_bind_t): New typedef.
9907 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9908 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9909 omp_get_team_num, omp_is_initial_device): New prototypes.
9910 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9911 through to gomp_team_start.
9912 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9913 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9914 Adjust gomp_parallel_loop_start callers.
9915 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9916 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9917 GOMP_loop_end_cancel): New functions.
9918 (GOMP_parallel_end): Add ialias_redirect.
9919 * hashtab.h: New file.
9920 * libgomp.texi (Environment Variables): Minor cleanup,
9921 update section refs to OpenMP 4.0rc2.
9922 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9923 environment variables.
9924 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9925 team->work_shares_to_free to thr->ts.work_share before calling
9926 free_work_share.
9927 (gomp_work_share_end_cancel): New function.
9928 * config/linux/proc.c: Include errno.h.
9929 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9930 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9931 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9932 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9933 gomp_cpuset_size is sizeof (cpu_set_t).
9934 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9935 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9936 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9937 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9938 contain any logical CPUs.
9939 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9940 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9941 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9942 pthread_getaffinity_np. Check gomp_places_list instead of
9943 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9944 * config/linux/bar.c (gomp_barrier_wait_end,
9945 gomp_barrier_wait_last): Use BAR_* defines.
9946 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9947 from state where needed. Set work_share_cancelled to 0 on last
9948 thread.
9949 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9950 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9951 functions.
9952 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9953 Add cpusetsize argument.
9954 (gomp_cpuset_size, gomp_cpusetp): Declare.
9955 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9956 (affinity_counter): Remove.
9957 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9958 if CPU_ALLOC_SIZE isn't defined.
9959 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9960 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9961 bind current thread to the first place.
9962 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9963 pthread_setaffinity_np to gomp_places_list[place].
9964 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9965 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9966 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9967 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9968 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9969 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9970 (gomp_barrier_t): Add awaited_final field.
9971 (gomp_barrier_init): Initialize awaited_final field.
9972 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9973 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9974 prototypes.
9975 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9976 defines.
9977 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9978 gomp_team_barrier_cancelled): New inline functions.
9979 (gomp_barrier_last_thread,
9980 gomp_team_barrier_set_task_pending,
9981 gomp_team_barrier_clear_task_pending,
9982 gomp_team_barrier_set_waiting_for_tasks,
9983 gomp_team_barrier_waiting_for_tasks,
9984 gomp_team_barrier_done): Use BAR_* defines.
9985 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9986 (gomp_barrier_wait_end): Use BAR_* defines.
9987 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9988 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9989 Use BAR_* defines.
9990 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9991 gomp_team_barrier_cancel): New functions.
9992 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9993 argument.
9994 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9995 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9996 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9997 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9998 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9999 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10000 (gomp_barrier_t): Add cancellable field.
10001 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10002 gomp_team_barrier_cancel): New prototypes.
10003 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10004 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10005 gomp_team_barrier_cancelled): New inline functions.
10006 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10007 gomp_team_barrier_set_task_pending,
10008 gomp_team_barrier_clear_task_pending,
10009 gomp_team_barrier_set_waiting_for_tasks,
10010 gomp_team_barrier_waiting_for_tasks,
10011 gomp_team_barrier_done): Use BAR_* defines.
10012 * barrier.c (GOMP_barrier_cancel): New function.
10013 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10014 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10015 omp_proc_bind_spread): New params.
10016 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10017 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10018 omp_get_team_num, omp_is_initial_device): New externals.
10019 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10020 New functions.
10021 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10022 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10023 infinity. If not nested, just return minimum of max_num_threads
10024 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10025 to the returned value. Otherwise, don't update atomically
10026 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10027 (GOMP_parallel_end): Adjust for thread_limit now being in
10028 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10029 infinity. Adjust threads_busy in the pool rather than
10030 gomp_remaining_threads_count. Remember team->nthreads and call
10031 gomp_team_end before adjusting threads_busy, if not nested
10032 afterwards, just set it to 1 non-atomically. Add ialias.
10033 (GOMP_parallel_start): Adjust gomp_team_start caller.
10034 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10035 * testsuite/libgomp.c/affinity-1.c: New test.
10036 * testsuite/libgomp.c/atomic-15.c: New test.
10037 * testsuite/libgomp.c/atomic-16.c: New test.
10038 * testsuite/libgomp.c/atomic-17.c: New test.
10039 * testsuite/libgomp.c/cancel-for-1.c: New test.
10040 * testsuite/libgomp.c/cancel-for-2.c: New test.
10041 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10042 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10043 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10044 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10045 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10046 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10047 * testsuite/libgomp.c/depend-1.c: New test.
10048 * testsuite/libgomp.c/depend-2.c: New test.
10049 * testsuite/libgomp.c/depend-3.c: New test.
10050 * testsuite/libgomp.c/depend-4.c: New test.
10051 * testsuite/libgomp.c/for-1.c: New test.
10052 * testsuite/libgomp.c/for-1.h: New file.
10053 * testsuite/libgomp.c/for-2.c: New test.
10054 * testsuite/libgomp.c/for-2.h: New file.
10055 * testsuite/libgomp.c/for-3.c: New test.
10056 * testsuite/libgomp.c/pr58392.c: New test.
10057 * testsuite/libgomp.c/simd-1.c: New test.
10058 * testsuite/libgomp.c/simd-2.c: New test.
10059 * testsuite/libgomp.c/simd-3.c: New test.
10060 * testsuite/libgomp.c/simd-4.c: New test.
10061 * testsuite/libgomp.c/simd-5.c: New test.
10062 * testsuite/libgomp.c/simd-6.c: New test.
10063 * testsuite/libgomp.c/target-1.c: New test.
10064 * testsuite/libgomp.c/target-2.c: New test.
10065 * testsuite/libgomp.c/target-3.c: New test.
10066 * testsuite/libgomp.c/target-4.c: New test.
10067 * testsuite/libgomp.c/target-5.c: New test.
10068 * testsuite/libgomp.c/target-6.c: New test.
10069 * testsuite/libgomp.c/target-7.c: New test.
10070 * testsuite/libgomp.c/taskgroup-1.c: New test.
10071 * testsuite/libgomp.c/thread-limit-1.c: New test.
10072 * testsuite/libgomp.c/thread-limit-2.c: New test.
10073 * testsuite/libgomp.c/thread-limit-3.c: New test.
10074 * testsuite/libgomp.c/udr-1.c: New test.
10075 * testsuite/libgomp.c/udr-2.c: New test.
10076 * testsuite/libgomp.c/udr-3.c: New test.
10077 * testsuite/libgomp.c++/affinity-1.C: New test.
10078 * testsuite/libgomp.c++/atomic-10.C: New test.
10079 * testsuite/libgomp.c++/atomic-11.C: New test.
10080 * testsuite/libgomp.c++/atomic-12.C: New test.
10081 * testsuite/libgomp.c++/atomic-13.C: New test.
10082 * testsuite/libgomp.c++/atomic-14.C: New test.
10083 * testsuite/libgomp.c++/atomic-15.C: New test.
10084 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10085 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10086 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10087 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10088 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10089 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10090 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10091 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10092 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10093 * testsuite/libgomp.c++/cancel-test.h: New file.
10094 * testsuite/libgomp.c++/for-9.C: New test.
10095 * testsuite/libgomp.c++/for-10.C: New test.
10096 * testsuite/libgomp.c++/for-11.C: New test.
10097 * testsuite/libgomp.c++/simd-1.C: New test.
10098 * testsuite/libgomp.c++/simd-2.C: New test.
10099 * testsuite/libgomp.c++/simd-3.C: New test.
10100 * testsuite/libgomp.c++/simd-4.C: New test.
10101 * testsuite/libgomp.c++/simd-5.C: New test.
10102 * testsuite/libgomp.c++/simd-6.C: New test.
10103 * testsuite/libgomp.c++/simd-7.C: New test.
10104 * testsuite/libgomp.c++/simd-8.C: New test.
10105 * testsuite/libgomp.c++/target-1.C: New test.
10106 * testsuite/libgomp.c++/target-2.C: New test.
10107 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10108 * testsuite/libgomp.c++/target-3.C: New test.
10109 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10110 * testsuite/libgomp.c++/udr-1.C: New test.
10111 * testsuite/libgomp.c++/udr-2.C: New test.
10112 * testsuite/libgomp.c++/udr-3.C: New test.
10113 * testsuite/libgomp.c++/udr-4.C: New test.
10114 * testsuite/libgomp.c++/udr-5.C: New test.
10115 * testsuite/libgomp.c++/udr-6.C: New test.
10116 * testsuite/libgomp.c++/udr-7.C: New test.
10117 * testsuite/libgomp.c++/udr-8.C: New test.
10118 * testsuite/libgomp.c++/udr-9.C: New test.
10119
bd599dea
JJ
101202013-09-20 Jakub Jelinek <jakub@redhat.com>
10121
10122 PR testsuite/57605
10123 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10124 ALWAYS_CFLAGS.
10125
3cbe17f7
AM
101262013-09-20 Alan Modra <amodra@gmail.com>
10127
10128 * configure: Regenerate.
10129
4befd127
JJ
101302013-09-19 Jakub Jelinek <jakub@redhat.com>
10131
10132 * testsuite/libgomp.c/sections-2.c: New test.
10133
946c8f7b
MS
101342013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
10135
10136 * testsuite/libgomp.fortran/strassen.f90:
10137 Add dg-skip-if aarch64_tiny.
10138
1ef3b58e
IS
101392013-06-20 Iain Sandoe <iain@codesourcery.com>
10140 Cesar Philippidis <cesar@codesourcery.com>
10141
10142 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10143 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10144 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10145 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10146 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10147 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10148 Use dg-runtest rather than gfortran-dg-runtest.
10149
9275f73a
TS
101502013-06-10 Thomas Schwinge <thomas@codesourcery.com>
10151
10152 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10153 Linux-based x86 systems to cover all GNU systems.
10154 * testsuite/libgomp.c/lock-3.c: Likewise.
10155 * testsuite/libgomp.c/pr48591.c: Likewise.
10156
492992e2
TS
101572013-06-06 Thomas Schwinge <thomas@codesourcery.com>
10158
48df3acb
TS
10159 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10160 GNU/Hurd, as done for Linux-based systems.
10161
492992e2
TS
10162 * config/posix/ptrlock.h: Fix comment.
10163
4fed6b25
TB
101642013-05-27 Tobias Burnus <burnus@net-b.de>
10165
10166 PR fortran/57423
10167 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10168 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10169 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10170 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10171 omp_destroy_nest_lock): Correct arguments to match the one in
10172 the OpenMP spec.
10173 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10174 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10175 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10176 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10177
5a0f4dd3
JJ
101782013-05-16 Jakub Jelinek <jakub@redhat.com>
10179
10180 * testsuite/libgomp.c/loop-13.c: New test.
10181 * testsuite/libgomp.c/loop-14.c: New test.
10182 * testsuite/libgomp.c/loop-15.c: New test.
10183 * testsuite/libgomp.c++/loop-13.C: New test.
10184 * testsuite/libgomp.c++/loop-14.C: New test.
10185 * testsuite/libgomp.c++/loop-15.C: New test.
10186
6d840d99
JJ
101872013-02-06 Jakub Jelinek <jakub@redhat.com>
10188
10189 PR middle-end/56217
10190 * testsuite/libgomp.c++/pr56217.C: New test.
10191
bed8d8a6
AM
101922013-02-01 Alan Modra <amodra@gmail.com>
10193
10194 * task.c (GOMP_task, GOMP_taskwait): Comment.
10195
3b35cd04
DV
101962013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
10197 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
10198
10199 PR libgomp/55561
10200 * config/linux/wait.h (do_spin): Use atomic load for addr.
10201 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10202 for intptr and ptrlock.
10203 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10204 for ptrlock.
10205
9a647288
AM
102062013-01-22 Alan Modra <amodra@gmail.com>
10207
10208 PR libgomp/51376
10209 PR libgomp/56073
10210 * task.c (GOMP_task): Revert 2011-12-09 change.
10211 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
10212 barrier to read task->children..
10213 (gomp_barrier_handle_tasks): ..and matching atomic store with
10214 release barrier here when setting parent->children to NULL.
10215
f34dea03
JJ
102162013-01-16 Jakub Jelinek <jakub@redhat.com>
10217 Tobias Burnus <burnus@net-b.de>
10218
10219 PR driver/55884
10220 * testsuite/libgomp.fortran/fortran.exp: Use
10221 -fintrinsic-modules-path= instead of
10222 -fintrinsic-modules-path.
10223
8129609c
RS
102242013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
10225
10226 Update copyright years.
10227
aa86bf1e
TB
102282012-12-19 Tobias Burnus <burnus@net-b.de>
10229
10230 * testsuite/libgomp.fortran/fortran.exp: Set
10231 -fintrinsic-modules-path.
10232
2865ea66
TB
102332012-12-19 Tobias Burnus <burnus@net-b.de>
10234
10235 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10236 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10237
4c5ba8d0
JJ
102382012-11-21 Jakub Jelinek <jakub@redhat.com>
10239
10240 PR libgomp/55411
10241 * team.c (gomp_free_thread): Decrease gomp_managed_threads
10242 if pool had any threads_used.
10243
e9f958c2
JH
102442012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
10245
10246 * testsuite/libgomp.c++/pr24455.C: Use
10247 -Wl,-undefined,dynamic_lookup on darwin.
10248
a57d75dc
DE
102492012-11-07 David Edelsohn <dje.gcc@gmail.com>
10250
10251 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10252
c6c08485
DH
102532012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
10254
10255 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10256
c1f37c00
IB
102572012-10-23 Ian Bolton <ian.bolton@arm.com>
10258 Jim MacArthur <jim.macarthur@arm.com>
10259 Marcus Shawcroft <marcus.shawcroft@arm.com>
10260 Nigel Stephens <nigel.stephens@arm.com>
10261 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10262 Richard Earnshaw <rearnsha@arm.com>
10263 Sofiane Naci <sofiane.naci@arm.com>
10264 Stephen Thomas <stephen.thomas@arm.com>
10265 Tejas Belagod <tejas.belagod@arm.com>
10266 Yufeng Zhang <yufeng.zhang@arm.com>
10267
10268 * configure.tgt: Add AArch64.
10269
7c424acd
JM
102702012-10-04 Jason Merrill <jason@redhat.com>
10271
10272 * testsuite/libgomp.c++/tls-init1.C: New.
10273
6608378b
DE
102742012-09-14 David Edelsohn <dje.gcc@gmail.com>
10275
10276 * configure: Regenerated.
10277
c24dbebb
CLT
102782012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
10279
10280 * config/linux/mips/futex.h (sys_futex0): Change to static
10281 function with noinline, nomips16 attributes under MIPS16. Adjust
10282 asm statement to place 'li v0,SYS_futex' immediately before
10283 syscall insn.
10284
3d3949df
SL
102852012-07-04 Sandra Loosemore <sandra@codesourcery.com>
10286
10287 * libgomp.texi (Library Index): Renamed from "Index" to prevent
10288 conflict with index.html on case-insensitive file systems.
10289
68a12ef3
UB
102902012-07-03 Uros Bizjak <ubizjak@gmail.com>
10291
10292 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10293 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10294
33ad93b9 102952012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
10296 Michael Matz <matz@suse.de>
10297 Tobias Grosser <tobias@grosser.es>
10298 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
10299
10300 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10301 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10302 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10303 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10304
e6fdc918
AS
103052012-06-28 Andreas Schwab <schwab@linux-m68k.org>
10306
10307 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10308
62e0a1ed
RG
103092012-06-22 Richard Guenther <rguenther@suse.de>
10310
10311 Merge from graphite branch
10312 2012-01-13 Tobias Grosser <tobias@grosser.es>
10313
10314 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10315 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10316
26127932
JJ
103172012-06-07 Jakub Jelinek <jakub@redhat.com>
10318
10319 PR middle-end/53580
10320 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10321 use GOMP_barrier () call instead.
10322 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10323 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10324 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10325 call GOMP_barrier instead.
10326 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10327
43fa5db5
JJ
103282012-06-06 Jakub Jelinek <jakub@redhat.com>
10329
10330 PR libgomp/52993
10331 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10332 argument to memset call.
10333
e6d5f8c9
L
103342012-05-16 H.J. Lu <hongjiu.lu@intel.com>
10335
10336 * configure: Regenerated.
10337
559d990c
MLI
103382012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10339
10340 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10341
b9c23a61
L
103422012-03-31 H.J. Lu <hongjiu.lu@intel.com>
10343
10344 PR bootstrap/52812
10345 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10346
c140ddf3
JJ
103472012-03-22 Jakub Jelinek <jakub@redhat.com>
10348
10349 PR middle-end/52547
10350 * testsuite/libgomp.c/pr52547.c: New test.
10351
6a26a74d
BRF
103522012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10353
10354 * testsuite/lib/libgomp.exp: load fortran-modules.exp
10355
b24513a1
RO
103562012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10357
10358 * configure.tgt (mips-sgi-irix6*): Remove.
10359
5c30094f
RO
103602012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10361
10362 * configure.tgt (alpha*-dec-osf*): Remove.
10363
10364 * config/osf/sem.h: Remove.
10365 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10366
a339c9d6
EB
103672012-02-29 Eric Botcazou <ebotcazou@adacore.com>
10368
10369 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10370
cc2de92d
RO
103712012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10372
10373 PR libstdc++/52188
10374 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10375 Remove ENABLE_SYMVERS_SOL2.
10376 * configure: Regenerate.
10377 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10378 (PREPROCESS): New variable.
10379 (libgomp.ver): New target.
10380 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10381 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10382 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10383 Use libgomp.ver.
10384 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10385 * Makefile.in: Regenerate.
10386
dd552284
WL
103872012-02-14 Walter Lee <walt@tilera.com>
10388
10389 * configure.tgt: Handle tilegx and tilepro.
10390 * config/linux/tile/futex.h: New file.
10391
31432e21
RG
103922012-02-08 Richard Guenther <rguenther@suse.de>
10393
10394 PR tree-optimization/46886
10395 * testsuite/libgomp.c/pr46886.c: New testcase.
10396
b9264b5f
MK
103972012-01-25 Matthias Klose <doko@ubuntu.com>
10398
10399 * config/linux/arm: Remove empty directory.
10400 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10401
fbf7be80
AM
104022011-12-09 Alan Modra <amodra@gmail.com>
10403
10404 PR libgomp/51376
10405 * task.c (GOMP_taskwait): Don't access task->children outside of
10406 task_lock mutex region.
10407 (GOMP_task): Likewise.
10408
5de62d00
JJ
104092011-12-06 Jakub Jelinek <jakub@redhat.com>
10410
10411 PR libgomp/51132
10412 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10413 to file scope.
10414 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10415 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10416 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10417 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10418 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10419
45608a43
AM
104202011-12-02 Alan Modra <amodra@gmail.com>
10421
10422 * config/linux/affinity.c: Use atomic rather than sync builtin.
10423 * config/linux/lock.c: Likewise.
10424 * config/linux/ptrlock.h: Likewise.
10425 * config/linux/ptrlock.c: Likewise.
10426 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10427 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10428 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10429 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10430 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10431 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10432 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10433 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10434 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10435 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10436
ab6dd406
AM
104372011-11-30 Alan Modra <amodra@gmail.com>
10438
10439 PR libgomp/51298
10440 * config/linux/bar.h: Use atomic rather than sync builtins.
10441 * config/linux/bar.c: Likewise. Add missing acquire
10442 synchronisation on generation field.
10443 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10444 double unlock.
10445
b40c885f
AM
104462011-11-30 Alan Modra <amodra@gmail.com>
10447
10448 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10449 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10450 * config/linux/mutex.h: Use atomic rather than sync builtins.
10451 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10452 * config/linux/omp-lock.h: Comment fix.
10453 * config/linux/arm/mutex.h: Delete.
10454 * config/linux/powerpc/mutex.h: Delete.
10455 * config/linux/ia64/mutex.h: Delete.
10456 * config/linux/mips/mutex.h: Delete.
10457
3e348fcc
AM
104582011-11-30 Alan Modra <amodra@gmail.com>
10459
10460 PR libgomp/51249
10461 * config/linux/sem.h: Rewrite.
10462 * config/linux/sem.c: Rewrite.
10463
cef86eb2
RH
104642011-11-28 Richard Henderson <rth@redhat.com>
10465
10466 * libgomp.h (enum memmodel): New.
10467
c6084f68
AT
104682011-11-21 Andreas Tobler <andreast@fgznet.ch>
10469
10470 * configure: Regenerate.
10471
06fe026c
MK
104722011-10-10 Matthias Klose <doko@ubuntu.com>
10473
10474 * config/posix95: Remove empty directory.
10475
a6c975bd
JJ
104762011-08-26 Jakub Jelinek <jakub@redhat.com>
10477
10478 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10479
c26dffff
JJ
104802011-08-19 Jakub Jelinek <jakub@redhat.com>
10481
10482 PR fortran/49792
10483 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10484 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10485
ddaad3c8
RO
104862011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10487
10488 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10489
98d03683
RO
104902011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10491
10492 PR libgomp/49965
10493 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10494
e0b23d9f
UB
104952011-08-03 Uros Bizjak <ubizjak@gmail.com>
10496
10497 * config/linux/proc.h: New.
10498 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10499 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10500 (gomp_init_num_threads): Update call to cpuset_popcount.
10501 (get_num_procs): Ditto.
10502 * config/linux/affinity.c (gomp_init_affinity): Call
10503 gomp_cpuset_popcount.
10504
20906c66
JJ
105052011-08-02 Jakub Jelinek <jakub@redhat.com>
10506
10507 PR fortran/42041
10508 PR fortran/46752
10509 * omp.h.in (omp_in_final): New prototype.
10510 * omp_lib.f90.in (omp_in_final): New interface.
10511 (omp_integer_kind, omp_logical_kind): Remove
10512 and replace all its uses in the module with 4.
10513 (openmp_version): Change to 201107.
10514 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10515 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10516 kind for the parameters.
10517 (omp_in_final): New external.
10518 (openmp_version): Change to 201107.
10519 * task.c (omp_in_final): New function.
10520 (gomp_init_task): Initialize final_task.
10521 (GOMP_task): Remove unused attribute from flags. Handle final
10522 tasks.
10523 (GOMP_taskyield): New function.
10524 (omp_in_final): Return true if if (false) or final (true) task
10525 or descendant of final (true).
10526 * fortran.c (omp_in_final_): New function.
10527 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10528 (GOMP_3.0): Export GOMP_taskyield.
10529 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10530 variables.
10531 (parse_unsigned_long_list): New function.
10532 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10533 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10534 even if parse_affinity returned false.
10535 * config/linux/affinity.c (gomp_init_affinity): Handle
10536 gomp_cpu_affinity_len == 0.
10537 * libgomp_g.h (GOMP_taskyield): New prototype.
10538 * libgomp.h (struct gomp_task): Add final_task field.
10539 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10540 * team.c (gomp_team_start): Override new task's nthreads_var icv
10541 if list form OMP_NUM_THREADS has been used and it has value for
10542 the new nesting level.
10543
10544 * testsuite/libgomp.c/atomic-11.c: New test.
10545 * testsuite/libgomp.c/atomic-12.c: New test.
10546 * testsuite/libgomp.c/atomic-13.c: New test.
10547 * testsuite/libgomp.c/atomic-14.c: New test.
10548 * testsuite/libgomp.c/reduction-6.c: New test.
10549 * testsuite/libgomp.c/task-5.c: New test.
10550 * testsuite/libgomp.c++/atomic-2.C: New test.
10551 * testsuite/libgomp.c++/atomic-3.C: New test.
10552 * testsuite/libgomp.c++/atomic-4.C: New test.
10553 * testsuite/libgomp.c++/atomic-5.C: New test.
10554 * testsuite/libgomp.c++/atomic-6.C: New test.
10555 * testsuite/libgomp.c++/atomic-7.C: New test.
10556 * testsuite/libgomp.c++/atomic-8.C: New test.
10557 * testsuite/libgomp.c++/atomic-9.C: New test.
10558 * testsuite/libgomp.c++/task-8.C: New test.
10559 * testsuite/libgomp.c++/reduction-4.C: New test.
10560 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10561 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10562 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10563 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10564 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10565 * testsuite/libgomp.fortran/pointer1.f90: New test.
10566 * testsuite/libgomp.fortran/pointer2.f90: New test.
10567 * testsuite/libgomp.fortran/task4.f90: New test.
10568
105692011-08-02 Tobias Burnus <burnus@net-b.de>
10570
10571 * libgomp.texi: Update OpenMP spec references to 3.1.
10572 (omp_in_final,OMP_PROC_BIND): New sections.
10573 (OMP_NUM_THREADS): Document that the value can be now a list.
10574 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10575
c01ecafc
L
105762011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10577
10578 * config/linux/x86/futex.h: Check __x86_64__ instead of
10579 __LP64__.
10580
25142650
JJ
105812011-07-29 Jakub Jelinek <jakub@redhat.com>
10582
10583 PR middle-end/49897
10584 PR middle-end/49898
10585 * testsuite/libgomp.c/pr49897-1.c: New test.
10586 * testsuite/libgomp.c/pr49897-2.c: New test.
10587 * testsuite/libgomp.c/pr49898-1.c: New test.
10588 * testsuite/libgomp.c/pr49898-2.c: New test.
10589
f53d712f
L
105902011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10591
10592 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10593 for ia32 instead of ilp32.
10594
10595 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10596 * testsuite/libgomp.c/atomic-6.c: Likewise.
10597
3689198d
SP
105982011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10599
10600 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10601 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10602
1a79cb73
RO
106032011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10604
10605 PR libgomp/45351
10606 * config/osf/sem.h: New file.
10607 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10608
c1f51484
RO
106092011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10610
10611 PR target/49541
10612 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10613 ldflags.
10614
bfee0724
JJ
106152011-07-15 Jakub Jelinek <jakub@redhat.com>
10616
10617 * config/linux/wait.h (do_spin): New inline, largely copied
10618 from do_wait, just don't do futex_wait here, instead return true if
10619 it should be done.
10620 (do_wait): Implement using do_spin.
10621 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10622 to prototype.
10623 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10624 __sync_bool_compare_and_swap, pass the oldval to
10625 gomp_mutex_lock_slow.
10626 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10627 If all mutex contenders are just spinning and not sleeping, don't
10628 change state to 2 unnecessarily. Optimize the loop when state has
10629 already become 2 to use just one atomic operation per loop instead
10630 of two.
10631 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10632 to prototype.
10633 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10634 __sync_bool_compare_and_swap, pass the oldval to
10635 gomp_mutex_lock_slow.
10636
fb79f500
JJ
106372011-06-22 Jakub Jelinek <jakub@redhat.com>
10638
10639 PR libgomp/49490
10640 * iter.c (gomp_iter_static_next): For chunk size 0
10641 only use n ceil/ nthreads size for the first
10642 n % nthreads threads in the team instead of
10643 all threads except for the last few ones which
10644 get less work or none at all.
10645 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10646 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10647 chunk argument, set run_sched_modifier to 0 for static
10648 resp. 1 for other kinds. If chunk argument is 0
10649 and not static, set value to 1.
10650
4577f730
JJ
106512011-05-19 Jakub Jelinek <jakub@redhat.com>
10652
ea93a47b
JJ
10653 PR c++/49043
10654 * testsuite/libgomp.c++/pr49043.C: New test.
10655
4577f730
JJ
10656 PR c++/48869
10657 * testsuite/libgomp.c++/pr48869.C: New test.
10658
e7385332
JJ
106592011-05-06 Jakub Jelinek <jakub@redhat.com>
10660
10661 PR fortran/48894
10662 * fortran.c: Include limits.h.
10663 (TO_INT): Define.
10664 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10665 *set.
10666 (omp_set_num_threads_8_, omp_set_schedule_8_,
10667 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10668 omp_get_team_size_8_): Use TO_INT macro.
10669 * testsuite/libgomp.fortran/pr48894.f90: New test.
10670
20790697
JJ
106712011-04-13 Jakub Jelinek <jakub@redhat.com>
10672
10673 PR middle-end/48591
10674 * testsuite/libgomp.c/pr48591.c: New test.
10675
bf382f5f
RO
106762011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10677
10678 PR bootstrap/48135
10679 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10680 * configure: Regenerate.
10681
113a53c1
JJ
106822011-02-27 Jakub Jelinek <jakub@redhat.com>
10683
10684 PR fortran/47886
10685 * testsuite/libgomp.fortran/task3.f90: New test.
10686
0024f1af
TB
106872011-02-24 Tobias Burnus <burnus@net-b.de>
10688
10689 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10690
21e1e594
JJ
106912011-02-23 Jakub Jelinek <jakub@redhat.com>
10692
10693 PR libgomp/47854
10694 * libgomp.texi (omp_get_wtime): Don't say time in the past
10695 must be Unix Epoch.
10696
67962076
JJ
106972011-02-18 Jakub Jelinek <jakub@redhat.com>
10698
10699 PR libgomp/47804
10700 * testsuite/libgomp.fortran/fortran.exp: Check for both
10701 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10702 but $blddir != "", still append ${blddir}/${lang_library_path}
10703 to ld_library_path.
10704
3808007c
TB
107052011-02-16 Tobias Burnus <burnus@net-b.de>
10706
10707 PR libgomp/47758
10708 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10709 of libquadmath.a before adding its libpath to ldflags.
10710
53b4d41d
JJ
107112011-02-14 Jakub Jelinek <jakub@redhat.com>
10712
10713 PR libgomp/47731
10714 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10715 to FUTEX_WAIT futex syscall.
10716 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10717
029c8f3e
RW
107182011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10719
10720 * configure: Regenerate.
10721
bddd6626
BK
107222011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10723
10724 PR libstdc++/36104
10725 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10726
f1d4ab26
GP
107272011-01-16 Gerald Pfeifer
10728
10729 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10730
2b503136
JJ
107312010-12-14 Jakub Jelinek <jakub@redhat.com>
10732
10733 PR fortran/46874
10734 * libgomp.fortran/allocatable6.f90: New test.
10735
c0f9d583
RO
107362010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10737
10738 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10739 * configure: Regenerate.
10740
7de6ba7a
DK
107412010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10742
10743 PR target/40125
10744 PR lto/46695
10745 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10746 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10747 * aclocal.m4: Regenerate.
10748 * configure: Regenerate.
10749 * Makefile.in: Regenerate.
10750 * testsuite/Makefile.in: Regenerate.
10751
b7516041
JJ
107522010-12-02 Jakub Jelinek <jakub@redhat.com>
10753
edaadf74
JJ
10754 PR fortran/46753
10755 * libgomp.fortran/pr46753.f90: New test.
10756
4c698cf8
JJ
10757 PR libgomp/43706
10758 * env.c (initialize_env): Default to spin count 300000
10759 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10760 is specified.
10761
b7516041
JJ
10762 PR libgomp/45240
10763 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10764 at the end if sync builtins aren't supported.
10765
6b43a34c
RO
107662010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10767
10768 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10769
950691fa
RO
107702010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10771
10772 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10773
fb9041ea
IS
107742010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10775
10776 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10777
1ec601bf
FXC
107782010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10779 Tobias Burnus <burnus@net-b.de>
10780
10781 PR fortran/32049
3e348fcc 10782 * configure.ac:
1ec601bf
FXC
10783 * configure: Regenerate.
10784
d213e92e
MS
107852010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10786
10787 * config/linux/futex.h: New.
10788 * config/linux/arm/mutex.h: New.
10789 * configure.tgt (arm*-*-linux*): Add config path.
10790
89d5c66f
SP
107912010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10792
10793 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10794
87350d4a
TB
107952010-09-23 Tobias Burnus <burnus@net-b.de>
10796
10797 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10798 Change Fortran datatype to LOGICAL.
10799 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10800 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10801
75bc9e5e
RW
108022010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10803
10804 * configure: Regenerate.
10805
acb5c916
JJ
108062010-07-26 Jakub Jelinek <jakub@redhat.com>
10807
10808 * libgomp.texi: Add function keyword to a couple of Fortran
10809 interfaces, use integer instead of int for Fortran.
10810
6a2ba183
AH
108112010-07-26 Aldy Hernandez <aldyh@redhat.com>
10812
10813 * libgomp.texi: Fix spelling and pasto problems throughout.
10814 Adjust prototypes to match code.
10815
df161b69
TB
108162010-07-24 Tobias Burnus <burnus@net-b.de>
10817
10818 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10819 silence -fwhole-file warning.
10820
16c9d3b1
RO
108212010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10822
10823 * configure.tgt (*-*-solaris2.[56]*): Removed.
10824
6d28b933
RO
108252010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10826
10827 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10828 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10829 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10830 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10831 targetting solaris2*.
10832 * configure: Regenerate.
10833 * config.h.in: Regenerate.
10834
10835 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10836 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10837 Add libgomp_version_dep.
10838 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10839 versioning.
10840 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10841 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10842 * Makefile.in: Regenerate.
10843
10844 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10845 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10846 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10847 to common block, protected by
10848 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10849
07a67d6a
GP
108502010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10851
10852 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10853
dbd34b89
IS
108542010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10855
10856 PR bootstrap/43170
10857 * configure: Regenerate.
10858
13917ae3
RW
108592010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10860
10861 PR other/43620
10862 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10863 * configure: Regenerate.
10864 * Makefile.in: Regenerate.
10865 * testsuite/Makefile.in: Regenerate.
10866
b83a701b
JJ
108672010-04-26 Jakub Jelinek <jakub@redhat.com>
10868
10869 PR c/43893
10870 * testsuite/libgomp.c/pr43893.c: New test.
10871 * testsuite/libgomp.c++/pr43893.C: New test.
10872
78db7d92
JJ
108732010-04-21 Jakub Jelinek <jakub@redhat.com>
10874
10875 PR middle-end/43570
10876 * testsuite/libgomp.fortran/vla8.f90: New test.
10877
5221d7a9
JJ
108782010-04-20 Jakub Jelinek <jakub@redhat.com>
10879
e4ba7a60
JJ
10880 PR libgomp/43706
10881 * config/linux/affinity.c (gomp_init_affinity): Decrease
10882 gomp_available_cpus if affinity mask confines the process to fewer
10883 CPUs.
10884 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10885 non-NULL, just return gomp_available_cpus.
10886
5221d7a9
JJ
10887 PR libgomp/43569
10888 * sections.c (gomp_sections_init): Initialize ws->mode.
10889
289a9f86
UB
108902010-04-14 Uros Bizjak <ubizjak@gmail.com>
10891
10892 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10893 not unused bar variable.
10894 * configure: Regenerate.
10895
4d9e8446
RW
108962010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10897
10898 * Makefile.in: Regenerate.
10899 * aclocal.m4: Regenerate.
10900 * testsuite/Makefile.in: Regenerate.
10901
80f046cc
JJ
109022010-03-22 Jakub Jelinek <jakub@redhat.com>
10903
10904 PR libgomp/42942
10905 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10906 (initialize_env): Adjust callers.
10907 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10908 when the argument is 0.
10909
10910 * testsuite/libgomp.c/pr42942.c: New test.
10911
b58543c3
SP
109122010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10913
10914 PR middle-end/42644
10915 PR middle-end/42130
10916 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10917 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10918
41d1138f
RO
109192010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10920
10921 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10922 * testsuite/libgomp.c++/task-6.C: Likewise.
10923
6684eb28
SE
109242010-01-28 Steve Ellcey <sje@cup.hp.com>
10925
10926 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10927
2122aa97
PB
109282010-01-26 Paolo Bonzini <bonzini@gnu.org>
10929
10930 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10931 * configure: Regenerate.
10932
057dd91d
JJ
109332010-01-26 Jakub Jelinek <jakub@redhat.com>
10934
10935 PR fortran/42866
10936 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10937
d0709b6a
PB
109382010-01-20 Paolo Bonzini <bonzini@gnu.org>
10939
10940 * configure.ac: Test for executability of GFORTRAN.
10941 * configure: Regenerate.
10942
b9497ab5
RO
109432010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10944
10945 * configure: Regenerate.
10946
45de5648
L
109472010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10948
10949 PR libgomp/42602
10950 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10951
e74003a1
RG
109522010-01-03 Richard Guenther <rguenther@suse.de>
10953
10954 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10955
1b3abda8
SP
109562009-12-23 Sebastian Pop <sebpop@gmail.com>
10957
10958 * testsuite/libgomp.graphite/pr4118.c: New.
10959
e19977d3
IS
109602009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10961
10962 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10963 for darwin, protect the test with require-effective-target tls_runtime.
10964 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10965
1d32a772
IS
109662009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10967
10968 PR target/41605
10969 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10970 link spec %s substitutions for static libraries.
10971
deb109b2
JH
109722009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10973
10974 PR testsuite/42135
10975 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10976
43e02a8a
RW
109772009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10978
10979 * Makefile.in: Regenerate.
10980 * configure: Regenerate.
10981 * testsuite/Makefile.in: Regenerate.
10982
17f35e23
DK
109832009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10984
10985 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10986 settings for LC_ALL and LANG.
10987
281e33e1
JJ
109882009-11-25 Jakub Jelinek <jakub@redhat.com>
10989
10990 PR fortran/42162
10991 * testsuite/libgomp.fortran/pr42162.f90: New test.
10992
2b32c27d
JJ
109932009-11-13 Jakub Jelinek <jakub@redhat.com>
10994
10995 PR middle-end/42029
281e33e1 10996 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10997
89c74f4a
JJ
109982009-10-26 Jakub Jelinek <jakub@redhat.com>
10999
11000 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11001 *s. Accept ld version without text in ()s.
11002 * configure: Regenerated.
11003
7e06c3d6
EB
110042009-10-22 Razya Ladelsky <razya@il.ibm.com>
11005
11006 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11007
0046b1a7
RW
110082009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11009
11010 PR libgomp/41418
11011 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11012 or a hyphen (happens with fortran language disabled).
11013 * configure: Regenerate.
11014
c82852f7
RW
110152009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11016
11017 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11018 use sed script portable to Solaris /bin/sed for extracting ld
11019 version.
11020 * configure: Regenerate.
11021
98f3eb1f
AM
110222009-09-17 Alexander Monakov <amonakov@ispras.ru>
11023
11024 * testsuite/libgomp.graphite/bounds.c: New test.
11025
878f62e5
RW
110262009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11027
11028 * Makefile.am (libgomp_la_LINK): New.
11029 * Makefile.in: Regenerate.
11030
df58e648
RW
110312009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11032
11033 * configure.ac (AC_PREREQ): Bump to 2.64.
11034
5213506e
RW
110352009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11036
70fa0efa
RW
11037 * Makefile.am (install-html, install-pdf): Remove.
11038 * Makefile.in: Regenerate.
11039
5213506e
RW
11040 * Makefile.in: Regenerate.
11041 * aclocal.m4: Regenerate.
11042 * config.h.in: Regenerate.
11043 * configure: Regenerate.
11044 * testsuite/Makefile.in: Regenerate.
11045
84fec8a5
RW
110462009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11047
11048 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11049 * Makefile.in: Regenerate.
11050
197c68cc
DK
110512009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
11052
11053 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11054 * Makefile.in: Regenerate.
11055
693d54f2
TB
110562009-08-19 Tobias Burnus <burnus@net-b.de>
11057
11058 PR fortran/41102
11059 omp_lib.h.in: Fix -std=f95 errors.
11060
8cac884c
DE
110612009-08-14 David Edelsohn <edelsohn@gnu.org>
11062
11063 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11064 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11065 * testsuite/libgomp.graphite/graphite.exp: New.
11066
78729ee2
AT
110672009-08-05 Andreas Tobler <a.tobler@schweiz.org>
11068
11069 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11070 only build.
11071
b13b7f39
DD
110722009-08-04 David Daney <ddaney@caviumnetworks.com>
11073
11074 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11075 needed memory barrier semantics.
11076 * config/linux/mips/mutex.h: New file.
11077
1b3b24c2
RW
110782009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11079
11080 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11081
396b7fa4
JM
110822009-07-16 Joseph Myers <joseph@codesourcery.com>
11083
11084 * configure: Regenerate.
11085
33cde516
RS
110862009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
11087
11088 PR testsuite/40699
11089 PR testsuite/40707
11090 PR testsuite/40709
11091 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11092 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11093 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11094
bc21bfa5
RS
110952009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
11096
11097 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11098 options when choosing a multilib.
11099
b30bfd40
RS
111002009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
11101
11102 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11103 ld_library_path. Use add_path. Add just find_libgcc_s to
11104 ld_library_path, not every libgcc multilib directory.
11105 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11106 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11107 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11108 Use add_path.
11109 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11110
479c15c2
NF
111112009-06-09 Nathan Froyd <froydnj@codesourcery.com>
11112
11113 * Makefile.am (LTLDFLAGS): Define.
11114 (LINK): Define.
11115 * Makefile.in: Regenerate.
11116
667e6f89
JB
111172009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
11118
11119 PR fortran/39718
11120 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11121 libgfortranbegin, check existence of libgfortran.a instead of
11122 libgfortranbegin.a.
11123
6dea8e99
JJ
111242009-05-20 Jakub Jelinek <jakub@redhat.com>
11125
11126 PR libgomp/40174
11127 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11128 (gomp_free_pool_helper): Likewise.
11129
34d01e1d
VL
111302009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
11131 Jakub Jelinek <jakub@redhat.com>
11132
11133 PR fortran/35423
11134 * testsuite/libgomp.fortran/workshare2.f90: New test.
11135
748086b7
JJ
111362009-04-09 Nick Clifton <nickc@redhat.com>
11137
11138 * iter.c: Change copyright header to refer to version 3 of the
11139 GNU General Public License with version 3.1 of the GCC Runtime
11140 Library Exception and to point readers at the COPYING3 and
11141 COPYING3.RUNTIME files and the FSF's license web page.
11142 * alloc.c: Likewise.
11143 * barrier.c: Likewise.
11144 * config/bsd/proc.c: Likewise.
11145 * config/linux/affinity.c: Likewise.
11146 * config/linux/alpha/futex.h: Likewise.
11147 * config/linux/bar.c: Likewise.
11148 * config/linux/bar.h: Likewise.
11149 * config/linux/ia64/futex.h: Likewise.
11150 * config/linux/ia64/mutex.h: Likewise.
11151 * config/linux/lock.c: Likewise.
11152 * config/linux/mips/futex.h: Likewise.
11153 * config/linux/mutex.c: Likewise.
11154 * config/linux/mutex.h: Likewise.
11155 * config/linux/powerpc/futex.h: Likewise.
11156 * config/linux/proc.c: Likewise.
11157 * config/linux/ptrlock.c: Likewise.
11158 * config/linux/ptrlock.h: Likewise.
11159 * config/linux/s390/futex.h: Likewise.
11160 * config/linux/sem.c: Likewise.
11161 * config/linux/sem.h: Likewise.
11162 * config/linux/sparc/futex.h: Likewise.
11163 * config/linux/wait.h: Likewise.
11164 * config/linux/x86/futex.h: Likewise.
11165 * config/mingw32/proc.c: Likewise.
11166 * config/mingw32/time.c: Likewise.
11167 * config/posix/affinity.c: Likewise.
11168 * config/posix/bar.c: Likewise.
11169 * config/posix/bar.h: Likewise.
11170 * config/posix/lock.c: Likewise.
11171 * config/posix/mutex.h: Likewise.
11172 * config/posix/proc.c: Likewise.
11173 * config/posix/ptrlock.h: Likewise.
11174 * config/posix/sem.c: Likewise.
11175 * config/posix/sem.h: Likewise.
11176 * config/posix/time.c: Likewise.
11177 * config/posix95/lock.c: Likewise.
11178 * critical.c: Likewise.
11179 * env.c: Likewise.
11180 * error.c: Likewise.
11181 * fortran.c: Likewise.
11182 * iter_ull.c: Likewise.
11183 * libgomp.h: Likewise.
11184 * libgomp_f.h.in: Likewise.
11185 * libgomp_g.h: Likewise.
11186 * loop.c: Likewise.
11187 * loop_ull.c: Likewise.
11188 * omp.h.in: Likewise.
11189 * omp_lib.f90.in: Likewise.
11190 * omp_lib.h.in: Likewise.
11191 * ordered.c: Likewise.
11192 * parallel.c: Likewise.
11193 * sections.c: Likewise.
11194 * single.c: Likewise.
11195 * task.c: Likewise.
11196 * team.c: Likewise.
11197 * work.c: Likewise.
11198
111992009-04-09 Jakub Jelinek <jakub@redhat.com>
11200
11201 * testsuite/config/default.exp: Change copyright header to refer to
11202 version 3 of the GNU General Public License and to point readers
11203 at the COPYING3 file and the FSF's license web page.
11204
4f0ae266
JJ
112052009-04-08 Jakub Jelinek <jakub@redhat.com>
11206
11207 PR middle-end/39573
11208 * libgomp.c++/pr39573.C: New test.
11209
03742a9b
JJ
112102009-04-01 Jakub Jelinek <jakub@redhat.com>
11211
11212 PR other/39591
11213 * testsuite/libgomp.c/pr39591-1.c: New test.
11214 * testsuite/libgomp.c/pr39591-2.c: New test.
11215 * testsuite/libgomp.c/pr39591-3.c: New test.
11216
e50ea10b
UB
112172009-03-25 Uros Bizjak <ubizjak@gmail.com>
11218
11219 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11220 * testsuite/libgomp.c/atomic-6.c: Ditto.
11221
c5cdb03f
JJ
112222009-03-23 Jakub Jelinek <jakub@redhat.com>
11223
11224 PR c/39495
11225 * testsuite/libgomp.c/loop-12.c: New test.
11226 * testsuite/libgomp.c/loop-11.c: New test.
11227 * testsuite/libgomp.c++/loop-11.C: New test.
11228 * testsuite/libgomp.c++/loop-12.C: New test.
11229 * testsuite/libgomp.c++/for-8.C: New test.
11230
7a9d3fe8
RW
112312009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11232
11233 * configure: Regenerate.
11234
3ad6b266
JJ
112352009-02-11 Jakub Jelinek <jakub@redhat.com>
11236
11237 PR middle-end/39154
11238 * testsuite/libgomp.c/pr39154.c: New test.
11239
b39dea08
ILT
112402009-01-30 Ian Lance Taylor <iant@google.com>
11241
11242 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11243 libgomp_ld_is_gold. Get gold version number.
11244 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11245 * configure: Rebuild.
11246
72c66596
IS
112472009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11248
e50ea10b 11249 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
11250 use libgfortran.a%s in their specs.
11251
876080ff
JJ
112522009-01-07 Jakub Jelinek <jakub@redhat.com>
11253
11254 PR libgomp/38086
11255 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11256 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11257 HAVE_AS_SYMVER_DIRECTIVE is not defined.
11258 * configure: Regenerated.
11259 * config.h.in: Likewise.
11260
e4ebaef3
JJ
112612008-12-28 Jakub Jelinek <jakub@redhat.com>
11262
11263 PR c++/38650
11264 * testsuite/libgomp.c/pr38650.c: New test.
11265 * testsuite/libgomp.c++/pr38650.C: New test.
11266
382017a6
JJ
112672008-12-27 Jakub Jelinek <jakub@redhat.com>
11268
11269 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11270
79644b27
UB
112712008-12-26 Uros Bizjak <ubizjak@gmail.com>
11272
11273 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11274
baafc534
RW
112752008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11276
11277 * configure: Regenerate.
11278
d9c194cb
JJ
112792008-12-08 Jakub Jelinek <jakub@redhat.com>
11280
11281 PR middle-end/36802
11282 * testsuite/libgomp.c/pr36802-1.c: New test.
11283 * testsuite/libgomp.c/pr36802-2.c: New test.
11284 * testsuite/libgomp.c/pr36802-3.c: New test.
11285
86a182bf
JJ
112862008-12-01 Janis Johnson <janis187@us.ibm.com>
11287
11288 PR libgomp/38270
11289 * config/linux/powerpc/mutex.h: New.
11290
956adfaf
JJ
112912008-12-01 Jakub Jelinek <jakub@redhat.com>
11292
a2d4cdc9
JJ
11293 PR c++/38257
11294 * testsuite/libgomp.c++/for-7.C: New test.
11295
956adfaf
JJ
11296 PR c++/38348
11297 * testsuite/libgomp.c++/for-6.C: New test.
11298
d4038ca2
JJ
112992008-11-26 Janis Johnson <janis187@us.ibm.com>
11300
11301 PR testsuite/28870
11302 * testsuite/lib/libgomp.exp: Include new timeout library files.
11303 (libgomp_target_compile): Set timeout value from new proc.
11304
8b159eea
SE
113052008-11-13 Steve Ellcey <sje@cup.hp.com>
11306
11307 PR libgomp/37938
11308 * config/linux/ia64/mutex.h: New.
11309
5c6ed53a
TB
113102008-11-04 Tobias Burnus <burnus@net-b.de>
11311
11312 PR libgomp/37935
11313 * libgomp.texi (Runtime library routines, environment variables):
11314 Update for OpenMP version 3.0.
11315
6b4a97ed
PG
113162008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
11317 Steve Ellcey <sje@cup.hp.com>
11318
11319 * configure: Regenerate for new libtool.
11320 * Makefile.in: Ditto.
11321 * testsuite/Makefile.in: Ditto.
11322
e2b34106
JJ
113232008-09-19 Jakub Jelinek <jakub@redhat.com>
11324 Andreas Tobler <a.tobler@schweiz.org>
11325
11326 * config/bsd/proc.c: New file.
8c3b3600 11327 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
11328 * configure.ac: Check for header <sys/sysctl.h>
11329 * configure: Regenerate.
11330 * config.h.in: Likewise.
11331
3606b8bf
JJ
113322008-09-05 Janis Johnson <janis187@us.ibm.com>
11333
11334 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11335
6528b88d
AL
113362008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
11337
11338 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11339 * Makefile.in: Regenerated.
11340 * testsuite/Makefile.in: Regenerated.
11341
d9b14b12 113422008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 11343
a16b68bb 11344 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
11345 depend on blddir if blddir exists.
11346 (libgomp_target_compile): Likewise.
11347 * testsuite/libgomp.c++/c++.exp: Likewise.
11348 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11349
70b1e376
RW
113502008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11351
11352 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
11353 Do not list GPL as Invariant Section.
11354
318e8c3f
IG
113552008-07-28 Ilie Garbacea <ilie@mips.com>
11356 Chao-ying Fu <fu@mips.com>
11357
11358 * configure.tgt: Enable futex for MIPS.
11359 * config/linux/mips/futex.h: New file.
11360
4db72361
JJ
113612008-07-16 Jakub Jelinek <jakub@redhat.com>
11362
11363 * team.c (gomp_team_end): Free team immediately if it has
11364 just one thread.
11365
87bd23b8
DE
113662008-07-08 David Edelsohn <edelsohn@gnu.org>
11367
11368 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11369 * testsuite/libgomp.fortran/fortran.exp: Same.
11370 * testsuite/libgomp.c/c.exp: Same.
11371 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11372 directory to library path first.
11373
323ff903
KW
113742008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
11375
11376 * env.c (parse_stacksize): Add cast to avoid warning.
11377 (parse_spincount): Likewise.
11378
b357f682
JJ
113792008-06-27 Jakub Jelinek <jakub@redhat.com>
11380
ca2b1311
JJ
11381 * testsuite/libgomp.c/loop-10.c: New test.
11382 * libgomp.c/loop-3.c (main): Add lastprivate clause.
11383 * libgomp.c++/loop-6.C (main): Likewise.
11384
b357f682
JJ
11385 PR debug/36617
11386 * testsuite/libgomp.c/debug-1.c: New test.
11387
09a46078
JJ
113882008-06-19 Jakub Jelinek <jakub@redhat.com>
11389
11390 * testsuite/libgomp.c/nqueens-1.c: New test.
11391
2368a460
JJ
11392 PR c++/36523
11393 * testsuite/libgomp.c++/task-7.C: New function.
11394
18c04407
RW
113952008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11396
11397 * configure: Regenerate.
11398
9c4e59e0
JDA
113992008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11400
11401 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11402 mutex when HAVE_SYNC_BUILTINS isn't defined.
11403
6ccde948
RW
114042008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11405
11406 * libgomp.texi (omp_test_lock): Fix typo.
11407
b896f9fd
TB
114082008-06-12 Tobias Burnus <burnus@net-b.de>
11409
11410 * omp_lib.f90.in: Add "implicit none".
11411
c34938a8
JJ
114122008-06-12 Jakub Jelinek <jakub@redhat.com>
11413
11414 PR middle-end/36506
11415 * testsuite/libgomp.c/reduction-5.c: New test.
11416
976e44e3
JJ
114172008-06-11 Jakub Jelinek <jakub@redhat.com>
11418
5f836cbb
JJ
11419 * libgomp.h (struct gomp_task): Add in_tied_task field.
11420 * task.c (gomp_init_task): Initialize it.
11421 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
11422 unconditionally. Don't call gomp_team_barrier_wake if
11423 current task is implicit or if(0) from implicit and number of
11424 running tasks is equal to nthreads - 1.
11425
01501fc8
JJ
11426 PR libgomp/36471
11427 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11428 omp_get_team_size_8): Fix pastos.
11429
976e44e3
JJ
11430 PR libgomp/36469
11431 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11432 * configure: Regenerated.
11433 * config.h.in: Regenerated.
11434 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11435 defined.
11436
e919209b
AT
114372008-06-06 Andreas Tobler <a.tobler@schweiz.org>
11438
11439 PR bootstrap/36452
11440 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11441 (GOMP_loop_ull_dynamic_start): Likewise.
11442 (GOMP_loop_ull_guided_start): Likewise.
11443 (GOMP_loop_ull_ordered_static_start): Likewise.
11444 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11445 (GOMP_loop_ull_ordered_guided_start): Likewise.
11446
a68ab351
JJ
114472008-06-06 Jakub Jelinek <jakub@redhat.com>
11448 Richard Henderson <rth@redhat.com>
11449 Ulrich Drepper <drepper@redhat.com>
11450 Jakob Blomer <jakob.blomer@ira.uka.de>
11451
11452 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11453 Substitute also OMP_*LOCK_25*.
11454 * configure: Regenerated.
11455 * config.h.in: Regenerated.
11456 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11457 ptrlock.c and task.c.
11458 * Makefile.in: Regenerated.
11459 * testsuite/Makefile.in: Regenerated.
11460 * task.c: New file.
11461 * loop_ull.c: New file.
11462 * iter_ull.c: New file.
11463 * libgomp.h: Include ptrlock.h.
11464 (enum gomp_task_kind): New type.
11465 (struct gomp_team): Add task_lock, task_queue, task_count,
11466 task_running_count, single_count fields. Add
11467 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11468 Remove work_share_lock, generation_mask,
11469 oldest_live_gen, num_live_gen and init_work_shares fields, add
11470 work work_share_list_alloc, work_share_list_free and work_share_chunk
11471 fields. Change work_shares from pointer to pointers into an array.
11472 Change ordered_release field into gomp_sem_t ** from flexible array
11473 member. Add implicit_task and initial_work_shares fields.
11474 Move close to the end of the struct.
11475 (struct gomp_team_state): Add single_count, last_work_share,
11476 active_level and level fields, remove work_share_generation.
11477 (gomp_barrier_handle_tasks): New prototype.
11478 (gomp_finish_task): New inline function.
11479 (struct gomp_work_share): Move chunk_size, end, incr into
11480 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11481 next_ll fields. Reshuffle fields. Add next_alloc,
11482 next_ws, next_free and inline_ordered_team_ids fields, change
11483 ordered_team_ids into pointer from flexible array member.
11484 Add mode field. Put lock and next into a different cache line
11485 from most of the write-once fields.
11486 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11487 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11488 gomp_iter_ull_guided_next): New prototypes.
11489 (gomp_new_icv): New prototype.
11490 (struct gomp_thread): Add thread_pool and task fields.
11491 (struct gomp_thread_pool): New type.
11492 (gomp_new_team): New prototype.
11493 (gomp_team_start): Change type of last argument.
11494 (gomp_new_work_share): Removed.
11495 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11496 (gomp_work_share_init_done): New static inline.
11497 (gomp_throttled_spin_count_var, gomp_available_cpus,
11498 gomp_managed_threads): New extern decls.
11499 (gomp_init_task): New prototype.
11500 (gomp_spin_count_var): New extern var decl.
11501 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11502 or no alias support, or if not PIC.
11503 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11504 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11505 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11506 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11507 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11508 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11509 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11510 gomp_test_nest_lock_25): New prototypes.
11511 (omp_lock_symver, strong_alias): Define.
11512 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11513 decls.
11514 (gomp_end_task): New.
11515 (struct gomp_task_icv, gomp_global_icv): New.
11516 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11517 (struct gomp_task): New.
11518 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11519 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11520 (gomp_icv): New.
11521 (gomp_schedule_type): Reorder enum to match
11522 omp_sched_t.
11523 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11524 fields.
11525 (gomp_thread_start): Add gomp_team_barrier_wait call.
11526 For non-nested case remove clearing of docked thread thr fields.
11527 Use pool fields instead of global gomp_* variables. Use
11528 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11529 Create tasks for each member thread.
11530 (free_team): Only destroy team barrier, task_lock here and free it.
11531 (gomp_free_thread): Free last_team if non-NULL.
11532 (gomp_team_end): Call gomp_team_barrier_wait instead of
11533 gomp_barrier_wait. For nested case call one extra
11534 gomp_barrier_wait. Move here some destruction from free_team.
11535 Call free_team on pool->last_team if any, rather than freeing
11536 current team. Destroy work_share_list_free_lock ifndef
11537 HAVE_SYNC_BUILTINS.
11538 (gomp_new_icv): New function.
11539 (gomp_threads, gomp_threads_size, gomp_threads_used,
11540 gomp_threads_dock): Removed.
11541 (gomp_thread_destructor): New variable.
11542 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11543 functions.
11544 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 11545 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
11546 Initialize thread_pool field for new threads. Clear single_count.
11547 Change last argument from ws to team, don't create
11548 new team, set ts.work_share to &team->work_shares[0] and clear
11549 ts.last_work_share. Don't clear ts.work_share_generation.
11550 If number of threads changed, adjust atomically gomp_managed_threads.
11551 Use gomp_init_task instead of gomp_new_task,
11552 set thr->task to the corresponding implicit_task array entry.
11553 Create tasks for each member thread. Initialize ts.level.
11554 (initialize_team): Call pthread_key_create on
11555 gomp_thread_destructor.
11556 (team_destructor): New function.
11557 (new_team): Removed.
11558 (gomp_new_team): New function.
11559 (free_team): Free gomp_work_share blocks chained through next_alloc,
11560 instead of freeing work_shares and destroying work_share_lock.
11561 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11562 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11563 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11564 of gomp_barrier_wait.
11565 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11566 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11567 if gomp_work_share_start returned true. Don't unlock ws->lock.
11568 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11569 of gomp_barrier_wait.
11570 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11571 gomp_work_share_init_done if gomp_work_share_start returned true.
11572 Don't unlock ws->lock.
11573 * work.c: Include stddef.h.
11574 (free_work_share): Use work_share_list_free_lock instead
11575 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11576 Call gomp_fini_work_share and then either free ws if orphaned, or
11577 put it into work_share_list_free list of the current team.
11578 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11579 functions.
11580 (gomp_work_share_start, gomp_work_share_end,
11581 gomp_work_share_end_nowait): Rewritten.
11582 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11583 (openmp_version): Set to 200805.
11584 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11585 omp_sched_guided, omp_sched_auto): New parameters.
11586 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11587 omp_set_max_active_levels, omp_get_max_active_levels,
11588 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11589 omp_get_active_level): New interfaces.
11590 * omp_lib.h.in (openmp_version): Set to 200805.
11591 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11592 omp_sched_guided, omp_sched_auto): New parameters.
11593 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11594 omp_set_max_active_levels, omp_get_max_active_levels,
11595 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11596 omp_get_active_level): New externals.
11597 * loop.c: Include limits.h.
11598 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11599 GFS_AUTO.
11600 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11601 Likewise. Use gomp_icv.
11602 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11603 ts.static_trip here.
11604 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11605 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11606 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11607 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11608 don't unlock ws->lock, otherwise lock it.
11609 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11610 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11611 (gomp_parallel_loop_start): Call gomp_new_team instead of
11612 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11613 Adjust gomp_team_start caller. Pass 0 as second argument to
11614 gomp_resolve_num_threads.
11615 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11616 If adding ws->chunk_size nthreads + 1 times after end won't
11617 overflow, set ws->mode to 1.
11618 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11619 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11620 GOMP_loop_ull_ordered_static_start,
11621 GOMP_loop_ull_ordered_dynamic_start,
11622 GOMP_loop_ull_ordered_guided_start,
11623 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11624 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11625 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11626 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11627 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11628 prototypes.
11629 * libgomp.map: Export lock routines also @@OMP_2.0.
11630 (GOMP_loop_ordered_dynamic_first,
11631 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11632 GOMP_loop_ordered_static_first): Remove.
11633 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11634 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11635 GOMP_loop_ull_ordered_dynamic_next,
11636 GOMP_loop_ull_ordered_dynamic_start,
11637 GOMP_loop_ull_ordered_guided_next,
11638 GOMP_loop_ull_ordered_guided_start,
11639 GOMP_loop_ull_ordered_runtime_next,
11640 GOMP_loop_ull_ordered_runtime_start,
11641 GOMP_loop_ull_ordered_static_next,
11642 GOMP_loop_ull_ordered_static_start,
11643 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11644 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11645 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11646 (omp_set_schedule, omp_get_schedule,
11647 omp_get_thread_limit, omp_set_max_active_levels,
11648 omp_get_max_active_levels, omp_get_level,
11649 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11650 omp_set_schedule_, omp_set_schedule_8_,
11651 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11652 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11653 omp_get_max_active_levels_, omp_get_level_,
11654 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11655 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11656 New exports @@OMP_3.0.
11657 * omp.h.in (omp_sched_t): New type.
11658 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11659 omp_set_max_active_levels, omp_get_max_active_levels,
11660 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11661 omp_get_active_level): New prototypes.
11662 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11663 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11664 gomp_thread_limit_var, gomp_remaining_threads_count,
11665 gomp_remaining_threads_lock): New variables.
11666 (parse_spincount): New function.
11667 (initialize_env): Call gomp_init_num_threads unconditionally.
11668 Initialize gomp_available_cpus. Call parse_spincount,
11669 initialize gomp_{,throttled_}spin_count_var
11670 depending on presence and value of OMP_WAIT_POLICY and
11671 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11672 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11673 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11674 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11675 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11676 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11677 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11678 (gomp_global_icv): New.
11679 (parse_schedule): Use it. Parse "auto".
11680 (omp_set_num_threads): Use gomp_icv.
11681 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11682 Likewise.
11683 (omp_get_max_threads): Move from parallel.c.
11684 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11685 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11686 add ialias.
11687 (parse_stacksize, parse_wait_policy): New functions.
11688 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11689 both wrappers for compatibility and new locks.
11690 (omp_set_schedule, omp_get_schedule,
11691 omp_get_thread_limit, omp_set_max_active_levels,
11692 omp_get_max_active_levels, omp_get_level,
11693 omp_get_ancestor_thread_num, omp_get_team_size,
11694 omp_get_active_level): New ialias_redirect.
11695 (omp_set_schedule_, omp_set_schedule_8_,
11696 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11697 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11698 omp_get_max_active_levels_, omp_get_level_,
11699 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11700 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11701 New functions.
11702 * parallel.c: Include limits.h.
11703 (gomp_resolve_num_threads): Add count argument. Rewritten.
11704 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11705 argument to gomp_team_start. Pass 0 as second argument to
11706 gomp_resolve_num_threads.
11707 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11708 if gomp_thread_limit_var != ULONG_MAX.
11709 (omp_in_parallel): Implement using ts.active_level.
11710 (omp_get_max_threads): Move to env.c.
11711 (omp_get_level, omp_get_ancestor_thread_num,
11712 omp_get_team_size, omp_get_active_level): New functions,
11713 add ialias.
11714 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11715 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11716 gomp_iter_dynamic_next instead of the _locked variant and don't take
11717 lock around it, otherwise acquire it before calling
11718 gomp_iter_dynamic_next_locked.
11719 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11720 gomp_iter_dynamic_next instead of the _locked variant and don't take
11721 lock around it.
11722 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11723 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11724 Adjust gomp_team_start caller. Pass count as second argument to
11725 gomp_resolve_num_threads, don't adjust num_threads after the call.
11726 Use gomp_icv.
11727 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11728 ws->chunk_size by incr.
11729 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11730 code.
11731 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11732 types.
11733 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11734 (omp_check_defines): Check even the compat defines.
11735 * config/linux/ptrlock.c: New file.
11736 * config/linux/ptrlock.h: New file.
11737 * config/linux/wait.h: New file.
11738 * config/posix/ptrlock.c: New file.
11739 * config/posix/ptrlock.h: New file.
11740 * config/linux/bar.h (gomp_team_barrier_wait,
11741 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11742 (gomp_team_barrier_set_task_pending,
11743 gomp_team_barrier_clear_task_pending,
11744 gomp_team_barrier_set_waiting_for_tasks,
11745 gomp_team_barrier_waiting_for_tasks,
11746 gomp_team_barrier_done): New inlines.
11747 (gomp_barrier_t): Rewritten.
11748 (gomp_barrier_state_t): New typedef.
11749 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11750 gomp_barrier_wait_start): Rewritten.
11751 (gomp_barrier_wait_end): Change second argument to
11752 gomp_barrier_state_t.
11753 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11754 inlines.
11755 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11756 futex.h.
11757 (gomp_barrier_wait_end): Rewritten.
11758 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11759 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11760 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11761 (gomp_barrier_state_t): New typedef.
11762 (gomp_team_barrier_wait,
11763 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11764 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11765 into the return value. Return gomp_barrier_state_t.
11766 (gomp_team_barrier_set_task_pending,
11767 gomp_team_barrier_clear_task_pending,
11768 gomp_team_barrier_set_waiting_for_tasks,
11769 gomp_team_barrier_waiting_for_tasks,
11770 gomp_team_barrier_done): New inlines.
11771 (gomp_barrier_wait_end): Change second argument to
11772 gomp_barrier_state_t.
11773 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11774 inlines.
11775 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11776 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11777 gomp_barrier_state_t.
a68ab351
JJ
11778 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11779 gomp_team_barrier_wake): New functions.
11780 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11781 futex.h.
11782 (gomp_futex_wake, gomp_futex_wait): New variables.
11783 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11784 * config/linux/lock.c: Rewrite to make locks task owned,
11785 for backwards compatibility provide the old entrypoints
11786 if symbol versioning. Include wait.h instead of libgomp.h and
11787 futex.h.
11788 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11789 * config/posix95/lock.c: Rewrite to make locks task owned,
11790 for backwards compatibility provide the old entrypoints
11791 if symbol versioning.
11792 * config/posix/lock.c: Rewrite to make locks task owned,
11793 for backwards compatibility provide the old entrypoints
11794 if symbol versioning.
11795 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11796 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11797 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11798 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11799 (sys_futex0): Return error code.
11800 (futex_wake, futex_wait): If ENOSYS was returned, clear
11801 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11802 (cpu_relax, atomic_write_barrier): New static inlines.
11803 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11804 (futex_wake, futex_wait): If ENOSYS was returned, clear
11805 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11806 (cpu_relax, atomic_write_barrier): New static inlines.
11807 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11808 (sys_futex0): Return error code.
11809 (futex_wake, futex_wait): If ENOSYS was returned, clear
11810 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11811 (cpu_relax, atomic_write_barrier): New static inlines.
11812 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11813 (sys_futex0): Return error code.
11814 (futex_wake, futex_wait): If ENOSYS was returned, clear
11815 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11816 (cpu_relax, atomic_write_barrier): New static inlines.
11817 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11818 (sys_futex0): Return error code.
11819 (futex_wake, futex_wait): If ENOSYS was returned, clear
11820 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11821 (cpu_relax, atomic_write_barrier): New static inlines.
11822 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11823 (sys_futex0): Return error code.
11824 (futex_wake, futex_wait): If ENOSYS was returned, clear
11825 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11826 (cpu_relax, atomic_write_barrier): New static inlines.
11827 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11828 futex.h.
11829 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11830 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11831 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11832 types.
11833 (omp_nest_lock_t): Change owner into void *, add lock field.
11834 * config/posix95/omp-lock.h: Include semaphore.h.
11835 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11836 (omp_lock_t): Use sem_t instead of mutex if semaphores
11837 aren't broken.
11838 (omp_nest_lock_t): Likewise. Change owner to void *.
11839 * config/posix/omp-lock.h: Include semaphore.h.
11840 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11841 (omp_lock_t): Use sem_t instead of mutex if semaphores
11842 aren't broken.
11843 (omp_nest_lock_t): Likewise. Add owner field.
11844
118452008-06-06 Jakub Jelinek <jakub@redhat.com>
11846
11847 * testsuite/libgomp.c/collapse-1.c: New test.
11848 * testsuite/libgomp.c/collapse-2.c: New test.
11849 * testsuite/libgomp.c/collapse-3.c: New test.
11850 * testsuite/libgomp.c/icv-1.c: New test.
11851 * testsuite/libgomp.c/icv-2.c: New test.
11852 * testsuite/libgomp.c/lib-2.c: New test.
11853 * testsuite/libgomp.c/lock-1.c: New test.
11854 * testsuite/libgomp.c/lock-2.c: New test.
11855 * testsuite/libgomp.c/lock-3.c: New test.
11856 * testsuite/libgomp.c/loop-4.c: New test.
11857 * testsuite/libgomp.c/loop-5.c: New test.
11858 * testsuite/libgomp.c/loop-6.c: New test.
11859 * testsuite/libgomp.c/loop-7.c: New test.
11860 * testsuite/libgomp.c/loop-8.c: New test.
11861 * testsuite/libgomp.c/loop-9.c: New test.
11862 * testsuite/libgomp.c/nested-3.c: New test.
11863 * testsuite/libgomp.c/nestedfn-6.c: New test.
11864 * testsuite/libgomp.c/sort-1.c: New test.
11865 * testsuite/libgomp.c/task-1.c: New test.
11866 * testsuite/libgomp.c/task-2.c: New test.
11867 * testsuite/libgomp.c/task-3.c: New test.
11868 * testsuite/libgomp.c/task-4.c: New test.
11869 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11870 to C++ testsuite default compiler options.
11871 * testsuite/libgomp.c++/collapse-1.C: New test.
11872 * testsuite/libgomp.c++/collapse-2.C: New test.
11873 * testsuite/libgomp.c++/ctor-10.C: New test.
11874 * testsuite/libgomp.c++/for-1.C: New test.
11875 * testsuite/libgomp.c++/for-2.C: New test.
11876 * testsuite/libgomp.c++/for-3.C: New test.
11877 * testsuite/libgomp.c++/for-4.C: New test.
11878 * testsuite/libgomp.c++/for-5.C: New test.
11879 * testsuite/libgomp.c++/loop-8.C: New test.
11880 * testsuite/libgomp.c++/loop-9.C: New test.
11881 * testsuite/libgomp.c++/loop-10.C: New test.
11882 * testsuite/libgomp.c++/task-1.C: New test.
11883 * testsuite/libgomp.c++/task-2.C: New test.
11884 * testsuite/libgomp.c++/task-3.C: New test.
11885 * testsuite/libgomp.c++/task-4.C: New test.
11886 * testsuite/libgomp.c++/task-5.C: New test.
11887 * testsuite/libgomp.c++/task-6.C: New test.
11888 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11889 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11890 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11891 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11892 * testsuite/libgomp.fortran/collapse1.f90: New test.
11893 * testsuite/libgomp.fortran/collapse2.f90: New test.
11894 * testsuite/libgomp.fortran/collapse3.f90: New test.
11895 * testsuite/libgomp.fortran/collapse4.f90: New test.
11896 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11897 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11898 * testsuite/libgomp.fortran/lib4.f90: New test.
11899 * testsuite/libgomp.fortran/lock-1.f90: New test.
11900 * testsuite/libgomp.fortran/lock-2.f90: New test.
11901 * testsuite/libgomp.fortran/nested1.f90: New test.
11902 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11903 * testsuite/libgomp.fortran/strassen.f90: New test.
11904 * testsuite/libgomp.fortran/tabs1.f90: New test.
11905 * testsuite/libgomp.fortran/tabs2.f: New test.
11906 * testsuite/libgomp.fortran/task1.f90: New test.
11907 * testsuite/libgomp.fortran/task2.f90: New test.
11908 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11909 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11910 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11911 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11912 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11913
7a0112e7
JJ
119142008-05-23 Jakub Jelinek <jakub@redhat.com>
11915
11916 PR c++/36308
11917 * testsuite/libgomp.c++/ctor-11.C: New test.
11918 * testsuite/libgomp.c++/ctor-12.C: New test.
11919
91a5b394
JJ
119202008-05-15 Janis Johnson <janis187@us.ibm.com>
11921
11922 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11923
c18c98c0
JJ
119242008-05-07 Jakub Jelinek <jakub@redhat.com>
11925
11926 PR middle-end/36106
11927 * testsuite/libgomp.c/atomic-5.c: New test.
11928 * testsuite/libgomp.c/atomic-6.c: New test.
11929 * testsuite/libgomp.c/autopar-1.c: New test.
11930
6d26724a
RW
119312008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11932
11933 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11934 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11935 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11936 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11937 * configure: Regenerate.
11938 * Makefile.in, testsuite/Makefile.in: Likewise.
11939
deb984e6
PB
119402008-04-18 Paolo Bonzini <bonzini@gnu.org>
11941
11942 PR bootstrap/35457
11943 * aclocal.m4: Regenerate.
11944 * configure: Regenerate.
11945
9e775963
JJ
119462008-03-18 Jakub Jelinek <jakub@redhat.com>
11947
8119fc93
JJ
11948 PR middle-end/35611
11949 * testsuite/libgomp.c/atomic-4.c: New test.
11950
9e775963
JJ
11951 PR libgomp/35625
11952 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11953 (gomp_iter_guided_next): Likewise.
11954 * testsuite/libgomp.c/pr35625.c: New test.
11955
38d24731
RW
119562008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11957
11958 * aclocal.m4: Regenerate.
11959 * configure: Likewise.
11960 * Makefile.in: Likewise.
11961 * testsuite/Makefile.in: Likewise.
11962
d0fb20be
JJ
119632008-03-13 Jakub Jelinek <jakub@redhat.com>
11964
11965 PR middle-end/35185
11966 * testsuite/libgomp.c++/pr35185.C: New test.
11967
7c8f7639
JJ
119682008-03-12 Jakub Jelinek <jakub@redhat.com>
11969
11970 PR middle-end/35549
11971 * testsuite/libgomp.c/pr35549.c: New test.
11972
251923f5
JJ
119732008-03-06 Jakub Jelinek <jakub@redhat.com>
11974
11975 * testsuite/libgomp.c/atomic-3.c: New test.
11976
f489fba1
FXC
119772008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11978
11979 PR fortran/33197
251923f5 11980 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11981 .F08 file suffixes.
11982
a1b25e49
PG
119832008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11984
11985 PR libgomp/33131
11986 * configure.ac: Add ACX_HEADER_STRING.
11987 * env.c: Include strings.h.
11988 * aclocal.m4: Regenerate.
11989 * config.h.in: Regenerate.
11990 * configure: Regenerate.
11991 * Makefile.in: Regenerate.
11992 * testsuite/Makefile.in: Regenerate.
11993
6837b3b8
JJ
119942008-02-15 Jakub Jelinek <jakub@redhat.com>
11995
ac84c062
JJ
11996 PR middle-end/35196
11997 * testsuite/libgomp.c/pr35196.c: New test.
11998
6837b3b8
JJ
11999 PR middle-end/35130
12000 * testsuite/libgomp.fortran/pr35130.f90: New test.
12001 * testsuite/libgomp.c/pr35130.c: New test.
12002
c256730c
JJ
120032008-01-25 Jakub Jelinek <jakub@redhat.com>
12004
12005 PR middle-end/33880
12006 * testsuite/libgomp.c/pr33880.c: New test.
12007 * testsuite/libgomp.fortran/pr33880.f90: New test.
12008
c8e95542 120092008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
12010
12011 * configure: Regenerate.
12012
0f3e711e
JJ
120132008-01-08 Jakub Jelinek <jakub@redhat.com>
12014
12015 * configure.ac: Move futex checking into ../config/futex.m4.
12016 * configure: Rebuilt.
12017 * aclocal.m4: Rebuilt.
12018 * Makefile.in: Rebuilt.
12019
12020 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12021 2007-10-15 ../config/tls.m4 change.
12022
5259c813
JJ
120232007-12-19 Jakub Jelinek <jakub@redhat.com>
12024
12025 PR c++/34513
12026 * testsuite/libgomp.c/pr34513.c: New test.
12027 * testsuite/libgomp.c++/pr34513.C: New test.
12028
ae8d8879
JH
120292007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
12030
12031 PR target/32765
12032 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12033
2b4cf991
JJ
120342007-12-04 Jakub Jelinek <jakub@redhat.com>
12035
12036 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12037
d2dda7fe
JJ
120382007-12-03 Jakub Jelinek <jakub@redhat.com>
12039
12040 * testsuite/libgomp.c/private-1.c: New test.
12041
d683ec81
PB
120422007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
12043 Paolo Bonzini <bonzini@gnu.org>
12044
12045 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12046 instead of 'VPATH ='.
12047 * Makefile.in: Regenerate.
12048
a7415017
MK
120492007-11-23 Matthias Klose <doko@ubuntu.com>
12050
12051 * configure.ac: Adjust makeinfo version check.
12052 * configure: Regenerate.
12053
78e47463
JJ
120542007-11-10 Jakub Jelinek <jakub@redhat.com>
12055
12056 PR fortran/34020
12057 * testsuite/libgomp.fortran/pr34020.f90: New test.
12058
239371f9
JJ
120592007-11-06 Jakub Jelinek <jakub@redhat.com>
12060
12061 PR c++/33894
12062 * testsuite/libgomp.c++/atomic-1.C: New test.
12063
98a5fa94
JJ
120642007-10-25 Jakub Jelinek <jakub@redhat.com>
12065
12066 PR libgomp/33275
12067 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12068 Make x and y integers rather than (implicit) reals. Add private (j)
12069 clause to the last omp parallel.
12070
3afcaaf4
MR
120712007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
12072
12073 * configure: Regenerate following changes to ../config/tls.m4.
12074
bd69daef
JJ
120752007-09-28 Jakub Jelinek <jakub@redhat.com>
12076
12077 * testsuite/libgomp.fortran/stack.f90: New test.
12078
1d0bd356
DS
120792007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
12080
12081 * config/mingw32/proc.c: New file.
12082
b3172cab
UB
120832007-09-05 Uros Bizjak <ubizjak@gmail.com>
12084
12085 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12086 (main): Use __get_cpuid to get i386 target fetaures.
12087 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12088 (main): Use __get_cpuid to get x86_64 target fetaures.
12089
6da17392
JH
120902007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
12091
12092 PR target/32765
12093 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12094 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12095
e1c82219
JJ
120962007-07-12 Jakub Jelinek <jakub@redhat.com>
12097
12098 PR fortran/32550
12099 * testsuite/libgomp.fortran/pr32550.f90: New test.
12100 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12101
12a27363
L
121022007-07-05 H.J. Lu <hongjiu.lu@intel.com>
12103
12104 * aclocal.m4: Regenerated.
12105
5349080d
TB
121062007-07-05 Tobias Burnus <burnus@net-b.de>
12107
12108 PR fortran/32359
12109 * testsuite/libgomp.fortran/pr32359.f90: New.
12110
4f9c450c
JJ
121112007-07-02 Jakub Jelinek <jakub@redhat.com>
12112
12113 PR libgomp/32468
12114 * sections.c (GOMP_parallel_sections_start): Only decrease
12115 number of threads to COUNT if dyn_var is true.
12116 * testsuite/libgomp.c/pr32468.c: New test.
12117
28c67ed7
RO
121182007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12119
12120 PR libgomp/26308
12121 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12122
64964499
JJ
121232007-06-21 Jakub Jelinek <jakub@redhat.com>
12124
12125 PR middle-end/32362
12126 * testsuite/libgomp.c/pr32362-1.c: New test.
12127 * testsuite/libgomp.c/pr32362-2.c: New test.
12128 * testsuite/libgomp.c/pr32362-3.c: New test.
12129
46d8fbd1
JJ
121302007-06-07 Jakub Jelinek <jakub@redhat.com>
12131
12132 * team.c (gomp_team_start): Fix setting up thread_attr
12133 stack size.
12134
82a6cadf
PB
121352007-06-02 Paolo Bonzini <bonzini@gnu.org>
12136
12137 * configure: Regenerate.
12138
1cf3d07d
SE
121392007-05-23 Steve Ellcey <sje@cup.hp.com>
12140
12141 * Makefile.in: Regenerate.
12142 * configure: Regenerate.
12143 * aclocal.m4: Regenerate.
12144 * testsuite/Makefile.in: Regenerate.
12145
12aac30b
JJ
121462007-05-04 Jakub Jelinek <jakub@redhat.com>
12147
12148 * config/linux/proc.c: New file.
12149
f1028b02
JJ
12150 PR libgomp/28482
12151 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12152
06785a48
DF
121532007-04-19 Daniel Franke <franke.daniel@gmail.com>
12154
12155 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12156
b3b08ba0
MK
121572007-04-16 Matthias Klose <doko@debian.org>
12158
12159 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12160 flags if not building with -m64.
12161 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12162 flag for i?86-*-* targets, if current target matches -m64.
12163
6b2c5ce0
SE
121642007-04-14 Steve Ellcey <sje@cup.hp.com>
12165
12166 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12167 * Makefile.in: Regenerate.
12168
dd56fe7c
JDA
121692007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12170
12171 PR testsuite/31369
12172 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12173 ld_library_path.
12174 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12175
a0884cf0
JJ
121762007-04-04 Jakub Jelinek <jakub@redhat.com>
12177
12178 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12179 decls.
12180 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12181 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12182 (parse_affinity): New function.
12183 (initialize_env): Call it and gomp_init_affinity.
12184 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12185 create new pthread_attr_t and call gomp_init_thread_affinity
12186 on it for each thread before passing the attribute to pthread_create.
12187 * config/linux/affinity.c: New file.
12188 * config/posix/affinity.c: New file.
12189 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12190 * configure: Rebuilt.
12191 * config.h.in: Rebuilt.
12192 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12193 * Makefile.in: Rebuilt.
12194
1850744b
AT
121952007-03-23 Andreas Tobler <a.tobler@schweiz.org>
12196
12197 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12198 *-*-darwin*.
12199 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12200 and use it if found.
12201
516f1ed8
UB
122022007-03-18 Uros Bizjak <ubizjak@gmail.com>
12203
12204 * testsuite/config/default.exp: New file.
12205 * testsuite/lib/libgomp.exp: New file.
12206 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12207 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12208 load_lib *, load_gcc_lib *): Move to libgomp.exp.
12209 (libgomp_load): Remove.
12210 * testsuite/lib/libgomp.exp (libgomp_init): Compute
12211 always_ld_library_path, not ld_library_path. Set additional_flags
12212 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12213 (target_compile): Do not call libgomp_init. Append lang_library_path
12214 and lang_link_flags to options.
12215 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
12216 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
12217 here.
12218 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12219 always_ld_library_path. Set LD_LIBRARY_PATH here.
12220 * testsuite/libgomp.fortran/fortran.exp: Ditto.
12221 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12222 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12223 CX8 flag.
12224 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12225 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12226 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12227 * testsuite/libgomp.c/pr29947-1.c: Ditto.
12228 * testsuite/libgomp.c/atomic-10.c: Ditto.
12229
2ada56f5
JJ
122302007-03-21 Jakub Jelinek <jakub@redhat.com>
12231
12232 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12233 dg-final cleanup-modules line.
12234 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12235 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12236 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12237 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12238 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12239 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12240 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12241
f210f1cd
AS
122422007-03-18 Andreas Schwab <schwab@suse.de>
12243
12244 * acinclude.m4: Adjust regular expression for ld version
12245 extraction.
12246 * configure: Regenerate.
12247
c4dc950d
BM
122482007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
12249
12250 * Makefile.am: Add install-pdf target as copied from
12251 automake v1.10 rules.
12252 * Makefile.in: Regenerate
12253
e02a048f
JJ
122542007-02-07 Jakub Jelinek <jakub@redhat.com>
12255
78e075d4
JJ
12256 PR libgomp/28486
12257 * configure: Regenerate.
12258
e02a048f
JJ
12259 PR c++/30703
12260 * testsuite/libgomp.c++/pr30703.C: New test.
12261
60def7ed
JJ
122622007-02-02 Jakub Jelinek <jakub@redhat.com>
12263
12264 Revert:
12265 2006-07-05 Eric Christopher <echristo@apple.com>
12266 * configure.ac: Depend addition of -pthread on host OS.
12267 * configure: Regenerate.
12268
f1b0882e
RW
122692007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12270
12271 * libgomp.texi: Fix spacing after abbreviations.
12272
748b9d7c
DF
122732007-01-31 Daniel Franke <franke.daniel@gmail.com>
12274
12275 PR libgomp/30546
12276 * configure.ac: Add check for makeinfo
12277 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 12278 if an appropriate version of makeinfo is found.
748b9d7c
DF
12279 * aclocal.m4: Regenerated.
12280 * configure: Regenerated.
12281 * Makefile.in: Regenerated.
12282 * testsuite/Makefile.in: Regenerated.
12283
14734fc7
DF
122842007-01-29 Daniel Franke <franke.daniel@gmail.com>
12285
12286 PR libgomp/30540
12287 * libgomp.texi: More about implementation-dependent settings.
12288
7befd5d2
TB
122892007-01-26 Tobias Burnus <burnus@net-b.de>
12290
12291 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12292
4288fea2
JJ
122932007-01-24 Jakub Jelinek <jakub@redhat.com>
12294
12295 PR middle-end/30494
12296 * testsuite/libgomp.c/pr30494.c: New test.
12297
627ab4b8
TT
122982007-01-15 Tom Tromey <tromey@redhat.com>
12299
12300 * configure: Rebuilt.
12301 * configure.ac: Fixed comment.
12302
7c2b7f45
DF
123032007-01-14 Daniel Franke <franke.daniel@gmail.com>
12304
12305 * libgomp.texi: Document implementation specific default values of
12306 environment variables.
12307
3721b9e1
DF
123082006-12-21 Daniel Franke <franke.daniel@gmail.com>
12309
12310 PR libgomp/28209
12311 * libgomp.texi: New file.
12312 * configure.ac: Add --enable-generated-files-in-srcdir option.
12313 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12314 files to srcdir.
12315 * Makefile.in: Regenerated.
12316 * config.h.in: Regenerated.
12317 * testsuite/Makefile.in: Regenerated.
12318 * NOTES: Removed.
12319
62bd6216
DF
123202006-12-04 Daniel Franke <franke.daniel@gmail.com>
12321
12322 PR libgomp/29949
12323 * env.c (omp_set_num_threads): Set illegal thread count to 1.
12324
aad741f4
EB
123252006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
12326
12327 * configure: Regenerate.
12328
22568cc6
JJ
123292006-12-04 Jakub Jelinek <jakub@redhat.com>
12330
12331 PR libgomp/29947
12332 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
12333 start if there shouldn't be any loop iterations.
12334 (gomp_loop_ordered_static_start): Remove start == end test.
12335 * testsuite/libgomp.c/pr29947-1.c: New test.
12336 * testsuite/libgomp.c/pr29947-2.c: New test.
12337
a9690009
EB
123382006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12339
12340 * configure.tgt: Force initial-exec TLS model on Linux only.
12341
597c25e6
DJ
123422006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
12343
12344 * configure: Regenerated.
12345
6acf0b38
UB
123462006-11-09 Uros Bizjak <ubizjak@gmail.com>
12347
12348 * env.c (parse_schedule): Reject out of range values.
12349 (parse_unsigned_long): Reject out of range, negative or zero values.
12350
a7a53ca5
JJ
123512006-10-29 Jakub Jelinek <jakub@redhat.com>
12352
12353 PR fortran/29629
12354 * testsuite/libgomp.fortran/pr29629.f90: New test.
12355
6d4d216a
EB
123562006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
12357
12358 PR libgomp/29494
12359 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12360 * config/posix95: New directory.
12361 * config/posix95/omp-lock.h: New file.
12362 * config/posix95/lock.c: Likewise.
12363
5b043f08
GK
123642006-10-14 Geoffrey Keating <geoffk@apple.com>
12365
12366 * aclocal.m4: Regenerate.
12367 * configure: Regenerate.
12368
b50019f0
DS
123692006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12370
12371 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12372 '<' to '<='.
12373
8887708e
DS
123742006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12375
12376 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12377 test.
12378 * configure: Regenerate.
12379 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12380
9b9e4cd6
JJ
123812006-09-26 Jakub Jelinek <jakub@redhat.com>
12382
a70ad3bb
JJ
12383 PR middle-end/25261
12384 PR middle-end/28790
12385 * testsuite/libgomp.c/nestedfn-4.c: New test.
12386 * testsuite/libgomp.c/nestedfn-5.c: New test.
12387 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12388
9b9e4cd6
JJ
12389 PR fortran/29097
12390 * testsuite/libgomp.fortran/condinc1.f: New test.
12391 * testsuite/libgomp.fortran/condinc2.f: New test.
12392 * testsuite/libgomp.fortran/condinc3.f90: New test.
12393 * testsuite/libgomp.fortran/condinc4.f90: New test.
12394 * testsuite/libgomp.fortran/condinc1.inc: New file.
12395
2fb31455
TT
123962006-09-18 Tom Tromey <tromey@redhat.com>
12397
12398 * configure: Rebuilt.
12399
c663e301
JM
124002006-09-13 Joseph S. Myers <joseph@codesourcery.com>
12401
12402 PR c/28768
12403 PR preprocessor/14634
12404 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12405 to AC_DEFINE.
12406 * configure: Regenerate.
12407
38371be9
SK
124082006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
12409
12410 * testsuite/libgomp.fortran/reduction3.f90: Change
12411 -2147483648 to -huge(i)-1 to avoid overflow.
12412 * testsuite/libgomp.fortran/reduction4.f90: Change
12413 Z'ffffffff' to not(0) to avoid overflow.
12414
571d5ac5
JM
124152006-08-26 Joseph S. Myers <joseph@codesourcery.com>
12416
12417 PR libgomp/25938
12418 * Makefile.am (libsubincludedir): New.
12419 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12420 * Makefile.in: Regenerate.
12421
89b3e3cd
JJ
124222006-08-17 Jakub Jelinek <jakub@redhat.com>
12423
12424 PR libgomp/28725
12425 * env.c: Include ctype.h.
12426 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12427 leading and/or trailing whitespace and compare strings case
12428 insensitively.
12429
742fae05
JJ
124302006-07-16 Jakub Jelinek <jakub@redhat.com>
12431
12432 PR fortran/28390
12433 * testsuite/libgomp.fortran/pr28390.f: New test.
12434
a1daed2d
EC
124352006-07-05 Eric Christopher <echristo@apple.com>
12436
12437 * configure.ac: Depend addition of -pthread on host OS.
12438 * configure: Regenerate.
12439
5d7b5199
JJ
124402006-06-21 Jakub Jelinek <jakub@redhat.com>
12441
12442 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12443 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12444 defined.
12445
fe5568e9
JJ
124462006-06-20 Jakub Jelinek <jakub@redhat.com>
12447
12448 PR libgomp/26175
12449 PR libgomp/26477
12450 * configure.ac: If neither --enable-linux-futex nor
12451 --disable-linux-futex is passed, determine the default by checking
12452 for compiling and/or running against NPTL. With --enable-linux-futex,
12453 check if SYS_gettid and SYS_futex are defined.
12454 * configure: Rebuilt.
12455
c3b11a40
RH
124562006-06-14 Richard Henderson <rth@redhat.com>
12457
12458 PR libgomp/28008
12459 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12460 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12461
d0d1b24d
RH
124622006-06-09 Richard Henderson <rth@redhat.com>
12463
12464 * env.c (gomp_nthreads_var): Change to unsigned long.
12465 (gomp_run_sched_chunk): Likewise.
12466 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12467 (initialize_env): Initialize gomp_thread_attr.
12468 * libgomp.h (gomp_nthreads_var): Update decl.
12469 (gomp_run_sched_chunk): Likewise.
12470 (gomp_thread_attr): Declare.
12471 * team.c (gomp_thread_attr): Export.
12472 (initialize_team): Don't initialize it.
12473
cd75853e
JJ
124742006-06-09 Jakub Jelinek <jakub@redhat.com>
12475
12476 PR fortran/27916
12477 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12478 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12479
33815e0c
FXC
124802006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12481
12482 * config/mingw32/time.c: New file.
12483 * configure.tgt: Use it.
12484
6667de0d
CD
124852006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12486
12487 * Makefile.am: Add install-html target. Add install-html to .PHONY
12488 * Makefile.in: Regenerate.
12489
e962c46b
JDA
124902006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12491
12492 PR libgomp/27612
12493 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12494 * testsuite/libgomp.c/critical-1.c: Likewise.
12495 * testsuite/libgomp.c/loop-1.c: Likewise.
12496 * testsuite/libgomp.c/loop-2.c: Likewise.
12497 * testsuite/libgomp.c/single-1.c: Likewise.
12498 * testsuite/libgomp.c/ordered-1.c: Likewise.
12499 * testsuite/libgomp.c/ordered-2.c: Likewise.
12500
eeb1d9e0
JJ
125012006-05-15 Jakub Jelinek <jakub@redhat.com>
12502
12503 PR middle-end/27416
12504 * libgomp.fortran/pr27416-1.f90: New test.
12505
693d710f
JJ
125062006-05-03 Jakub Jelinek <jakub@redhat.com>
12507
12508 PR fortran/27395
12509 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12510 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12511
8ca5b2a2
JJ
125122006-05-02 Jakub Jelinek <jakub@redhat.com>
12513
12514 PR c++/26943
12515 * testsuite/libgomp.c/pr26943-1.c: New test.
12516 * testsuite/libgomp.c/pr26943-2.c: New test.
12517 * testsuite/libgomp.c/pr26943-3.c: New test.
12518 * testsuite/libgomp.c/pr26943-4.c: New test.
12519 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12520 * testsuite/libgomp.c++/pr26943.C: New test.
12521
077b0dfb
JJ
125222006-05-02 Jakub Jelinek <jakub@redhat.com>
12523
12524 PR middle-end/27337
12525 * testsuite/libgomp.c++/pr27337.C: New test.
12526
91b6c26d
JJ
125272006-04-26 Jakub Jelinek <jakub@redhat.com>
12528
12529 PR c/26171
12530 * testsuite/libgomp.c/pr26171.c: New test.
12531
60e1758f
RH
125322006-04-25 Richard Henderson <rth@redhat.com>
12533
12534 PR libgomp/25865
12535 * configure.ac: Use GCC_CHECK_TLS.
12536 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12537 * Makefile.in, aclocal.m4, configure: Regenerate.
12538
615baed7
MK
125392006-04-10 Matthias Klose <doko@debian.org>
12540
12541 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12542 directory names containing underscores.
12543
fae2b46b
JJ
125442006-03-21 Jakub Jelinek <jakub@redhat.com>
12545
12546 PR c++/26691
12547 * testsuite/libgomp.c++/pr26691.C: New test.
12548
11a5f608
JJ
125492006-03-13 Jakub Jelinek <jakub@redhat.com>
12550
12551 * testsuite/libgomp.fortran/retval2.f90: New test.
12552
1799e5d5
RH
125532006-03-09 Diego Novillo <dnovillo@redhat.com>
12554
12555 * testsuite/libgomp.c++: New directory.
12556
d349482e
AT
125572006-02-25 Shantonu Sen <ssen@opendarwin.org>
12558
12559 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12560 * config/posix/sem.c: Implement the above.
12561
125622006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12563
12564 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12565 define HAVE_BROKEN_POSIX_SEMAPHORES.
12566 * configure: Rebuilt.
12567 * config.h.in: Rebuilt.
12568
124452c9
FXC
125692006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12570
12571 PR bootstrap/26161
12572 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12573 for the other pthread check.
12574 * configure: Regenerate.
12575 * config.h.in: Regenerate.
12576
dd8d6dfe
JJ
125772006-02-15 Jakub Jelinek <jakub@redhat.com>
12578
12579 PR libgomp/25938
12580 PR libgomp/25984
12581 * Makefile.am (fincludedir): New variable.
12582 (nodist_include_HEADERS): Remove Fortran files.
12583 (nodist_finclude_HEADERS): New variable.
12584 * Makefile.in: Regenerated.
12585
6c7a4dfd
JJ
125862006-02-13 Jakub Jelinek <jakub@redhat.com>
12587
12588 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12589 Remove tests for returning assumed character length arrays.
12590
5142e08b
RS
125912006-02-12 Roger Sayle <roger@eyesopen.com>
12592 John David Anglin <dave@hiauly1.hia.nrc.ca>
12593
12594 PR libgomp/25936
12595 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 12596
5821fba8
UW
125972006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12598
12599 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12600
cb2bbc67
EB
126012006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12602
12603 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12604 part of LD_LIBRARY_PATH manually.
12605
f05ee80c
L
126062006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12607
12608 PR libgomp/25852
12609 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12610 libgomp_init.
12611
03b8fe49
PB
126122005-01-25 Paolo Bonzini <bonzini@gnu.org>
12613
12614 PR libgomp/25884
f05ee80c
L
12615 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12616 * configure.ac (PERL): Don't set.
12617 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12618 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12619 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12620 * omp.h.in: Wrap the new configure substitutions with @ characters.
12621 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12622 * aclocal.m4, configure, Makefile.in: Regenerate.
12623 * mkomp_h.pl: Delete.
03b8fe49 12624
18cbfd85
PB
126252005-01-24 Paolo Bonzini <bonzini@gnu.org>
12626
12627 PR libgomp/25259
12628 * configure.ac: Use GCC_HEADER_STDINT.
12629 * libgomp.h: Include gstdint.h.
12630 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12631 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12632
c41303c6
RH
126332006-01-24 Richard Henderson <rth@redhat.com>
12634
12635 PR libgomp/25942
12636 * configure.ac: Add AM_MAINTAINER_MODE.
12637 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12638
149b9553
DN
126392006-01-24 Diego Novillo <dnovillo@redhat.com>
12640
12641 * Makefile.in: Regenerate.
12642 * testsuite/Makefile.in: Regenerate.
12643 * aclocal.m4: Regenerate.
12644
192a50ad
AT
126452006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12646
12647 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12648 Solaris.
12649 * configure.ac: Add check for loadavg.h.
12650 (link_gomp): Adjust comment.
12651 * configure: Regenerate.
12652 * config.h.in: Regenerate.
12653
a55b8e18
SE
126542006-01-21 Steve Ellcey <sje@cup.hp.com>
12655
12656 PR libgomp/25877
12657 * configure.ac: Remove check for alloca.h.
12658 * configure: Regenerate.
12659 * config.h.in: Regenerate.
12660 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12661 * team.c: Remove use of alloca.h.
12662 Call gomp_alloca instead of alloca.
12663
692eeb34
SE
126642006-01-20 Steve Ellcey <sje@cup.hp.com>
12665
12666 PR libgomp/25877
12667 * team.c: Add include of alloca.h.
12668 * configure.ac: Add check for alloca.h.
12669 * configure: Regenerate.
12670 * config.h.in: Regenerate.
12671
953ff289
DN
126722006-01-17 Jakub Jelinek <jakub@redhat.com>
12673
12674 PR fortran/25219
12675 * testsuite/libgomp.fortran/pr25219.f90: New test.
12676
126772005-12-05 Uros Bizjak <uros@kss-loka.si>
12678
12679 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12680 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12681 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12682 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12683 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12684 testsuite/libgomp.fortran/threadprivate1.f90,
12685 testsuite/libgomp.fortran/threadprivate2.f90,
12686 testsuite/libgomp.fortran/threadprivate3.f90,
12687 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12688 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12689 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12690 effective-target to TLS runtime.
12691
12692 * testsuite/libgomp.fortran/pr25162.f: Require
12693 effective-target TLS runtime.
12694
126952005-12-01 Jakub Jelinek <jakub@redhat.com>
12696
12697 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12698 * testsuite/libgomp.c/nestedfn-3.c: New test.
12699
127002005-11-30 Jakub Jelinek <jakub@redhat.com>
12701
12702 PR fortran/25162
12703 * testsuite/libgomp.fortran/pr25162.f: New test.
12704
127052005-11-28 Jakub Jelinek <jakub@redhat.com>
12706
12707 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12708 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12709
127102005-11-25 Jakub Jelinek <jakub@redhat.com>
12711
12712 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12713 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12714 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12715 single.c, team.c, work.c, config/linux/alpha/futex.h,
12716 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12717 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12718 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12719 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12720 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12721 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12722 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12723 FSF address.
12724
127252005-11-18 Jakub Jelinek <jakub@redhat.com>
12726
12727 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12728 to nodist_noinst_HEADERS.
12729 * Makefile.in: Rebuilt.
12730
12731 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12732 add integer count field.
12733 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12734 omp_nest_lock_t type change.
12735 (omp_init_nest_lock): Likewise. Initialize count to 0.
12736 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12737 Increment count.
12738 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12739 Decrement count.
12740 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12741 Increment count if successful and return the new nesting level.
12742 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12743 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12744 * testsuite/libgomp.c/lib-1.c: New test.
12745 * testsuite/libgomp.fortran/lib1.f90: New test.
12746 * testsuite/libgomp.fortran/lib2.f: New test.
12747 * testsuite/libgomp.fortran/lib3.f: New test.
12748
127492005-11-17 Richard Henderson <rth@redhat.com>
12750
12751 PR 24845
12752 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12753 * configure.ac (link_gomp): New. Substitute it.
12754 (AC_CONFIG_FILES): Add libgomp.spec.
12755 * libgomp.spec.in: New file.
12756 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12757 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12758
127592005-11-18 Jakub Jelinek <jakub@redhat.com>
12760
12761 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12762 reduction(-:var) behaving the same as reduction(+:var).
12763 * testsuite/libgomp.c/reduction-4.c: New test.
12764
127652005-11-15 Uros Bizjak <uros@kss-loka.si>
12766
12767 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12768 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12769 testsuite/libgomp.c/copyin-3.c,
12770 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12771 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12772 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12773 testsuite/libgomp.c++/pr24455.C,
12774 testsuite/libgomp.fortran/threadprivate1.f90,
12775 testsuite/libgomp.fortran/threadprivate2.f90,
12776 testsuite/libgomp.fortran/threadprivate3.f90,
12777 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12778 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12779 testsuite/libgomp.fortran/omp_parse3.f90: Require
12780 effective-target TLS.
12781
127822005-11-14 Diego Novillo <dnovillo@redhat.com>
12783
12784 * HEADER: Remove.
12785
127862005-11-13 Jakub Jelinek <jakub@redhat.com>
12787
12788 PR libgomp/24797
12789 * team.c (initialize_team): Pass NULL rather than free as
12790 pthread_key_create destructor. Initialize thread specific data
12791 pointer in initial thread to a static local variable rather than
12792 malloced memory.
12793
127942005-11-11 Uros Bizjak <uros@kss-loka.si>
12795
12796 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12797 its location to ld_library_path.
12798
127992005-11-10 Diego Novillo <dnovillo@redhat.com>
12800
12801 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12802
128032005-11-10 Diego Novillo <dnovillo@redhat.com>
12804
12805 * testsuite/libgomp.c: Rename from libgomp.dg.
12806
128072005-11-09 Diego Novillo <dnovillo@redhat.com>
12808
12809 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12810 threadprivate variable 'i'.
12811
128122005-11-09 Jakub Jelinek <jakub@redhat.com>
12813
12814 * config/linux/s390/futex.h: New file.
12815 * configure.tgt: Use it.
12816
12817 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12818 before the parallel.
12819
128202005-11-08 Jakub Jelinek <jakub@redhat.com>
12821
12822 PR c++/24734
12823 * testsuite/libgomp.c++/master-1.C: New test.
12824
128252005-11-07 Jakub Jelinek <jakub@redhat.com>
12826
12827 * testsuite/libgomp.dg/copyin-3.c: New test.
12828
128292005-11-07 Jakub Jelinek <jakub@redhat.com>
12830
12831 * testsuite/libgomp.fortran/retval1.f90: New test.
12832 * testsuite/libgomp.fortran/vla7.f90: New test.
12833
128342005-11-06 Jakub Jelinek <jakub@redhat.com>
12835
12836 * testsuite/libgomp.fortran/vla2.f90: New test.
12837 * testsuite/libgomp.fortran/vla3.f90: New test.
12838 * testsuite/libgomp.fortran/vla4.f90: New test.
12839 * testsuite/libgomp.fortran/vla5.f90: New test.
12840 * testsuite/libgomp.fortran/vla6.f90: New test.
12841
128422005-11-01 Jakub Jelinek <jakub@redhat.com>
12843
12844 * config/linux/sparc/futex.h: New file.
12845 * configure.tgt: Use it.
12846 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12847
12848 * critical.c: Include stdlib.h.
12849 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12850 ignoring return value.
12851 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12852 LIBGOMP_CHECK_SYNC_BUILTINS check.
12853 * configure: Rebuilt.
12854
128552005-10-31 Jakub Jelinek <jakub@redhat.com>
12856
12857 * testsuite/libgomp.fortran/vla1.f90: New test.
12858
128592005-10-31 Richard Henderson <rth@redhat.com>
12860
12861 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12862 setting 's' in different threads.
12863
128642005-10-31 Jakub Jelinek <jakub@redhat.com>
12865
12866 * libgomp.h (attribute_hidden, ialias): Define.
12867 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12868 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12869 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12870 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12871 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12872 omp_test_lock, omp_test_nest_lock): Likewise.
12873 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12874 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12875 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12876 omp_test_lock, omp_test_nest_lock): Likewise.
12877 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12878 omp_get_dynamic, omp_get_nested): Likewise.
12879 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12880 omp_get_thread_num, omp_in_parallel): Likewise.
12881 * fortran.c (ialias_redirect): Define.
12882 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12883 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12884 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12885 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12886 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12887 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12888 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12889 omp_get_wtime): Add ialias_redirect.
12890
128912005-10-30 Jakub Jelinek <jakub@redhat.com>
12892
12893 * fortran.c: Include stdlib.h.
12894
128952005-10-29 Jakub Jelinek <jakub@redhat.com>
12896
12897 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12898 * Makefile.in: Regenerated.
12899
129002005-10-28 Jakub Jelinek <jakub@redhat.com>
12901
12902 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12903 * libgomp_f.h.in (omp_check_defines): New function.
12904 * env.c: Include libgomp_f.h.
12905 (initialize_env): Call omp_check_defines.
12906
12907 * testsuite/libgomp.dg/copyin-2.c: New test.
12908 * testsuite/libgomp.c++/copyin-2.C: New test.
12909 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12910
12911 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12912 * testsuite/libgomp.fortran/sharing2.f90: New test.
12913
12914 * testsuite/libgomp.dg/copyin-1.c: New test.
12915 * testsuite/libgomp.c++/copyin-1.C: New test.
12916
129172005-10-26 Jakub Jelinek <jakub@redhat.com>
12918
12919 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12920
12921 * testsuite/libgomp.fortran/workshare1.f90: New test.
12922
12923 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12924 only test.
12925 * libgomp.fortran/sharing1.f90: New test.
12926
129272005-10-24 Jakub Jelinek <jakub@redhat.com>
12928
12929 PR c++/24502
12930 * testsuite/libgomp.c++/loop-7.C: New test.
12931
12932 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12933
12934 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12935 * testsuite/libgomp.fortran/reduction6.f90: New test.
12936 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12937
129382005-10-23 Richard Henderson <rth@redhat.com>
12939
12940 * testsuite/libgomp.c++/ctor-1.C: New.
12941 * testsuite/libgomp.c++/ctor-2.C: New.
12942 * testsuite/libgomp.c++/ctor-3.C: New.
12943 * testsuite/libgomp.c++/ctor-4.C: New.
12944 * testsuite/libgomp.c++/ctor-5.C: New.
12945 * testsuite/libgomp.c++/ctor-6.C: New.
12946 * testsuite/libgomp.c++/ctor-7.C: New.
12947 * testsuite/libgomp.c++/ctor-8.C: New.
12948 * testsuite/libgomp.c++/ctor-9.C: New.
12949
129502005-10-21 Diego Novillo <dnovillo@redhat.com>
12951
12952 PR 24455
12953 * testsuite/libgomp.c++/pr24455-1.C: New test.
12954 * testsuite/libgomp.c++/pr24455.C: New test.
12955 * testsuite/libgomp.dg/pr24455-1.c: New test.
12956 * testsuite/libgomp.dg/pr24455.c: New test.
12957
129582005-10-20 Richard Henderson <rth@redhat.com>
12959
12960 * testsuite/libgomp.c++/loop-6.C: New.
12961 * testsuite/libgomp.dg/loop-3.c: New.
12962
129632005-10-20 Jakub Jelinek <jakub@redhat.com>
12964
12965 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12966 explicitly private.
12967 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12968 explicitly shared.
12969
129702005-10-19 Diego Novillo <dnovillo@redhat.com>
12971
12972 * testsuite/libgomp.fortran/jacobi.f: New test.
12973
129742005-10-19 Richard Henderson <rth@redhat.com>
12975
12976 * configure.tgt (i?86-linux): Default to with_arch instead of
12977 CFLAGS. Add -mtune to match target_cpu.
12978 (x86_64-linux): Tune to i686.
12979
12980 * fortran.c (omp_test_nest_lock_): Fix typo.
12981
129822005-10-19 Jakub Jelinek <jakub@redhat.com>
12983
12984 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12985 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12986 * testsuite/libgomp.dg/ordered-3.c: New test.
12987
12988 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12989 Remove volatile keyword.
12990
12991 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12992 in COMMON block to avoid warnings on 64-bit targets.
12993
129942005-10-18 Diego Novillo <dnovillo@redhat.com>
12995
12996 * testsuite/libgomp.dg/shared-3.c: New test.
12997
129982005-10-18 Jakub Jelinek <jakub@redhat.com>
12999
13000 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13001 * testsuite/libgomp.fortran/reduction5.f90: New test.
13002
130032005-10-18 Jakub Jelinek <jakub@redhat.com>
13004
13005 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13006 dg-options.
13007 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13008 flush loop now that __sync_synchronize has proper memory barrier.
13009 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13010 Add -ffixed-form to dg-options.
13011
130122005-10-17 Diego Novillo <dnovillo@redhat.com>
13013
13014 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13015 from subdirectories.
13016 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13017 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13018 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13019 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13020 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13021 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13022 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13023 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13024 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13025 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13026 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13027 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13028 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13029 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13030 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13031 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13032 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13033 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13034 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13035 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13036 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13037 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13038 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13039 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13040 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13041
130422005-10-17 Jakub Jelinek <jakub@redhat.com>
13043
13044 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13045 lang_library_path exists. Use find instead of glob to gather tests.
13046 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13047
130482005-10-17 Diego Novillo <dnovillo@redhat.com>
13049
13050 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13051 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13052 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13053 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13054 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13055 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13056 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13057 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13058 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13059 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13060 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13061 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13062 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13063
130642005-10-15 Jakub Jelinek <jakub@redhat.com>
13065
13066 * testsuite/libgomp.dg/vla-1.c: New test.
13067
13068 * testsuite/libgomp.fortran/reference2.f90: New test.
13069
13070 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13071 declaration of omp_get_thread_num.
13072 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13073 use omp_lib.
13074
13075 * testsuite/libgomp.fortran/reduction1.f90: New test.
13076 * testsuite/libgomp.fortran/reduction2.f90: New test.
13077 * testsuite/libgomp.fortran/reduction3.f90: New test.
13078 * testsuite/libgomp.fortran/reduction4.f90: New test.
13079
130802005-10-13 Richard Henderson <rth@redhat.com>
13081
13082 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13083 * Makefile.in: Regenerate.
13084 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13085 * libgomp.h: Include bar.h.
13086 (struct gomp_barrier): Remove.
13087 (struct gomp_team): Add barrier. Replace master_barrier with
13088 master_release. Replace threads with ordered_release.
13089 (struct gomp_thread): Replace barrier with release.
13090 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13091 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13092 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13093 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13094 (GOMP_single_copy_end): Likewise.
13095 * team.c (gomp_threads_dock): New.
13096 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13097 (gomp_thread_start): Use gomp_barrier_wait.
13098 (new_team, free_team): Update for gomp_team changes.
13099 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13100 (gomp_team_end): Use gomp_barrier_wait.
13101 (initialize_team): Update for gomp_thread changes.
13102 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13103 (gomp_work_share_end_nowait): Use atomic ops when available.
13104 * config/linux/bar.c, config/linux/bar.h: New files.
13105 * config/posix/bar.c, config/posix/bar.h: New files.
13106
131072005-10-13 Jakub Jelinek <jakub@redhat.com>
13108
13109 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13110 * testsuite/libgomp.dg/single-2.c: New test.
13111
13112 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13113 lang_link_flags): Unset, so that they aren't inherited from previously
13114 sourced *.exp.
13115
13116 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13117
131182005-10-12 Richard Henderson <rth@redhat.com>
13119
13120 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13121 (libgomp_init): Use lang_test_file, lang_library_path, and
13122 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13123
13124 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13125 (lang_test_file, lang_link_flags): New.
13126 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13127
13128 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13129 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13130 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13131 testsuite/libgomp.c++/parallel-1.C,
13132 testsuite/libgomp.c++/reduction-1.C,
13133 testsuite/libgomp.c++/reduction-2.C,
13134 testsuite/libgomp.c++/reduction-3.C,
13135 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13136 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13137 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13138 New files, largely cribbed from the C testsuite.
13139
131402005-10-12 Jakub Jelinek <jakub@redhat.com>
13141
13142 * testsuite/libgomp.fortran/character1.f90: New test.
13143 * testsuite/libgomp.fortran/character2.f90: New test.
13144
13145 * testsuite/libgomp.dg/nested-1.c: New test.
13146 * testsuite/libgomp.dg/nested-2.c: New test.
13147 * testsuite/libgomp.fortran/do1.f90: New test.
13148 * testsuite/libgomp.fortran/do2.f90: New test.
13149
13150 * testsuite/libgomp.fortran/reference1.f90: New test.
13151
131522005-10-11 Jakub Jelinek <jakub@redhat.com>
13153
13154 * testsuite/libgomp.dg/reduction-1.c: New test.
13155 * testsuite/libgomp.dg/reduction-2.c: New test.
13156 * testsuite/libgomp.dg/reduction-3.c: New test.
13157
131582005-10-10 Jakub Jelinek <jakub@redhat.com>
13159
13160 * testsuite/libgomp.dg/atomic-1.c: New test.
13161 * testsuite/libgomp.dg/atomic-2.c: New test.
13162
131632005-10-09 Richard Henderson <rth@redhat.com>
13164
13165 * critical.c (atomic_lock): New.
13166 (initialize_critical): Initialize it.
13167 (GOMP_atomic_start, GOMP_atomic_end): New.
13168 * libgomp.map: Export them.
13169 * libgomp_g.h: Declare them.
13170
13171 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13172
131732005-10-02 Richard Henderson <rth@redhat.com>
13174
13175 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13176 to XCFLAGS instead of CFLAGS.
13177
131782005-09-30 Richard Henderson <rth@redhat.com>
13179
13180 * configure.ac: Determine whether -pthread or -lpthread is needed.
13181 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 13182 * Makefile.in, configure: Rebuild.
953ff289
DN
13183
131842005-09-28 Richard Henderson <rth@redhat.com>
13185
13186 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13187 * testsuite/libgomp.dg/omp-single-3.c: New test.
13188
131892005-09-28 Diego Novillo <dnovillo@redhat.com>
13190
13191 * testsuite/libgomp.dg/omp-single-2.c: New test.
13192 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13193
131942005-09-27 Richard Henderson <rth@redhat.com>
13195
13196 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13197 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13198
131992005-09-27 Jakub Jelinek <jakub@redhat.com>
13200
13201 * testsuite/libgomp.dg/omp-loop03.c: New test.
13202
132032005-09-27 Diego Novillo <dnovillo@redhat.com>
13204
13205 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13206
132072005-09-27 Diego Novillo <dnovillo@redhat.com>
13208
13209 * testsuite/libgomp.dg/omp-single-1.c: New test.
13210 * testsuite/libgomp.dg/shared-1.c: Return 0.
13211 Add prototype for abort.
13212 * testsuite/libgomp.dg/shared-2.c: Likewise.
13213
132142005-09-26 Jakub Jelinek <jakub@redhat.com>
13215
13216 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13217 constructs.
13218
132192005-09-26 Diego Novillo <dnovillo@redhat.com>
13220
13221 * testsuite/libgomp.dg/shared-1.c: New test.
13222 * testsuite/libgomp.dg/shared-2.c: New test.
13223
132242005-09-24 Richard Henderson <rth@redhat.com>
13225
13226 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13227
132282005-09-24 Richard Henderson <rth@redhat.com>
13229
13230 * iter.c (gomp_iter_static_next): Round up when computing number
13231 of iterations. Don't bother distributing a remainder equally.
13232
13233 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13234 Don't call srand. Zero b before testing.
13235 (main): New.
13236
132372005-09-24 Jakub Jelinek <jakub@redhat.com>
13238
13239 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13240 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13241
132422005-09-23 Jakub Jelinek <jakub@redhat.com>
13243
13244 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13245 without !$omp end do, followed immediately by subroutine end.
13246
132472005-09-23 Diego Novillo <dnovillo@redhat.com>
13248
13249 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13250
132512005-09-22 Richard Henderson <rth@redhat.com>
13252
13253 * critical.c (GOMP_critical_name_start): Change argument to void**.
13254 Reuse the pointer space if the mutex fits.
13255 (GOMP_critical_name_end): Likewise.
13256 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13257 * libgomp_g.h (GOMP_critical_name_start): Update decl.
13258 (GOMP_critical_name_end): Likewise.
13259 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13260 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13261
132622005-09-20 Richard Henderson <rth@redhat.com>
13263
13264 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13265 (create_lock_lock): New.
13266 (initialize_critical): Initialize it.
13267 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13268 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13269
132702005-09-20 Diego Novillo <dnovillo@redhat.com>
13271
13272 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13273
132742005-09-20 Diego Novillo <dnovillo@redhat.com>
13275
13276 * testsuite/libgomp.dg/omp-loop01.c: New test.
13277 * testsuite/libgomp.dg/omp-loop02.c: New test.
13278
132792005-09-20 Jakub Jelinek <jakub@redhat.com>
13280
13281 * configure.ac (AC_PROG_FC): Add.
13282 (USE_FORTRAN): New automake conditional.
13283 * configure: Rebuilt.
13284 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13285 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13286 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13287 Add rules to build them.
13288 * Makefile.in: Rebuilt.
13289 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13290 OMP_NEST_LOCK_KIND.
13291 * libgomp.map: Add Fortran wrappers.
13292 * libgomp_f.h.in: New file.
13293 * omp_lib.h.in: New file.
13294 * omp_lib.f90.in: New file.
13295 * fortran.c: New file.
13296 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13297 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13298 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13299 libgfortran has been built.
13300 * testsuite/libgomp.fortran/fortran.exp: New file.
13301 * testsuite/libgomp.fortran/omp_cond1.f: New test.
13302 * testsuite/libgomp.fortran/omp_cond2.f: New test.
13303 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13304 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13305 * testsuite/libgomp.fortran/omp_hello.f: New test.
13306 * testsuite/libgomp.fortran/omp_orphan.f: New test.
13307 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13308 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13309 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13310 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13311 * testsuite/libgomp.fortran/omp_reduction.f: New test.
13312 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13313 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13314
133152005-08-30 Richard Henderson <rth@redhat.com>
13316
13317 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13318 function for when aliases are not usable.
13319 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13320 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13321 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13322 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13323 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13324 GOMP_loop_ordered_guided_next): Likewise.
13325 * ordered.c (GOMP_ordered_start): Likewise.
13326
133272005-08-01 Diego Novillo <dnovillo@redhat.com>
13328
13329 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13330 * testsuite/libgomp.dg/omp_hello.c: Fix return code
13331 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13332 * testsuite/libgomp.dg/omp_orphan.c: Likewise
13333 * testsuite/libgomp.dg/omp_reduction.c: Likewise
13334 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13335 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13336 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13337 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13338
133392005-07-07 Eric Christopher <echristo@redhat.com>
13340 Diego Novillo <dnovillo@redhat.com>
13341
13342 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13343 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13344 up code.
13345 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13346 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13347 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13348 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13349 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13350 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13351 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13352
133532005-06-13 Diego Novillo <dnovillo@redhat.com>
13354
13355 * TOPLEVEL.patch: Remove.
13356
133572005-05-16 Richard Henderson <rth@redhat.com>
13358
13359 * configure.ac: Test for clock_gettime.
13360 * config.h.in, configure: Rebuild.
13361 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13362 (omp_get_wtime): Use clock_gettime if available.
13363 (omp_get_wtick): Use clock_getres if available.
13364
133652005-05-11 Richard Henderson <rth@redhat.com>
13366
13367 * config/linux/ia64/futex.h: New file.
13368 * configure.tgt: Use it.
13369
13370 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13371
133722005-05-07 Richard Henderson <rth@redhat.com>
13373
13374 * config/linux/powerpc/futex.h: New file.
13375 * configure.tgt: Use it.
13376
13377 * config/linux/i486/futex.h: Merge ...
13378 * config/linux/x86_64/futex.h: ... into ...
13379 * config/linux/x86/futex.h: ... here.
13380 * configure.tgt: Update to match.
13381
133822005-05-06 Richard Henderson <rth@redhat.com>
13383
13384 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13385 * config/linux/i486/futex.h: Likewise.
13386 * config/linux/x86_64/futex.h: Likewise.
13387
13388 * config/linux/lock.c: New file.
13389 * config/linux/omp-lock.h: New file.
13390
13391 * critical.c, env.h: Don't include omp.h
13392 * config/posix/lock.c: Include libgomp.h instead of omp.h.
13393 * config/posix/time.c: Likewise.
13394 * config/posix/omp-lock.h: New file.
13395 * libgomp.h: Include omp-lock.h and omp.h.
13396 * Makefile.am (nodist_include_HEADERS): New.
13397 (omp.h): New rule.
13398 * configure.ac (PERL): New.
13399 * mkomp_h.pl: New file.
13400 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13401 with templates.
13402 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13403
13404 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13405 build directory. Re-add -march=i486 hack.
13406
13407 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13408 (libgomp_link_flags): Remove.
13409 (libgomp_initialized): Remove.
13410 (libgomp_init): Don't protect from reinitialization. Copy code
13411 from libstdc++ for getting the multilib set correctly.
13412
134132005-05-05 Richard Henderson <rth@redhat.com>
13414
13415 * config/linux/alpha/futex.h: New file.
13416 * configure.tgt (alpha*-*-linux*): Use it.
13417
13418 * config/posix/mutex.c: New file.
13419 * config/posix/sem.c: Use libgomp.h.
13420
13421 * configure.tgt (x86_64-linux): Also test CC for -m32.
13422 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13423
a1daed2d 13424 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
13425 after $gccpath.
13426
13427 * Makefile.am (SUBDIRS): New.
13428 (libgomp_la_LDFLAGS): Add -lpthread.
13429 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13430 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13431
13432 * libgomp_g.h: New file.
13433 * libgomp.h: Split out all public declarations to libgomp_g.h.
13434 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13435 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13436 * config/linux/sem.h: Likewise.
13437 * config/posix/sem.h: Likewise.
13438
13439 * Makefile.am (AM_LDFLAGS): New.
13440 (libgomp_version_script): Split out from ...
13441 (libgomp_la_LDFLAGS): ... here.
13442 (libgomp_version_info): New.
13443 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13444 (LIBGOMP_ENABLE): New.
13445 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13446 (LIBGOMP_ENABLE_SYMVERS): New.
13447 * configure.ac (AC_INIT): Version 1.0.
13448 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13449 (enable-linux-futex): Likewise. Rename from enable-futex.
13450 (libtool_VERSION): New.
13451 (LIBGOMP_ENABLE_SYMVERS): Use it.
13452 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13453 * Makefile.in, aclocal.m4, configure: Rebuild.
13454
13455 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13456 (gomp_mutex_unlock_slow): Fix typo.
13457 * config/linux/sem.c: Similarly.
13458 (gomp_sem_post_slow): Fix typo.
13459 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13460 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13461 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13462
13463 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13464 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13465 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13466 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13467 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13468 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13469 LDFLAGS. Pull enable_futex check to top-level.
13470 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13471 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13472
13473 First attempt at real configury.
13474 * Makefile, config.h: Remove file.
13475 * Makefile.am, Makefile.in: New file.
13476 * acinclude.m4 aclocal.m4: New file.
13477 * configure.ac, configure.tgt, configure: New file.
13478
13479 * config/posix/lock.c: Rename from sys-lock.c.
13480 * config/posix/mutex.h: Rename from sys-mutex.h.
13481 * config/posix/sem.c: Rename from sys-sem.c.
13482 * config/posix/sem.h: Rename from sys-sem.h.
13483 * config/posix/proc.c: Rename from sys-proc.c.
13484 * config/posix/time.c: Rename from sys-proc.c.
13485
13486 * config/linux/mutex.c: New file.
13487 * config/linux/mutex.h: New file.
13488 * config/linux/sem.c: New file.
13489 * config/linux/sem.h: New file.
13490 * config/linux/i486/futex.h: New file.
13491 * config/linux/x86_64/futex.h: New file.
13492
134932005-05-04 Richard Henderson <rth@redhat.com>
13494
13495 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13496 * libgomp.h: Declare them.
13497 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13498 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13499
135002005-05-04 Richard Henderson <rth@redhat.com>
13501
13502 * libgomp-1 code drop
13503
135042005-05-04 Richard Henderson <rth@redhat.com>
13505
13506 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13507 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13508 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13509 (gomp_iter_static_next): Update.
13510 (gomp_ordered_static_next): Update.
13511 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13512 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13513 totally empty range.
13514 (gomp_loop_ordered_static_next): Refine test for calling
13515 gomp_ordered_static_next.
13516 * testsuite/ordered-1.c: Add case for more threads than iterations.
13517
13518 * iter.c (gomp_iter_runtime_next_locked): Remove.
13519 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 13520 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
13521 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13522 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13523 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13524 gomp_loop_ordered_guided_next): Downcase name, make static, add
13525 an external alias with the old name.
13526 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13527 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13528 switch and call one of the above static functions.
13529 * libgomp.h: Update.
13530
13531 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13532 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13533 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13534 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13535 GOMP_loop_ordered_guided_start): Update to match.
13536 * sections.c (GOMP_sections_start): Likewise.
13537 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13538
13539 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13540 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13541 Use bounds check instead of modulus.
13542 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13543 (gomp_ordered_last): Don't sync with ordered_owner here.
13544 (gomp_ordered_next): Likewise.
13545 (gomp_ordered_static_loop_next): Likewise.
13546 * loop.c, libgomp.h: Update to match.
13547
13548 * libgomp.h (GOMP_barrier): Declare.
13549
13550 * testsuite/barrier-1.c: New file.
13551 * testsuite/critical-1.c: New file.
13552 * testsuite/ordered-2.c: New file.
13553 * testsuite/ordered-1.c: New file.
13554 * testsuite/sections-1.c: New file.
13555 * testsuite/single-1.c: New file.
13556 * testsuite/Makefile (TESTS): Add them.
13557
135582005-05-04 Richard Henderson <rth@redhat.com>
13559
13560 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13561 * loop.c (GOMP_loop_static_start): If not the startup thread,
13562 acquire the mutex to wait for initialization complete.
13563 (GOMP_loop_ordered_static_start): Likewise.
13564 (GOMP_loop_ordered_runtime_start): Likewise.
13565 (GOMP_loop_ordered_static_first): Remove.
13566 (GOMP_loop_ordered_dynamic_first): Remove.
13567 (GOMP_loop_ordered_guided_first): Remove.
13568 (GOMP_loop_ordered_runtime_first): Remove.
13569 * ordered.c (gomp_ordered_loop_first): Post to own release when
13570 we're the first thread.
13571 (gomp_ordered_loop_last): Wait on release if not owner.
13572 (gomp_ordered_loop_next): Likewise.
13573 (gomp_ordered_static_loop_init): New.
13574 (gomp_ordered_static_loop_next): Use ordered_owner.
13575 (GOMP_ordered_start): Likewise.
13576 * work.c (gomp_new_work_share): Initialize ordered_owner.
13577
135782005-05-03 Richard Henderson <rth@redhat.com>
13579
13580 * Makefile (OPT): New.
13581 (CFLAGS): Use it.
13582
13583 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13584 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13585 * libgomp.h, libgomp.map, NOTES: Update to match.
13586
13587 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13588 Add initialized and thr members.
13589 (gomp_thread_start): Pause when initially spawned to wait for
13590 the whole team to be created.
13591 (gomp_team_start): Release team members at the end.
13592
13593 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13594 (f_foo_1): Use GOMP_loop_end.
13595 (f_foo_2): Use GOMP_loop_end_nowait.
13596
13597 * testsuite/loop-2.c: New file.
13598 * testsuite/Makefile (TESTS): Add it.
13599
136002005-05-03 Richard Henderson <rth@redhat.com>
13601
13602 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13603 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13604 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13605 initial work_share.
13606
13607 * testsuite/Makefile: New file.
13608 * testsuite/loop-1.c: New file.
13609
136102005-05-03 Richard Henderson <rth@redhat.com>
13611
13612 Initial implementation and checkin.
21fa2a29 13613\f
8d9254fc 13614Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
13615
13616Copying and distribution of this file, with or without modification,
13617are permitted in any medium without royalty provided the copyright
13618notice and this notice are preserved.