]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
libstdc++: Add static assertions to futures and promises [LWG 3458]
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
aeb34e15
GA
12020-07-18 H.J. Lu <hjl.tools@gmail.com>
2
3 PR target/95620
4 * testsuite/libgomp.c/pr95620.c: New test.
5
96686b3f
GA
62020-07-16 Julian Brown <julian@codesourcery.com>
7 Thomas Schwinge <thomas@codesourcery.com>
8
9 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
10 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
11
fe8185b5
GA
122020-07-15 Tobias Burnus <tobias@codesourcery.com>
13
14 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
15 avoid conversion on 32bit systems from 32bit to 64bit due
16 to -fdefault-integer-8.
17
182020-07-15 Tobias Burnus <tobias@codesourcery.com>
19
20 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
21 variables; add character(kind=4) tests; update TODO comment.
22
232020-07-15 Tobias Burnus <tobias@codesourcery.com>
24
25 * allocator.c: Add ialias for omp_init_allocator and
26 omp_destroy_allocator.
27 * configure.ac: Set INTPTR_T_KIND.
28 * configure: Regenerate.
29 * Makefile.in: Regenerate.
30 * testsuite/Makefile.in: Regenerate.
31 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
32 omp_set_default_allocator_, omp_get_default_allocator_): New
33 functions and ialias_redirect.
34 * icv.c: Add ialias for omp_set_default_allocator and
35 omp_get_default_allocator.
36 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
37 omp_destroy_allocator_, omp_set_default_allocator_ and
38 omp_get_default_allocator_.
39 * omp_lib.f90.in: Add allocator traits parameters, declare
40 allocator routines and add related kind parameters.
41 * omp_lib.h.in: Likewise.
42 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
43 * testsuite/libgomp.fortran/alloc-1.F90: New test.
44 * testsuite/libgomp.fortran/alloc-2.F90: New test.
45 * testsuite/libgomp.fortran/alloc-3.F: New test.
46 * testsuite/libgomp.fortran/alloc-4.f90: New test.
47 * testsuite/libgomp.fortran/alloc-5.f90: New test.
48
8ca07a30
GA
492020-07-14 Tom de Vries <tom@codesourcery.com>
50 Cesar Philippidis <cesar@codesourcery.com>
51 Thomas Schwinge <thomas@codesourcery.com>
52 Kwok Cheung Yeung <kcy@codesourcery.com>
53
54 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
55 New variable.
56 (acc_init_1): Set acc_init_thread to pthread_self (). Set
57 acc_init_state to initializing at the start, and to initialized at the
58 end.
59 (self_initializing_p): New function.
60 (acc_get_device_type): Return acc_device_none if called by thread that
61 is currently executing acc_init_1.
62 * libgomp.texi (acc_get_device_type): Update documentation.
63 (Implementation Status and Implementation-Defined Behavior): Likewise.
64 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
65
662020-07-14 David Edelsohn <dje.gcc@gmail.com>
67
68 * config/t-aix: Set BITS from compiler cpp macro.
69
702020-07-14 Tobias Burnus <tobias@codesourcery.com>
71
72 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
73
742020-07-14 Tobias Burnus <tobias@codesourcery.com>
75
76 PR fortran/67311
77 * testsuite/libgomp.fortran/target-map-1.f90: New test.
78
792020-07-14 Jakub Jelinek <jakub@redhat.com>
80
81 * testsuite/libgomp.c/loop-21.c: New test.
82
ea69fcf9
GA
832020-07-13 Julian Brown <julian@codesourcery.com>
84 Thomas Schwinge <thomas@codesourcery.com>
85
86 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
87
86536295
GA
882020-07-10 Julian Brown <julian@codesourcery.com>
89 Thomas Schwinge <thomas@codesourcery.com>
90
91 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
92 dynamic_refcount.
93 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
94 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
95 dynamic_refcount.
96 (acc_unmap_data): Update comment.
97 (goacc_map_var_existing, goacc_enter_datum): Adjust for
98 dynamic_refcount semantics.
99 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
100 Adjust for dynamic_refcount semantics.
101 (goacc_enter_data_internal): Implement "present" case of dynamic
102 memory-map handling here. Update "non-present" case for
103 dynamic_refcount semantics.
104 (goacc_exit_data_internal): Use goacc_exit_datum_1.
105 * target.c (gomp_map_vars_internal): Remove
106 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
107 handling.
108 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
109 (gomp_load_image_to_device): Substitute dynamic_refcount for
110 virtual_refcount.
111 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
112 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
113 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
114 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
115 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
116 trace output.
117 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
118 trace output.
119 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
120 test.
121 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
122 Remove stale comment.
123 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
124 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
125 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
126 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
127 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
128 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
129
1302020-07-10 Julian Brown <julian@codesourcery.com>
131 Thomas Schwinge <thomas@codesourcery.com>
132
133 * oacc-mem.c (goacc_map_var_existing): New function.
134 (goacc_enter_datum): Use above function.
135 (goacc_exit_datum_1): New function.
136 (goacc_exit_datum): Use above function.
137
3f8ca9cb
GA
1382020-07-09 Julian Brown <julian@codesourcery.com>
139 Thomas Schwinge <thomas@codesourcery.com>
140
141 PR middle-end/95270
142 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
143 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
144
1452020-07-09 Julian Brown <julian@codesourcery.com>
146
147 * oacc-mem.c (find_group_last): Group data-movement clauses
148 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
149 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
150
1512020-07-09 Jakub Jelinek <jakub@redhat.com>
152
153 * testsuite/libgomp.c/loop-19.c: New test.
154 * testsuite/libgomp.c/loop-20.c: New test.
155
1562020-07-09 Jakub Jelinek <jakub@redhat.com>
157
158 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
159 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
160 it. Remove __omp_alloctrait_value_max__.
161 * allocator.c (omp_init_allocator): Handle omp_atv_default for
162 omp_atk_alignment and omp_atk_pool_size.
163
b991c834
GA
1642020-07-03 Thomas Schwinge <thomas@codesourcery.com>
165
166 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
167 behavior for 'GOMP_MAP_FORCE_FROM'.
168 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
169
1702020-07-03 Thomas Schwinge <thomas@codesourcery.com>
171
172 * oacc-mem.c (goacc_exit_data_internal): Remove
173 'GOMP_MAP_ALWAYS_FROM' handling.
174
46fbb6c6
GA
1752020-06-30 Thomas Schwinge <thomas@codesourcery.com>
176
177 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
178 'scan-assembler' with 'scan-offload-rtl'.
179 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
180 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
181 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
182 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
183
1842020-06-30 Thomas Schwinge <thomas@codesourcery.com>
185
186 * target.c (gomp_map_vars_existing): Assert 'kind !=
187 GOMP_MAP_ATTACH'.
188 (gomp_map_vars_internal): Clean up.
189
9a33c41f
GA
1902020-06-27 Jakub Jelinek <jakub@redhat.com>
191
192 * testsuite/libgomp.c/loop-17.c: New test.
193 * testsuite/libgomp.c/loop-18.c: New test.
194
c9c05f73
GA
1952020-06-26 Marek Polacek <polacek@redhat.com>
196
197 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
198
4543acc8
GA
1992020-06-23 Alexandre Oliva <oliva@adacore.com>
200
201 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
202 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
203
605a8f3b
GA
2042020-06-22 David Edelsohn <dje.gcc@gmail.com>
205
206 * Makefile.am: Use -include.
207 * Makefile.in: Regenerate.
208
f86e11a2
GA
2092020-06-21 David Edelsohn <dje.gcc@gmail.com>
210
211 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
212 * Makefile.in: Regenerate
213 * configure.ac (tmake_file): Substitute.
214 * configure: Regenerate.
215 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
216 * config/t-aix: New file.
217
aff95ee7
GA
2182020-06-17 Thomas Schwinge <thomas@codesourcery.com>
219
220 PR lto/94848
221 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
222 'dg-do run'.
223
2242020-06-17 Andrew Stubbs <ams@codesourcery.com>
225
226 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
227 variant for HSA_RUNTIME_LIB name.
228 (find_executable_symbol_1): Delete.
229 (find_executable_symbol): Delete.
230 (init_kernel_properties): Add ".kd" suffix to symbol names.
231 (find_load_offset): Delete.
232 (create_and_finalize_hsa_program): Remove relocation handling.
233
56638b9b
GA
2342020-06-16 Tobias Burnus <tobias@codesourcery.com>
235
236 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
237
2c455ae0
GA
2382020-06-08 Tobias Burnus <tobias@codesourcery.com>
239
240 PR lto/94848
241 PR middle-end/95551
242 * testsuite/libgomp.fortran/target-var.f90: New test.
243
1a59f3db
GA
2442020-06-05 Thomas Schwinge <thomas@codesourcery.com>
245 Julian Brown <julian@codesourcery.com>
246
247 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
248 special handling.
249
2502020-06-05 Thomas Schwinge <thomas@codesourcery.com>
251 Julian Brown <julian@codesourcery.com>
252
253 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
254 Simplify.
255
2562020-06-05 Julian Brown <julian@codesourcery.com>
257
258 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
259 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
260
3add3425
GA
2612020-06-04 Thomas Schwinge <thomas@codesourcery.com>
262
263 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
264 Evaluate 'copyfrom' individually for each entry.
265 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
266
2672020-06-04 Thomas Schwinge <thomas@codesourcery.com>
268
269 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
270 Evaluate 'finalize' individually for each entry.
271 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
272 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
273 file.
274
2752020-06-04 Thomas Schwinge <thomas@codesourcery.com>
276
277 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
278 usage.
279 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
280
2812020-06-04 Thomas Schwinge <thomas@codesourcery.com>
282 Julian Brown <julian@codesourcery.com>
283
284 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
285 checking.
286 (acc_unmap_data, goacc_exit_data_internal): Restore
287 'is_tgt_unmapped' checking.
288 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
289 file.
290 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
291 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
292 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
293 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
294 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
295 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
296
2972020-06-04 Thomas Schwinge <thomas@codesourcery.com>
298 Julian Brown <julian@codesourcery.com>
299
300 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
301
3022020-06-04 Thomas Schwinge <thomas@codesourcery.com>
303
304 PR libgomp/92854
305 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
306
3072020-06-04 Thomas Schwinge <thomas@codesourcery.com>
308
309 PR libgomp/92854
310 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
311 more.
312
3132020-06-04 Thomas Schwinge <thomas@codesourcery.com>
314 Julian Brown <julian@codesourcery.com>
315
316 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
317 'gomp_map_vars'.
318 (acc_map_data): Clean up accordingly.
319
3202020-06-04 Thomas Schwinge <thomas@codesourcery.com>
321
322 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
323 of over-eager 'finalize' clause.
324 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
325 file.
326 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
327 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
328 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
329 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
330 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
331 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
332 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
333 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
334
3352020-06-04 Thomas Schwinge <thomas@codesourcery.com>
336
337 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
338
3392020-06-04 Julian Brown <julian@codesourcery.com>
340
341 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
342 error path.
343 (goacc_detach_internal): Likewise.
344
3452020-06-04 Thomas Schwinge <thomas@codesourcery.com>
346
347 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
348 the checkpoint.
349 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
350 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
351 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
352 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
353 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
354
a9312a79
GA
3552020-06-02 Jakub Jelinek <jakub@redhat.com>
356
357 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
358 defined.
359
945b53cc
GA
3602020-05-30 Jakub Jelinek <jakub@redhat.com>
361
362 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
363
3642020-05-30 Jakub Jelinek <jakub@redhat.com>
365
366 * allocator.c (omp_alloc): For size == 0, return NULL early.
367
885ef72f
GA
3682020-05-29 H.J. Lu <hjl.tools@gmail.com>
369
370 PR bootstrap/95413
371 * configure: Regenerated.
372
8df7ee67
TK
3732020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
374
375 PR libfortran/95191
376 * testsuite/libgomp.fortran/async_io_9.f90: New test.
377
800bcc8c
JJ
3782020-05-19 Jakub Jelinek <jakub@redhat.com>
379
380 * omp.h.in (omp_uintptr_t): New typedef.
381 (__GOMP_UINTPTR_T_ENUM): Define.
382 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
383 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
384 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
385 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
386 omp_get_default_allocator, omp_alloc, omp_free): Declare.
387 * libgomp.h (struct gomp_team_state): Add def_allocator field.
388 (gomp_def_allocator): Declare.
389 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
390 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
391 omp_alloc and omp_free.
392 * team.c (gomp_team_start): Copy over ts.def_allocator.
393 * env.c (gomp_def_allocator): New variable.
394 (parse_wait_policy): Adjust function comment.
395 (parse_allocator): New function.
396 (handle_omp_display_env): Print OMP_ALLOCATOR.
397 (initialize_env): Call parse_allocator.
398 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
399 * allocator.c: New file.
400 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
401 functions.
402 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
403 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
404 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
405 * Makefile.in: Regenerated.
406
4c1a5d8b
L
4072020-05-15 H.J. Lu <hongjiu.lu@intel.com>
408
409 PR bootstrap/95147
410 * configure: Regenerated.
411
cdc34b50
TK
4122020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
413
414 PR libfortran/95119
415 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
416
4172020-05-14 H.J. Lu <hongjiu.lu@intel.com>
418
419 * configure: Regenerated.
420
4212020-05-14 Jakub Jelinek <jakub@redhat.com>
422
423 * testsuite/libgomp.c-c++-common/target-40.c: New test.
424
f884bef2
TB
4252020-05-13 Tobias Burnus <tobias@codesourcery.com>
426
427 PR fortran/94690
428 * testsuite/libgomp.fortran/pr66199-3.f90: New.
429 * testsuite/libgomp.fortran/pr66199-4.f90: New.
430 * testsuite/libgomp.fortran/pr66199-5.f90: New.
431 * testsuite/libgomp.fortran/pr66199-6.f90: New.
432 * testsuite/libgomp.fortran/pr66199-7.f90: New.
433 * testsuite/libgomp.fortran/pr66199-8.f90: New.
434 * testsuite/libgomp.fortran/pr66199-9.f90: New.
435
dc703151
JJ
4362020-05-12 Jakub Jelinek <jakub@redhat.com>
437
438 * testsuite/libgomp.c/target-39.c: New test.
439
b9dc11b6
TS
4402020-04-29 Thomas Schwinge <thomas@codesourcery.com>
441
a5d0bc12
TS
442 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
443 * openacc.f90 (acc_device_current): Likewise.
444 * openacc.h (acc_device_current): Likewise.
445 * openacc_lib.h (acc_device_current): Likewise.
446
7f198924
TS
447 PR target/94282
448 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
449 'dg-allow-blank-lines-in-output'.
450
4912a04f
TS
451 * oacc-init.c (get_openacc_name): Handle 'gcn'.
452 * testsuite/lib/libgomp.exp
453 (offload_target_to_openacc_device_type) [amdgcn*]: Return
454 'radeon'. Adjust all users.
455 (check_effective_target_openacc_amdgcn_accel_present): Rename
456 to...
457 (check_effective_target_openacc_radeon_accel_present): ... this.
458 Adjust all users.
459 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
460 (check_effective_target_openacc_radeon_accel_selected): ... this.
461 Adjust all users.
462
b9dc11b6
TS
463 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
464 'dg-do run'.
465
966de09b
AS
4662020-04-23 Andrew Stubbs <ams@codesourcery.com>
467
468 PR other/94629
469
470 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
471 hsa_iterate_agents.
472 (GOMP_OFFLOAD_init_device): Check return values from both calls to
473 hsa_agent_iterate_regions.
474
3f5d94c1
TS
4752020-04-20 Thomas Schwinge <thomas@codesourcery.com>
476
477 PR middle-end/94635
478 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
479 run'.
480
85d8c05a
TB
4812020-04-20 Tobias Burnus <tobias@codesourcery.com>
482
483 PR middle-end/94120
484 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
485 test case.
486
af557050
TB
4872020-04-17 Tobias Burnus <tobias@codesourcery.com>
488
489 PR middle-end/94635
490 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
491
af4c9257
TS
4922020-04-13 Thomas Schwinge <thomas@codesourcery.com>
493
494 PR libgomp/92843
495 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
496 Rename to...
497 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
498 ... this.
499 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
500 Rename to...
501 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
502 ... this.
503 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
504 Rename to...
505 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
506 ... this.
507 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
508 Rename to...
509 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
510 ... this.
511 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
512 Rename to...
513 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
514 ... this.
515 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
516 Rename to...
517 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
518 ... this.
519 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
520 Rename to...
521 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
522 ... this.
523 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
524 Rename to...
525 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
526 ... this.
527 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
528 Rename to...
529 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
530 ... this.
531 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
532 Rename to...
533 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
534 ... this.
535 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
536 Rename to...
537 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
538 ... this.
539 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
540 Rename to...
541 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
542 ... this.
543 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
544 Rename to...
545 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
546 ... this.
547 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
548 Rename to...
549 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
550 ... this.
551 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
552 Rename to...
553 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
554 ... this.
555 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
556 Rename to...
557 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
558 ... this.
559
be9862dd
JB
5602020-04-10 Julian Brown <julian@codesourcery.com>
561 Thomas Schwinge <thomas@codesourcery.com>
562
563 PR libgomp/92843
564 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
565 New file.
566 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
567 Likewise.
568 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
569 Likewise.
570 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
571 Likewise.
572 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
573 Likewise.
574 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
575 Likewise.
576 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
577 Likewise.
578 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
579 Likewise.
580 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
581 Likewise.
582 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
583 Likewise.
584 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
585 Likewise.
586 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
587 Likewise.
588 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
589 Likewise.
590 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
591 Likewise.
592 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
593 Likewise.
594 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
595 Likewise.
596
6b816a5f
TS
5972020-04-10 Thomas Schwinge <thomas@codesourcery.com>
598
599 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
600 run'.
601
13e41d8b
TB
6022020-04-08 Tobias Burnus <tobias@codesourcery.com>
603
604 PR middle-end/94120
605 * libgomp.oacc-c++/declare-pr94120.C: New.
606
749bd22d
MR
6072020-04-06 Maciej W. Rozycki <macro@wdc.com>
608
609 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
610 files.
611 * configure: Regenerate.
612 * testsuite/libgomp-site-extra.exp.in: New file.
613 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
614 variable.
615 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
616 variable.
617 * testsuite/Makefile.in: Regenerate.
618
2b1e849b
TS
6192020-04-03 Thomas Schwinge <thomas@codesourcery.com>
620
621 PR tree-optimization/89713
622 PR c/94392
623 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
624 'bar.sync'.
625 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
626
689418b9
TB
6272020-03-31 Tobias Burnus <tobias@codesourcery.com>
628
629 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
630 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
631
c2211a60
TB
6322020-03-24 Tobias Burnus <tobias@codesourcery.com>
633
634 PR libgomp/81689
635 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
636
4897bb00
TB
6372020-03-20 Tobias Burnus <tobias@codesourcery.com>
638
639 PR libgomp/94251
640 * target.c (gomp_load_image_to_device): Fix link
641 variable handling.
642
02f7334a
JJ
6432020-03-19 Jakub Jelinek <jakub@redhat.com>
644
645 PR c++/93931
646 * testsuite/libgomp.c++/pr93931.C: New test.
647
bb83e069
TB
6482020-03-19 Tobias Burnus <tobias@codesourcery.com>
649
650 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
651 dg-allow-blank-lines-in-output.
652
26cbcfe5
TB
6532020-03-18 Julian Brown <julian@codesourcery.com>
654 Tobias Burnus <tobias@codesourcery.com>
655
656 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
657 it work concurrently.
658
4da92887
TB
6592020-03-18 Tobias Burnus <tobias@codesourcery.com>
660
661 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
662 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
663 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
664
9c3cdb43
JJ
6652020-03-14 Jakub Jelinek <jakub@redhat.com>
666
667 PR middle-end/93566
668 * testsuite/libgomp.c/pr93566.c: New test.
669
83d45e1d
FH
6702020-02-21 Frederik Harwath <frederik@codesourcery.com>
671
672 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
673 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
674 integer(acc_device_property) for the type of the return value of
675 acc_get_property.
676
8d1a1cb1
TB
6772020-02-19 Tobias Burnus <tobias@codesourcery.com>
678
679 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
680 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
681 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
682 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
683 (acc_set_device_num): Fix Fortran argument name, use same name for C.
684 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
685 corrections; add note about the previous interface and named constant.
686 (OpenACC library and environment variables): Fix two typos.
687 * openacc.f90: Use for all procedures the argument names from the spec
688 as for …_h they are user visible.
689 (openacc_kinds): Rename acc_device_property to
690 acc_device_property_kinds and change value to int32 ; and update users.
691 Re-add acc_device_property for for backward compatibility.
692 (acc_get_property_string_h): Clean up as acc_device_property_kind
693 changed.
694 (acc_get_property_h): Likewise and return c_size_t instead of
695 acc_device_property.
696 (openacc): Also export acc_device_property_kinds.
697 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
698 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
699 handling; check against /= 0 instead of == 1 to match C.
700 * openacc_lib.h: Use for all procedures the argument names from the spec
701 as for …_h they are user visible. Place !GCC$ into the first column to
702 be active also for fixed-form souce form.
703 (acc_device_current, acc_device_property_kind, acc_device_property,
704 acc_property_memory, acc_property_free_memory, acc_property_name,
705 acc_property_vendor, acc_property_driver): New named constants.
706 (acc_get_property, acc_get_property_string): New generic interface.
707
2d9eb4e4
FH
7082020-02-13 Frederik Harwath <frederik@codesourcery.com>
709
710 PR libgomp/93481
711 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
712 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
713 optional.
714 (gomp_target_task_fn): Assert "devicep->async_run_func".
715 (clear_unsupported_flags): New function to remove unsupported flags
716 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
717 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
718 * testsuite/libgomp.c/target-33.c:
719 Remove xfail for offload_target_nvptx.
720 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
721
7222020-02-10 Frederik Harwath <frederik@codesourcery.com>
723
724 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
725 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
726 * testsuite/libgomp.c/target-34.c: Likewise.
727 * testsuite/libgomp.c/target-link-1.c: Add xfail for
728 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
729
9bc3b95d
JJ
7302020-02-09 Jakub Jelinek <jakub@redhat.com>
731
732 * testsuite/libgomp.c/target-38.c: New test.
733
cb3f0648
JJ
7342020-02-06 Jakub Jelinek <jakub@redhat.com>
735
736 PR libgomp/93515
737 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
738
91bc3c98
TB
7392020-02-05 Tobias Burnus <tobias@codesourcery.com>
740
741 * testsuite/lib/libgomp.exp
742 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
743 and not as 'source' argument to libgomp_target_compile.
744
591f869a
AS
7452020-02-03 Andrew Stubbs <ams@codesourcery.com>
746
747 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
748 (gcn_gfx801_s): Remove.
749 (isa_hsa_name): Remove gfx801.
750 (isa_gcc_name): Remove gfx801/carizzo.
751 (isa_code): Remove gfx801.
752
e464fc90
TB
7532020-02-03 Julian Brown <julian@codesourcery.com>
754 Tobias Burnus <tobias@codesourcery.com>
755
756 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
757 and *_finalize variants; document acc_attach and acc_detach; update
758 references from OpenACC 2.0 to 2.6.
759 * openacc.f90 (openacc_version): Update to 201711.
760 * openacc_lib.h (openacc_version): Update to 201711.
761 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
762 openacc_version to 201711.
763 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
764
5a28e272
KCY
7652020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
766
767 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
768 and vgpr_count fields.
769 (struct kernel_info): Add a field for a hsa_kernel_description.
770 (run_kernel): Reduce the number of threads/workers if the requested
771 number would require too many VGPRs.
772 (init_basic_kernel_info): Initialize description field with
773 the hsa_kernel_description entry for the kernel.
774
5ab5d81b
TB
7752020-01-29 Tobias Burnus <tobias@codesourcery.com>
776
777 PR bootstrap/93409
778 * plugin/configfrag.ac (enable_offload_targets): Skip
779 HSA and GCN plugin besides -m32 also for -mx32.
780 * configure: Regenerate.
781
989a5fb3
FH
7822020-01-29 Frederik Harwath <frederik@codesourcery.com>
783
784 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
785
7862020-01-29 Frederik Harwath <frederik@codesourcery.com>
787
788 * plugin-gcn.c (struct agent_info): Add fields "name" and
789 "vendor_name" ...
790 (GOMP_OFFLOAD_init_device): ... and init from here.
791 (struct hsa_context_info): Add field "driver_version_s" ...
792 (init_hsa_contest): ... and init from here.
793 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
794 implementation.
795 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
796 Enable test execution for amdgcn and host offloading targets.
797 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
798 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
799 (expect_device_properties): Split function into ...
800 (expect_device_string_properties): ... this new function ...
801 (expect_device_memory): ... and this new function.
802 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
803 Add test.
804
278c3214
JB
8052020-01-28 Julian Brown <julian@codesourcery.com>
806
807 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
808 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
809 component/non-component variable refs in a single directive.
810 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
811
e8e66971
MR
8122020-01-24 Maciej W. Rozycki <macro@wdc.com>
813
814 * configure.ac: Handle `--with-toolexeclibdir='.
815 * Makefile.in: Regenerate.
816 * aclocal.m4: Regenerate.
817 * configure: Regenerate.
818 * testsuite/Makefile.in: Regenerate.
819
9e424d97
FH
8202020-01-24 Frederik Harwath <frederik@codesourcery.com>
821
822 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
823 (expect_device_properties): Remove "expected_free_mem" argument,
824 change "expected_total_mem" argument type to size_t;
825 change types of acc_get_property results to size_t,
826 adapt format strings.
827 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
828 Use %zu instead of %zd to print size_t values.
829 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
830 rename to ...
831 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
832 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
833 rename to ...
834 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
835
14e5e746
AS
8362020-01-23 Andrew Stubbs <ams@codesourcery.com>
837
838 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
839 the device id.
840
09e0ad62
AS
8412020-01-20 Andrew Stubbs <ams@codesourcery.com>
842
843 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
844 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
845 Adjust test dimensions for amdgcn.
846 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
847 gang/worker/vector expectations dynamically.
848 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
849 (main): Likewise.
850 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
851 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
852 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
853 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
854 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
855 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
856 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
857 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
858 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
859 (acc_gang): Recognise acc_device_radeon.
860 (acc_worker): Likewise.
861 (acc_vector): Likewise.
862 (main): Set expectations for amdgcn.
863 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
864 (main): Adjust gang/worker/vector expectations dynamically.
865 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
866 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
867 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
868 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
869 for amdgcn.
870
6687d13a
AS
8712020-01-17 Andrew Stubbs <ams@codesourcery.com>
872
873 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
874 acc_device_radeon.
875 (openacc): Likewise.
876 * openacc.f90 (openacc_kinds): Likewise.
877 (openacc): Likewise.
878 * openacc.h (acc_device_t): Likewise.
879 * openacc_lib.h: Likewise.
880 * testsuite/lib/libgomp.exp
881 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
882 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
883 (cb_compute_construct_end): Likewise.
884 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
885 (cb_enqueue_launch_start): Likewise.
886 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
887 (cb_enter_data_end): Likewise.
888 (cb_exit_data_start): Likewise.
889 (cb_exit_data_end): Likewise.
890 (cb_compute_construct_end): Likewise.
891 (cb_enqueue_launch_start): Likewise.
892 (cb_enqueue_launch_end): Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
894 (main): Likewise.
895
b3b75e66
TS
8962020-01-10 Thomas Schwinge <thomas@codesourcery.com>
897
6fc0385c
TS
898 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
899 to use this instead of 'enum gomp_device_property'.
900 (GOMP_OFFLOAD_get_property): Rename to...
901 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
902 * libgomp.h (struct gomp_device_descr): Move
903 'GOMP_OFFLOAD_openacc_get_property'...
904 (struct acc_dispatch_t): ... here. Adjust all users.
905 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
906
b3b75e66
TS
907 * target.c (gomp_map_vars_internal)
908 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
909 paths.
910
91df4397
JJ
9112020-01-10 Jakub Jelinek <jakub@redhat.com>
912
913 PR libgomp/93219
914 * libgomp.h (gomp_print_string): Change return type from void to int.
915 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
916 not all characters have been written.
917
df2c0d36
TB
9182020-01-08 Tobias Burnus <tobias@codesourcery.com>
919
920 * libgomp.texi: Fix typos, use https.
921
f760c0c7
TB
9222020-01-03 Tobias Burnus <tobias@codesourcery.com>
923
924 * testsuite/libgomp.fortran/optional-map.f90: Add test for
925 unallocated/disassociated actual arguments to nonallocatable/nonpointer
926 dummy arguments; those are/shall be regarded as absent arguments.
927 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
928 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
929
7e7065b9
JJ
9302020-01-01 Jakub Jelinek <jakub@redhat.com>
931
8d9254fc
JJ
932 Update copyright years.
933
7e7065b9
JJ
934 * libgomp.texi: Bump @copying's copyright year.
935
2c829799
AM
9362019-12-31 Ayush Mittal <ayush.m@samsung.com>
937
938 PR libgomp/93065
939 * oacc-init.c (goacc_runtime_deinitialize): New function.
940
e9dcb75e
JJ
9412019-12-28 Jakub Jelinek <jakub@redhat.com>
942
943 PR bootstrap/93074
944 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
945 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
946
6c84c8bf
MR
9472019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
948 Frederik Harwath <frederik@codesourcery.com>
949 Thomas Schwinge <tschwinge@codesourcery.com>
950
951 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
952 * libgomp-plugin.h (gomp_device_property_value): New union.
953 (gomp_device_property_value): New prototype.
954 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
955 constant.
956 (acc_device_property_t): New enum.
957 (acc_get_property, acc_get_property_string): New prototypes.
958 * oacc-init.c (acc_get_device_type): Also assert that result
959 is not `acc_device_current'.
960 (get_property_any, acc_get_property, acc_get_property_string):
961 New functions.
962 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
963 `acc_property_memory', `acc_property_free_memory',
964 `acc_property_name', `acc_property_vendor' and
965 `acc_property_driver' constants. Add `acc_device_property' data
966 type.
967 (openacc_internal): Add `acc_get_property' and
968 `acc_get_property_string' interfaces. Add `acc_get_property_h',
969 `acc_get_property_string_h', `acc_get_property_l' and
970 `acc_get_property_string_l'.
971 * oacc-host.c (host_get_property): New function.
972 (host_dispatch): Wire it.
973 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
974 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
975 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
976 * libgomp.texi (OpenACC Runtime Library Routines): Add
977 `acc_get_property'.
978 (acc_get_property): New node.
979 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
980 function (stub).
981 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
982 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
983 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
984 calls.
985 (GOMP_OFFLOAD_get_property): New function.
986 (struct ptx_device): Add new field "name".
987 (cuda_driver_version_s): Add new static variable ...
988 (nvptx_init): ... and init from here.
989
990 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
991 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
992 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
993 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
994 with test helper functions.
995
996 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
997
c8e759b4
MR
9982019-12-22 Maciej W. Rozycki <macro@wdc.com>
999
1000 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1001 variable.
1002
b092fb3b
TS
10032019-12-21 Thomas Schwinge <thomas@codesourcery.com>
1004
1005 * target.c (gomp_map_vars_internal): Restore 'omp declare target
1006 link' handling.
1007
9be3ac5d
JB
10082019-12-19 Julian Brown <julian@codesourcery.com>
1009
1010 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1011 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1012 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1013
02817027
JB
10142019-12-19 Julian Brown <julian@codesourcery.com>
1015 Cesar Philippidis <cesar@codesourcery.com>
1016
1017 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1018 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1019 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1020 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1021 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1022 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1023 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1024 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1025 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1026 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1027 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1028 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1029 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1030
c2eb021f
JB
10312019-12-19 Julian Brown <julian@codesourcery.com>
1032
1033 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1034 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1035 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1036 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1037 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1038 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1039 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1040 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1041 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1042 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1043 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1044 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1045
8e7e71ff
JB
10462019-12-19 Julian Brown <julian@codesourcery.com>
1047
1048 * libgomp.h (struct target_var_desc): Add do_detach flag.
1049 * oacc-init.c (acc_shutdown_1): Free aux block if present.
1050 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1051 struct components. Tidy up and add some new checks.
1052 (goacc_enter_data_internal): Update call to find_group_last.
1053 (goacc_exit_data_internal): Support detach operations and
1054 GOMP_MAP_STRUCT.
1055 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1056 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
1057 attach/detach in enter/exit data detection code.
1058 * target.c (gomp_map_vars_existing): Initialise do_detach field of
1059 tgt_var_desc.
1060 (gomp_map_vars_internal): Support attach.
1061 (gomp_unmap_vars_internal): Support detach.
1062
5d5be7bf
JB
10632019-12-19 Julian Brown <julian@codesourcery.com>
1064 Thomas Schwinge <thomas@codesourcery.com>
1065
1066 * libgomp.h (struct splay_tree_aux): Add attach_count field.
1067 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1068 * libgomp.map (OACC_2.6): New section. Add acc_attach,
1069 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1070 acc_detach_finalize_async.
1071 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1072 acc_detach, acc_detach_async, acc_detach_finalize,
1073 acc_detach_finalize_async): New functions.
1074 * openacc.h (acc_attach, acc_attach_async, acc_detach,
1075 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1076 prototypes.
1077 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1078 (gomp_remove_var_internal): Free attachment counts if present.
1079 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1080 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1081
5bcd470b
JB
10822019-12-19 Julian Brown <julian@codesourcery.com>
1083 Cesar Philippidis <cesar@codesourcery.com>
1084
1085 * libgomp.h (gomp_map_val): Add prototype.
1086 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1087 open-coding device-address calculation.
1088 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1089 non-present case.
1090
378da98f
JB
10912019-12-19 Julian Brown <julian@codesourcery.com>
1092
1093 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1094 field for virtual_refcount.
1095 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1096 (gomp_free_memmap): Remove prototype.
1097 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1098 instead of calling gomp_free_memmap.
1099 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1100 dynamic_refcount.
1101 (acc_unmap_data): Open code instead of forcing target_mem_desc's
1102 to_free field to NULL then calling gomp_unmap_vars. Handle
1103 REFCOUNT_INFINITY on target blocks.
1104 (goacc_enter_data): Rename to...
1105 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
1106 handling for mapping groups. Use virtual_refcount instead of
1107 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1108 map_map_vars_async call. Re-do lookup for target pointer return value.
1109 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1110 renamed goacc_enter_datum function.
1111 (goacc_exit_data): Rename to...
1112 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
1113 (acc_delete, acc_delete_async, acc_delete_finalize,
1114 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1115 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1116 goacc_exit_datum function.
1117 (gomp_acc_remove_pointer, find_pointer): Remove functions.
1118 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1119 New functions.
1120 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1121 goacc_exit_data_internal helper functions.
1122 * target.c (gomp_map_vars_internal): Handle
1123 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
1124 semantics.
1125 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1126 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1127 virtual_refcount field instead of dynamic_refcount.
1128 (gomp_free_memmap): Remove function.
1129 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1130 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1131 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1132
2a656a93
JB
11332019-12-19 Julian Brown <julian@codesourcery.com>
1134 Thomas Schwinge <thomas@codesourcery.com>
1135
1136 * libgomp.h (struct splay_tree_aux): New.
1137 (struct splay_tree_key_s): Replace link_key field with aux pointer.
1138 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1139 to aux struct.
1140 (gomp_remove_var_internal): Free aux block if present.
1141 (gomp_load_image_to_device): Zero-initialise aux field instead of
1142 link_key field.
1143 (omp_target_associate_pointer): Zero-initialise aux field.
1144
601399c0
JJ
11452019-12-18 Jakub Jelinek <jakub@redhat.com>
1146
1147 PR middle-end/86416
1148 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1149 q or none.
1150 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1151 L or none.
1152
a6163563
JB
11532019-12-19 Julian Brown <julian@codesourcery.com>
1154 Maciej W. Rozycki <macro@codesourcery.com>
1155 Tobias Burnus <tobias@codesourcery.com>
1156 Thomas Schwinge <thomas@codesourcery.com>
1157
1158 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1159 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1160 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1161 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1162 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1163 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1164 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1165 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1166 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1167
6278b549
TS
11682019-12-18 Thomas Schwinge <thomas@codesourcery.com>
1169
77ce5555
TS
1170 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1171 called...
1172 (goacc_insert_pointer): ... from here, "present" case.
1173 (goacc_insert_pointer): Inline function into...
1174 (GOACC_enter_exit_data): ... here, and simplify.
1175
9444a299
TS
1176 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1177 called...
1178 (goacc_insert_pointer): ... from here, "not present" case.
1179
5031b619
TS
1180 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
1181 all users.
1182
1a79b578
TS
1183 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1184 'goacc_enter_data', 'goacc_exit_data'.
1185
34cfe31e
TS
1186 * oacc-mem.c (delete_copyout): Refactor into...
1187 (goacc_exit_data): ... this. Adjust all users.
1188
aaf0e9d7
TS
1189 * oacc-mem.c (present_create_copy): Refactor into...
1190 (goacc_enter_data): ... this. Adjust all users.
1191
83d1d065
TS
1192 * target.c (gomp_unmap_vars_internal): Add a safeguard to
1193 'gomp_remove_var'.
1194
cc3f11f5
TS
1195 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1196 like 'GOMP_MAP_FROM'.
1197
ddb25eb9
TS
1198 PR libgomp/92726
1199 PR libgomp/92970
1200 PR libgomp/92984
1201 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1202 fails.
1203 (GOACC_enter_exit_data): Simplify accordingly.
1204 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1205 subsuming...
1206 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1207 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1208 file.
1209 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1210 subsuming...
1211 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1212 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1213 file.
1214 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1215 subsuming...
1216 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1217
32128577
TS
1218 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1219 'finalize' handling.
1220
ba40277f
TS
1221 PR libgomp/92848
1222 * oacc-mem.c (acc_map_data, present_create_copy)
1223 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1224 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1225 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1226 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1227 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1228 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1229 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1230 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1231 Remove "XFAIL"s.
1232
6278b549
TS
1233 * target.c (gomp_unmap_tgt): Make it 'static'.
1234 * libgomp.h (gomp_unmap_tgt): Remove.
1235
c80c9e26
TB
12362019-12-18 Tobias Burnus <tobias@codesourcery.com>
1237
1238 PR middle-end/86416
1239 * testsuite/libgomp.c/pr86416-1.c: New.
1240 * testsuite/libgomp.c/pr86416-2.c: New.
1241
0b8499a4
TB
12422019-12-17 Tobias Burnus <tobias@codesourcery.com>
1243
1244 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1245 all symbols as public except for the 'use …, only' imported symbol,
1246 which is private.
1247 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1248 all symbols from module openacc_kinds as PUBLIC
1249 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1250 fix comment typo.
1251 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1252
1cbd94e8
JB
12532019-12-13 Julian Brown <julian@codesourcery.com>
1254
1255 PR libgomp/92881
1256
1257 * libgomp.h (gomp_remove_var_async): Add prototype.
1258 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1259 gomp_remove_var.
1260 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1261 whether target_mem_desc was unmapped.
1262 (gomp_unref_tgt_void): New.
1263 (gomp_remove_var): Reimplement in terms of...
1264 (gomp_remove_var_internal): ...this new helper function.
1265 (gomp_remove_var_async): New, implemented using above helper function.
1266 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1267 gomp_unref_tgt.
1268
26b74ed0
AS
12692019-12-13 Andrew Stubbs <ams@codesourcery.com>
1270
1271 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1272 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1273 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1274 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1275 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1276 Likewise.
1277 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1278 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1279
7858bb96
TB
12802019-12-13 Tobias Burnus <tobias@codesourcery.com>
1281
1282 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1283 as public except for the 'use …, only' imported symbol, which is
1284 private.
1285 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1286 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1287 attributes for acc_copyout_finalize and acc_delete_finalize.
1288
f8ac7d8f
JJ
12892019-12-11 Jakub Jelinek <jakub@redhat.com>
1290
1291 PR fortran/92899
1292 * testsuite/libgomp.fortran/atomic1.f90: New test.
1293
3d1b5e71
TS
12942019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1295
d6e8c01c
TS
1296 PR libgomp/92843
1297 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1298 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1299 assertions.
1300 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1301 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1302 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1303 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1304 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1305
57963e39
TS
1306 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1307 * oacc-mem.c: ... here.
1308 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1309 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1310 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1311 Remove.
1312 * libgomp_g.h: Update.
1313
c5578b56
TS
1314 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1315 * oacc-async.c: ... here.
1316 * oacc-int.h (goacc_wait): Declare.
1317 * libgomp_g.h: Update
1318
3d1b5e71
TS
1319 PR libgomp/92854
1320 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1321 New file.
1322 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1323 Likewise.
1324 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1325 Likewise.
1326 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1327 Likewise.
1328 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1329 Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1331 Likewise.
1332
5e939438
TS
13332019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1334 Julian Brown <julian@codesourcery.com>
1335
1336 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1337 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1338
93d90219
TB
13392019-12-11 Tobias Burnus <tobias@codesourcery.com>
1340
1341 * omp_lib.h.in: Fix spelling of function declaration
1342 omp_get_cancell(l)ation.
1343 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1344 Fix typos.
1345 * env.c: Fix comment typos.
1346 * oacc-host.c: Likewise.
1347 * ordered.c: Likewise.
1348 * task.c: Likewise.
1349 * team.c: Likewise.
1350 * config/gcn/task.c: Likewise.
1351 * config/gcn/team.c: Likewise.
1352 * config/nvptx/task.c: Likewise.
1353 * config/nvptx/team.c: Likewise.
1354 * plugin/plugin-gcn.c: Likewise.
1355 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1356 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1357 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1358
a0221aee
TB
13592019-12-11 Tobias Burnus <tobias@codesourcery.com>
1360
1361 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1362 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1363 unnecessary 'dg-additional-options "-w"'.
1364
47afc7b4
TS
13652019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1366 Julian Brown <julian@codesourcery.com>
1367
1368 PR libgomp/92116
1369 PR libgomp/92877
1370
1371 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1372 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1373 Adjust all users.
1374 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1375 Remove XFAIL.
1376 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1377 Likewise.
1378 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1379
b5859e40
TS
13802019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1381
cec41816
TS
1382 PR libgomp/92503
1383 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1384 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1385 file.
1386 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1387 Likewise.
1388 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1389 Likewise.
1390 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1391 Likewise.
1392 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1393 Likewise.
1394 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1395 Likewise.
1396 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1397 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1398 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1399 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1400 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1401 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1403 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1404 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1406
e103542b
TS
1407 PR libgomp/92840
1408 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1409 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1410 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1411 New file.
1412 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1413 Likewise.
1414 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1415 Likewise.
1416 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1417 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1418
41f36f22
TS
1419 PR libgomp/92511
1420 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1421 this file...
1422 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1423 this file...
1424 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1425 file...
1426 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1427 file...
1428 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1429 ... with their content moved into, and extended in this new file.
1430 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1431 New file.
1432 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1433 Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1435 Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1437 Likewise.
1438
6effebe1
TS
1439 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1440
7d020473
TS
1441 PR libgomp/92854
1442 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1443
1e1fb715
TS
1444 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1445
b5859e40
TS
1446 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1447
11586ed9
TB
14482019-12-09 Tobias Burnus <tobias@codesourcery.com>
1449
1450 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1451 unique.
1452 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1453 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1454 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1455 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1456 Ditto.
1457 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1458 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1459
3ad4a03a
KCY
14602019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1461
1462 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1463
6e4d01d6
TB
14642019-12-06 Tobias Burnus <tobias@codesourcery.com>
1465 Kwok Cheung Yeung <kcy@codesourcery.com>
1466
1467 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1468 if input it a NULL pointer.
1469 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1470 diagnostic of NULL pointer.
1471 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1472 * testsuite/libgomp.fortran/optional-map.f90: New.
1473 * testsuite/libgomp.fortran/use_device_addr-1.f90
1474 (test_dummy_opt_callee_1_absent): New.
1475 (test_dummy_opt_call_1): Call it.
1476 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1477 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1478 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1479 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1480 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1481 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1482 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1483 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1484 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1485 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1486 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1487 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1488 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1489 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1490 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1491 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1492
ad80ec46
TB
14932019-12-05 Tobias Burnus <tobias@codesourcery.com>
1494
1495 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1496 expect dg-output of 'Error termination.' for GCN.
1497 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1498 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1499
a8a5f4cc
JJ
15002019-12-04 Jakub Jelinek <jakub@redhat.com>
1501
1502 PR fortran/92756
1503 * testsuite/libgomp.fortran/teams1.f90: New test.
1504 * testsuite/libgomp.fortran/teams2.f90: New test.
1505
d8f0024b
FH
15062019-12-03 Frederik Harwath <frederik@codesourcery.com>
1507
1508 * oacc-init.c (acc_known_device_type): Add function.
1509 (unknown_device_type_error): Add function.
1510 (name_of_acc_device_t): Change to call unknown_device_type_error
1511 on unknown type.
1512 (resolve_device): Use acc_known_device_type.
1513 (acc_init): Fail if acc_device_t argument is not valid.
1514 (acc_shutdown): Likewise.
1515 (acc_get_num_devices): Likewise.
1516 (acc_set_device_type): Likewise.
1517 (acc_get_device_num): Likewise.
1518 (acc_set_device_num): Likewise.
1519 (acc_on_device): Add comment that argument validity is not checked.
1520
83caa34e
AS
15212019-12-03 Andrew Stubbs <ams@codesourcery.com>
1522
1523 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1524 Recognize amdgcn.
1525 (check_effective_target_openacc_amdgcn_accel_present): New proc.
1526 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1527 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1528 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1529 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1530
00484365
SN
15312019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
1532
1533 PR libgomp/91938
1534 * configure.tgt: Avoid IE tls on *-*-musl*.
1535
9909a059
TB
15362019-11-29 Tobias Burnus <tobias@codesourcery.com>
1537
1538 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1539 adding a common-block test case.
1540
b3f44388
JJ
15412019-11-29 Jakub Jelinek <jakub@redhat.com>
1542
1543 PR c++/60228
1544 * testsuite/libgomp.c++/udr-20.C: New test.
1545 * testsuite/libgomp.c++/udr-21.C: New test.
1546
b1a73b48
TS
15472019-11-27 Thomas Schwinge <thomas@codesourcery.com>
1548
1549 * testsuite/lib/libgomp.exp
1550 (check_effective_target_offload_target_nvptx): New proc.
1551 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1552 'dg-skip-if'.
1553 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1554 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1555 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1556
b8e72446
RO
15572019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1558
1559 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1560 * testsuite/libgomp.c/pr39591-2.c: Likewise.
1561 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1562 * testsuite/libgomp.c/private-1.c: Likewise.
1563 * testsuite/libgomp.c/task-1.c: Likewise.
1564 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1565
d88b27da
JB
15662019-11-20 Julian Brown <julian@codesourcery.com>
1567
1568 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1569 aq->mutex here.
1570 (queue_push_launch): Lock aq->mutex before calling
1571 wait_for_queue_nonfull.
1572 (queue_push_callback): Likewise.
1573 (queue_push_asyncwait): Likewise.
1574 (queue_push_placeholder): Likewise.
1575
8d2f4ddf
JB
15762019-11-20 Julian Brown <julian@codesourcery.com>
1577
1578 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1579 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1580 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1581 return code.
1582
e307b05f
JB
15832019-11-20 Julian Brown <julian@codesourcery.com>
1584
1585 PR libgomp/92511
1586
1587 * oacc-mem.c (present_create_copy): Fix device pointer return value in
1588 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
1589 in non-present/create case.
1590 (delete_copyout): Change error condition to fail only on copies outside
1591 of mapped block. Adjust error message accordingly.
1592 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1593 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1594 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1595 message.
1596 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1597 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1598 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1599
83115e9e
MR
16002019-11-20 Maciej W. Rozycki <macro@wdc.com>
1601
1602 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1603 libatomic in build-tree testing.
1604
a1289887
MR
16052019-11-18 Maciej W. Rozycki <macro@wdc.com>
1606
1607 * testsuite/Makefile.in: Regenerate.
1608
8916ba87
AS
16092019-11-15 Andrew Stubbs <ams@codesourcery.com>
1610
1611 * testsuite/libgomp.c/target-print-1.c: New file.
1612 * testsuite/libgomp.fortran/target-print-1.f90: New file.
1613 * testsuite/libgomp.oacc-c/print-1.c: New file.
1614 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1615
237957cc
AS
16162019-11-13 Andrew Stubbs <ams@codesourcery.com>
1617 Kwok Cheung Yeung <kcy@codesourcery.com>
1618 Julian Brown <julian@codesourcery.com>
1619 Tom de Vries <tom@codesourcery.com>
1620
1621 * plugin/Makefrag.am: Add amdgcn plugin support.
1622 * plugin/configfrag.ac: Likewise.
1623 * plugin/plugin-gcn.c: New file.
1624 * configure: Regenerate.
1625 * Makefile.in: Regenerate.
1626 * testsuite/Makefile.in: Regenerate.
1627
cee16451
AS
16282019-11-13 Andrew Stubbs <ams@codesourcery.com>
1629
1630 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1631 and use team_malloc variants.
1632 (gomp_gcn_exit_kernel): Use team_free.
1633 * libgomp.h (TEAM_ARENA_SIZE): Define.
1634 (TEAM_ARENA_START): Define.
1635 (TEAM_ARENA_FREE): Define.
1636 (TEAM_ARENA_END): Define.
1637 (team_malloc): New function.
1638 (team_malloc_cleared): New function.
1639 (team_free): New function.
1640 * team.c (gomp_new_team): Initialize and use team_malloc.
1641 (free_team): Use team_free.
1642 (gomp_free_thread): Use team_free.
1643 (gomp_pause_host): Use team_free.
1644 * work.c (gomp_init_work_share): Use team_malloc.
1645 (gomp_fini_work_share): Use team_free.
1646
fa499995
AS
16472019-11-13 Andrew Stubbs <ams@codesourcery.com>
1648 Kwok Cheung Yeung <kcy@codesourcery.com>
1649 Julian Brown <julian@codesourcery.com>
1650 Tom de Vries <tom@codesourcery.com>
1651
1652 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1653 * Makefile.in: Regenerate.
1654 * config.h.in (PLUGIN_GCN): Add new undef.
1655 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1656 * config/gcn/affinity-fmt.c: New file.
1657 * config/gcn/bar.c: New file.
1658 * config/gcn/bar.h: New file.
1659 * config/gcn/doacross.h: New file.
1660 * config/gcn/icv-device.c: New file.
1661 * config/gcn/oacc-target.c: New file.
1662 * config/gcn/simple-bar.h: New file.
1663 * config/gcn/target.c: New file.
1664 * config/gcn/task.c: New file.
1665 * config/gcn/team.c: New file.
1666 * config/gcn/time.c: New file.
1667 * configure.ac: Add amdgcn*-*-*.
1668 * configure: Regenerate.
1669 * configure.tgt: Add amdgcn*-*-*.
1670 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1671 * libgomp.h (gcn_thrs): Add amdgcn variant.
1672 (set_gcn_thrs): Likewise.
1673 (gomp_thread): Likewise.
1674 * oacc-int.h (goacc_thread): Likewise.
1675 * oacc-target.c: New file.
1676 * openacc.f90 (acc_device_gcn): New parameter.
1677 * openacc.h (acc_device_t): Add acc_device_gcn.
1678 * team.c (gomp_free_pool_helper): Add amdgcn support.
1679
d2903ce0
AS
16802019-11-13 Andrew Stubbs <ams@codesourcery.com>
1681 Julian Brown <julian@codesourcery.com>
1682
1683 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1684 parameter.
1685 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1686 queue constructor.
1687 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1688 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1689 device parameter.
1690
b3d14b3a
AS
16912019-11-13 Andrew Stubbs <ams@codesourcery.com>
1692
1693 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1694 * config/nvptx/libgomp-plugin.c: Move ...
1695 * config/accel/libgomp-plugin.c: ... to here.
1696 * config/nvptx/lock.c: Move ...
1697 * config/accel/lock.c: ... to here.
1698 * config/nvptx/mutex.c: Move ...
1699 * config/accel/mutex.c: ... to here.
1700 * config/nvptx/mutex.h: Move ...
1701 * config/accel/mutex.h: ... to here.
1702 * config/nvptx/oacc-async.c: Move ...
1703 * config/accel/oacc-async.c: ... to here.
1704 * config/nvptx/oacc-cuda.c: Move ...
1705 * config/accel/oacc-cuda.c: ... to here.
1706 * config/nvptx/oacc-host.c: Move ...
1707 * config/accel/oacc-host.c: ... to here.
1708 * config/nvptx/oacc-init.c: Move ...
1709 * config/accel/oacc-init.c: ... to here.
1710 * config/nvptx/oacc-mem.c: Move ...
1711 * config/accel/oacc-mem.c: ... to here.
1712 * config/nvptx/oacc-plugin.c: Move ...
1713 * config/accel/oacc-plugin.c: ... to here.
1714 * config/nvptx/omp-lock.h: Move ...
1715 * config/accel/omp-lock.h: ... to here.
1716 * config/nvptx/openacc.f90: Move ...
1717 * config/accel/openacc.f90: ... to here.
1718 * config/nvptx/pool.h: Move ...
1719 * config/accel/pool.h: ... to here.
1720 * config/nvptx/proc.c: Move ...
1721 * config/accel/proc.c: ... to here.
1722 * config/nvptx/ptrlock.c: Move ...
1723 * config/accel/ptrlock.c: ... to here.
1724 * config/nvptx/ptrlock.h: Move ...
1725 * config/accel/ptrlock.h: ... to here.
1726 * config/nvptx/sem.c: Move ...
1727 * config/accel/sem.c: ... to here.
1728 * config/nvptx/sem.h: Move ...
1729 * config/accel/sem.h: ... to here.
1730 * config/nvptx/thread-stacksize.h: Move ...
1731 * config/accel/thread-stacksize.h: ... to here.
1732
62aee289
MR
17332019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1734 Tobias Burnus <tobias@codesourcery.com>
1735 Frederik Harwath <frederik@codesourcery.com>
1736 Thomas Schwinge <thomas@codesourcery.com>
1737
1738 libgomp/
1739 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1740 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1741 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1742
a2c26c50
TB
17432019-11-11 Tobias Burnus <tobias@codesourcery.com>
1744 Kwok Cheung Yeung <kcy@codesourcery.com>
1745
1746 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1747 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1748
6d4868f3
TS
17492019-11-11 Thomas Schwinge <thomas@codesourcery.com>
1750
bfa1837b
TS
1751 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1752
6d4868f3
TS
1753 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1754 run'.
1755 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1756 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1757
5d183d17
FH
17582019-11-06 Thomas Schwinge <thomas@codesourcery.com>
1759
1760 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1761 Add expected warnings about missing reduction clauses.
1762 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1763 Likewise.
1764 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1765 Likewise.
1766 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1767 Likewise.
1768
d8f03b03
TB
17692019-11-04 Tobias Burnus <tobias@codesourcery.com>
1770
1771 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1772 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1773 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1774 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1775 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1776 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1777
12fd2ec5
TB
17782019-11-04 Tobias Burnus <tobias@codesourcery.com>
1779
1780 PR fortran/92305
1781 * testsuite/libgomp.fortran/allocatable2.f90: Use
1782 unique numbers with 'stop'.
1783 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1784 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1785 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1786 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1787 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1788
92e63bd2
TB
17892019-11-01 Tobias Burnus <tobias@codesourcery.com>
1790
1791 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1792 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1793 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1794 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1795 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1796 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1797
91ae0a46
TB
17982019-10-30 Tobias Burnus <tobias@codesourcery.com>
1799
1800 * testsuite/libgomp.fortran/target9.f90: New.
1801
c425e66b
TB
18022019-10-30 Tobias Burnus <tobias@codesourcery.com>
1803
1804 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1805 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1806 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1807 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1808 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1809 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1810 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1811 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1812 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1813 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1814 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1815 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1816 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1817 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1818 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1819 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1820 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1821 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1822 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1823 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1824 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1825 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1826 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1827 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1828 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1829 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1830 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1831 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1832 * testsuite/libgomp.fortran/character1.f90: Ditto.
1833 * testsuite/libgomp.fortran/character2.f90: Ditto.
1834 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1835 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1836 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1837 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1838 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1839 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1840 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1841 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1842 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1843 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1844 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1845 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1846 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1847 * testsuite/libgomp.fortran/do1.f90: Ditto.
1848 * testsuite/libgomp.fortran/do2.f90: Ditto.
1849 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1850 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1851 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1852 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1853 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1854 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1855 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1856 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1857 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1858 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1859 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1860 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1861 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1862 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1863 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1864 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1865 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1866 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1867 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1868 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1869 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1870 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1871 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1872 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1873 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1874 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1875 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1876 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1877 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1878 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1879 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1880 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1881 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1882 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1883 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1884 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1885 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1886 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1887 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1888 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1889 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1890 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1891 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1892 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1893 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1894 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1895 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1896 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1897 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1898 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1899 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1900 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1901 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1902 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1903 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1904 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1905 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1906 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1907 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1908 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1909 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1910 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1911 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1912 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1913 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1914 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1915 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1916 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1917 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1918 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1919 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1920 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1921 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1922 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1923 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1924 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1925 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1926 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1927 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1928 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1929 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1930 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1931 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1932 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1933 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1934 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1935 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1936 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1937 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1938 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1939 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1940 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1941 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1942 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1943 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1944 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1945 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1946 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1947 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1948 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1949 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1950 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1951 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1952 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1953 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1954 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1955 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1956 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1957 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1958 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1959 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1960 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1961 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1962 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1963 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1964 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1965 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1966 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1967 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1968 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1969 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1970 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1971 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1972 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1973 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1974 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1975 * testsuite/libgomp.fortran/stack.f90: Ditto.
1976 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1977 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1978 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1979 * testsuite/libgomp.fortran/target1.f90: Ditto.
1980 * testsuite/libgomp.fortran/target2.f90: Ditto.
1981 * testsuite/libgomp.fortran/target3.f90: Ditto.
1982 * testsuite/libgomp.fortran/target4.f90: Ditto.
1983 * testsuite/libgomp.fortran/target5.f90: Ditto.
1984 * testsuite/libgomp.fortran/target6.f90: Ditto.
1985 * testsuite/libgomp.fortran/target7.f90: Ditto.
1986 * testsuite/libgomp.fortran/target8.f90: Ditto.
1987 * testsuite/libgomp.fortran/task1.f90: Ditto.
1988 * testsuite/libgomp.fortran/task2.f90: Ditto.
1989 * testsuite/libgomp.fortran/task3.f90: Ditto.
1990 * testsuite/libgomp.fortran/task4.f90: Ditto.
1991 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1992 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1993 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1994 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1995 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1996 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1997 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1998 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1999 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2000 * testsuite/libgomp.fortran/udr1.f90: Ditto.
2001 * testsuite/libgomp.fortran/udr10.f90: Ditto.
2002 * testsuite/libgomp.fortran/udr11.f90: Ditto.
2003 * testsuite/libgomp.fortran/udr12.f90: Ditto.
2004 * testsuite/libgomp.fortran/udr13.f90: Ditto.
2005 * testsuite/libgomp.fortran/udr14.f90: Ditto.
2006 * testsuite/libgomp.fortran/udr15.f90: Ditto.
2007 * testsuite/libgomp.fortran/udr2.f90: Ditto.
2008 * testsuite/libgomp.fortran/udr3.f90: Ditto.
2009 * testsuite/libgomp.fortran/udr4.f90: Ditto.
2010 * testsuite/libgomp.fortran/udr5.f90: Ditto.
2011 * testsuite/libgomp.fortran/udr6.f90: Ditto.
2012 * testsuite/libgomp.fortran/udr7.f90: Ditto.
2013 * testsuite/libgomp.fortran/udr8.f90: Ditto.
2014 * testsuite/libgomp.fortran/udr9.f90: Ditto.
2015 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2016 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2017 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2018 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2019 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2020 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2021 * testsuite/libgomp.fortran/vla7.f90: Ditto.
2022 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2023 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2024 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2025
01509e2f
TB
20262019-10-30 Tobias Burnus <tobias@codesourcery.com>
2027
2028 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2029 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2030 Ditto; add 'dg-do run' for torture testing.
2031 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
2032 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2033 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2034 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2035 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2036 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2037 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2038 * testsuite/libgomp.fortran/task2.f90: Ditto.
2039 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2040 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2041 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2042 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2043 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2044 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2045
ffbdd78a
TB
20462019-10-28 Tobias Burnus <tobias@codesourcery.com>
2047
2048 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2049 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2050 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2051 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2052 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2053 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2054 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2055 Use 'stop' not abort().
2056 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2057 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2058 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2059 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2060 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2061 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2062 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2063 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2064 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2065 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2066 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2067 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2068 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2069 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2070 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2071 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2072 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2073 Ditto.
2074 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2075 Ditto.
2076 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2077 Ditto.
2078 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2079 Ditto.
2080 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2081 Ditto.
2082 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2083 Ditto.
2084 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2085 Ditto.
2086 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2087 Ditto.
2088 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2089 Ditto.
2090 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2091 Ditto.
2092 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2093 Ditto.
2094 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2095 Ditto.
2096 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2097 Ditto.
2098 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2099 Ditto.
2100 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2101 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2102 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2103 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2104 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2105 Likewise and also add 'dg-do run'.
2106 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2107 Ditto.
2108
ec084613
CP
21092019-10-25 Cesar Philippidis <cesar@codesourcery.com>
2110 Tobias Burnus <tobias@codesourcery.com>
2111
2112 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2113 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2114 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2115
77ef3394
JJ
21162019-10-14 Jakub Jelinek <jakub@redhat.com>
2117
2118 PR libgomp/92081
2119 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2120 than 0.
2121
08c14aaa
TB
21222019-10-11 Tobias Burnus <tobias@codesourcery.com>
2123
2124 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2125 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2126
6bbead0c
TS
21272019-10-09 Thomas Schwinge <thomas@codesourcery.com>
2128
2129 PR middle-end/92036
2130 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2131 file.
2132
eba3dee8
TB
21332019-10-09 Tobias Burnus <tobias@codesourcery.com>
2134
2135 PR testsuite/91884
2136 * testsuite/libgomp.fortran/fortran.exp: Conditionally
2137 add -lquadmath.
2138 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2139
7d48e14f
JJ
21402019-10-09 Jakub Jelinek <jakub@redhat.com>
2141
2142 PR libgomp/92028
2143 * target.c (gomp_map_vars_internal): Readd the previous
2144 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2145 though do that just in the !not_found_cnt case.
2146
65b67cf3
TB
21472019-10-08 Tobias Burnus <tobias@codesourcery.com>
2148
2149 * gfortran.dg/gomp/target-simd.f90: New.
2150
6c7e076b
JB
21512019-10-02 Julian Brown <julian@codesourcery.com>
2152 Cesar Philippidis <cesar@codesourcery.com>
2153
2154 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2155 * target.c (FIELD_TGT_EMPTY): Define.
2156 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
2157 as switch instead of list of ifs.
2158 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2159
d61bff85
AT
21602019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
2161
2162 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2163 include. Replace alloca () with __builtin_alloca ().
2164 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2165
810f316d
JJ
21662019-10-01 Jakub Jelinek <jakub@redhat.com>
2167
2168 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2169 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2170 * oacc-parallel.c: Don't include "libgomp_g.h".
2171 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2172 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2173 * aclocal.m4: Regenerated.
2174 * config.h.in: Regenerated.
2175 * configure: Regenerated.
2176 * Makefile.in: Regenerated.
2177
d7f9ee98
KCY
21782019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
2179
2180 * libgomp_g.h: Include stdint.h instead of gstdint.h.
2181
e9085da5
MR
21822019-09-27 Maciej W. Rozycki <macro@wdc.com>
2183
2184 * configure: Regenerate.
2185
c28712be
TB
21862019-09-13 Tobias Burnus <tobias@codesourcery.com>
2187
2188 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2189 string is initialized.
2190
3c086f8d
FW
21912019-09-06 Florian Weimer <fweimer@redhat.com>
2192
2193 * configure: Regenerate.
2194
c6c2d1bc
CLT
21952019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
2196
2197 PR other/79543
2198 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2199 scanning to conform to the GNU Coding Standards.
2200 * configure: Regenerate.
2201
5cb72d83
JJ
22022019-08-28 Jakub Jelinek <jakub@redhat.com>
2203
2204 PR libgomp/91530
2205 * testsuite/libgomp.c/scan-21.c: New test.
2206 * testsuite/libgomp.c/scan-22.c: New test.
2207
0ad7981c
JJ
22082019-08-27 Jakub Jelinek <jakub@redhat.com>
2209
2210 PR libgomp/91530
2211 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2212 targets.
2213 * testsuite/libgomp.c/scan-12.c: Likewise.
2214 * testsuite/libgomp.c/scan-13.c: Likewise.
2215 * testsuite/libgomp.c/scan-14.c: Likewise.
2216 * testsuite/libgomp.c/scan-15.c: Likewise.
2217 * testsuite/libgomp.c/scan-16.c: Likewise.
2218 * testsuite/libgomp.c/scan-17.c: Likewise.
2219 * testsuite/libgomp.c/scan-18.c: Likewise.
2220 * testsuite/libgomp.c/scan-19.c: Likewise.
2221 * testsuite/libgomp.c/scan-20.c: Likewise.
2222 * testsuite/libgomp.c++/scan-9.C: Likewise.
2223 * testsuite/libgomp.c++/scan-10.C: Likewise.
2224 * testsuite/libgomp.c++/scan-11.C: Likewise.
2225 * testsuite/libgomp.c++/scan-12.C: Likewise.
2226 * testsuite/libgomp.c++/scan-14.C: Likewise.
2227 * testsuite/libgomp.c++/scan-15.C: Likewise.
2228 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2229 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2230 * testsuite/libgomp.c++/scan-16.C: Likewise.
2231
1e67491a
TK
22322019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
2233
2234 PR fortran/91473
2235 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2236 -std=legacy so invalid code in the test case is accepted.
2237
393fdeb1
TK
22382019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2239
2240 PR fortran/91422
2241 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2242 dimension.
2243
8860d270
JJ
22442019-08-08 Jakub Jelinek <jakub@redhat.com>
2245
2246 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2247 perform the lookup in the first loop only if !not_found_cnt, otherwise
2248 perform lookups for it in the second loop guarded with
2249 if (not_found_cnt || has_firstprivate).
2250 * testsuite/libgomp.c/target-37.c: New test.
2251 * testsuite/libgomp.c++/target-22.C: New test.
2252
398e3feb
JJ
22532019-08-07 Jakub Jelinek <jakub@redhat.com>
2254
2255 * testsuite/libgomp.c/target-18.c (struct S): New type.
2256 (foo): Use use_device_addr clause instead of use_device_ptr clause
2257 where required by OpenMP 5.0, add further tests for both use_device_ptr
2258 and use_device_addr clauses.
2259 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2260 (foo): Use use_device_addr clause instead of use_device_ptr clause
2261 where required by OpenMP 5.0, add further tests for both use_device_ptr
2262 and use_device_addr clauses. Add t and u arguments.
2263 (main): Adjust caller.
2264
d81ab49d
JJ
22652019-08-06 Jakub Jelinek <jakub@redhat.com>
2266
2267 * testsuite/libgomp.c++/loop-13.C: New test.
2268 * testsuite/libgomp.c++/loop-14.C: New test.
2269 * testsuite/libgomp.c++/loop-15.C: New test.
2270
c3ac76aa
JJ
22712019-07-31 Jakub Jelinek <jakub@redhat.com>
2272
2273 PR middle-end/91301
2274 * testsuite/libgomp.c++/for-27.C: New test.
2275
8dc63166
SK
22762019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
2277
393fdeb1 2278 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 2279 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 2280
554a530f
JJ
22812019-07-20 Jakub Jelinek <jakub@redhat.com>
2282
2283 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2284
6cda84b5
JJ
22852019-07-08 Jakub Jelinek <jakub@redhat.com>
2286
2287 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2288 * testsuite/libgomp.c++/scan-16.C: Likewise.
2289
1f52d1a8
JJ
22902019-07-06 Jakub Jelinek <jakub@redhat.com>
2291
6f67abcd
JJ
2292 * testsuite/libgomp.c/scan-19.c: New test.
2293 * testsuite/libgomp.c/scan-20.c: New test.
2294
1f52d1a8
JJ
2295 * testsuite/libgomp.c/scan-11.c: New test.
2296 * testsuite/libgomp.c/scan-12.c: New test.
2297 * testsuite/libgomp.c/scan-13.c: New test.
2298 * testsuite/libgomp.c/scan-14.c: New test.
2299 * testsuite/libgomp.c/scan-15.c: New test.
2300 * testsuite/libgomp.c/scan-16.c: New test.
2301 * testsuite/libgomp.c/scan-17.c: New test.
2302 * testsuite/libgomp.c/scan-18.c: New test.
2303 * testsuite/libgomp.c++/scan-9.C: New test.
2304 * testsuite/libgomp.c++/scan-10.C: New test.
2305 * testsuite/libgomp.c++/scan-11.C: New test.
2306 * testsuite/libgomp.c++/scan-12.C: New test.
2307 * testsuite/libgomp.c++/scan-13.C: New test.
2308 * testsuite/libgomp.c++/scan-14.C: New test.
2309 * testsuite/libgomp.c++/scan-15.C: New test.
2310 * testsuite/libgomp.c++/scan-16.C: New test.
2311
2f03073f
JJ
23122019-07-04 Jakub Jelinek <jakub@redhat.com>
2313
2314 * testsuite/libgomp.c/scan-9.c: New test.
2315 * testsuite/libgomp.c/scan-10.c: New test.
2316
2f6bb511
JJ
23172019-07-03 Jakub Jelinek <jakub@redhat.com>
2318
2319 * testsuite/libgomp.c++/scan-1.C: New test.
2320 * testsuite/libgomp.c++/scan-2.C: New test.
2321 * testsuite/libgomp.c++/scan-3.C: New test.
2322 * testsuite/libgomp.c++/scan-4.C: New test.
2323 * testsuite/libgomp.c++/scan-5.C: New test.
2324 * testsuite/libgomp.c++/scan-6.C: New test.
2325 * testsuite/libgomp.c++/scan-7.C: New test.
2326 * testsuite/libgomp.c++/scan-8.C: New test.
2327 * testsuite/libgomp.c/scan-1.c: New test.
2328 * testsuite/libgomp.c/scan-2.c: New test.
2329 * testsuite/libgomp.c/scan-3.c: New test.
2330 * testsuite/libgomp.c/scan-4.c: New test.
2331 * testsuite/libgomp.c/scan-5.c: New test.
2332 * testsuite/libgomp.c/scan-6.c: New test.
2333 * testsuite/libgomp.c/scan-7.c: New test.
2334 * testsuite/libgomp.c/scan-8.c: New test.
2335
bd194a51
TS
23362019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2337
85fca03a
TS
2338 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2339 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2340 Likewise.
2341
bd194a51
TS
2342 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2343 check.
2344
6652161e
CP
23452019-06-18 Cesar Philippidis <cesar@codesourcery.com>
2346
2347 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2348 file.
2349
3a37d6f6
TS
23502019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2351
4017da8d
TS
2352 PR fortran/90743
2353 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2354 case.
2355 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2356 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2357 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2358 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2359
6f7c1f65
TS
2360 PR testsuite/90861
2361 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2362
3a37d6f6
TS
2363 PR middle-end/90862
2364 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2365
f45ce17d
TV
23662019-06-16 Tom de Vries <tdevries@suse.de>
2367
2368 PR tree-optimization/89376
2369 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2370
00908992
TV
23712019-06-15 Tom de Vries <tdevries@suse.de>
2372
2373 PR tree-optimization/89713
2374 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2375 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2376
211b7533
JJ
23772019-06-15 Jakub Jelinek <jakub@redhat.com>
2378
2379 PR middle-end/90779
2380 * testsuite/libgomp.c/pr90779.c: New test.
2381 * testsuite/libgomp.fortran/pr90779.f90: New test.
2382
120a01d1
TV
23832019-06-15 Tom de Vries <tdevries@suse.de>
2384
2385 PR tree-optimization/90009
2386 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2387
c29c92c7
FX
23882019-06-13 Feng Xue <fxue@os.amperecomputing.com>
2389
2390 PR tree-optimization/89713
2391 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2392
ce9c4ec3
JJ
23932019-06-11 Jakub Jelinek <jakub@redhat.com>
2394
2395 PR target/90811
2396 * testsuite/libgomp.c/pr90811.c: New test.
2397
28b3a77c
JJ
23982019-06-05 Jakub Jelinek <jakub@redhat.com>
2399
2400 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2401 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2402
7855700e
JJ
24032019-06-04 Jakub Jelinek <jakub@redhat.com>
2404
2405 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2406 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2407 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2408 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2409
a7155c2e
RO
24102019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2411
2412 * configure.ac: Call AX_COUNT_CPUS.
2413 Substitute CPU_COUNT.
2414 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2415 count fallback.
2416 * aclocal.m4: Regenerate.
2417 * configure: Regenerate.
2418 * Makefile.in, testsuite/Makefile.in: Regenerate.
2419
7e47198b
JJ
24202019-05-29 Jakub Jelinek <jakub@redhat.com>
2421
2422 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2423 to ...
2424 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2425 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2426 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2427
fcfb8032
JJ
24282019-05-27 Jakub Jelinek <jakub@redhat.com>
2429
8e7757ba
JJ
2430 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2431
36c7a3ff
JJ
2432 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2433
fcfb8032
JJ
2434 PR libgomp/90641
2435 * work.c (gomp_init_work_share): Instead of aligning final ordered
2436 value to multiples of long long alignment, align to that the
2437 first part (ordered team ids) and if inline_ordered_team_ids
2438 is not on a long long alignment boundary within the structure,
2439 use __alignof__ (long long) - 1 pad size always.
2440 * loop.c (GOMP_loop_start): Fix *mem computation if
2441 inline_ordered_team_ids is not aligned on long long alignment boundary
2442 within the structure.
2443 * loop-ull.c (GOMP_loop_ull_start): Likewise.
2444 * sections.c (GOMP_sections2_start): Likewise.
2445
b5c26449
JJ
24462019-05-24 Jakub Jelinek <jakub@redhat.com>
2447
6c7ae8c5
JJ
2448 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2449 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2450
b5c26449
JJ
2451 PR libgomp/90585
2452 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
2453 HAVE_INTTYPES_H is defined.
2454 (print_uint64_t): New typedef.
2455 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2456 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2457 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2458 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
2459 before casting to void *.
2460 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2461 * oacc-mem.c: Don't include config.h nor stdint.h.
2462 * target.c: Don't include config.h.
2463 * oacc-cuda.c: Likewise.
2464 * oacc-host.c: Don't include stdint.h.
2465
3e03ed66
JJ
24662019-05-20 Jakub Jelinek <jakub@redhat.com>
2467
2468 PR libgomp/90527
2469 * alloc.c (_GNU_SOURCE): Define.
2470
5fae049d
TS
24712019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2472
2473 * acc_prof.h: New file.
2474 * oacc-profiling.c: Likewise.
2475 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2476 Add these, respectively.
2477 * Makefile.in: Regenerate.
2478 * env.c (initialize_env): Call goacc_profiling_initialize.
2479 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2480 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2481 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2482 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2483 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2484 acc_prof_register, acc_prof_unregister, and acc_register_library.
2485 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2486 GOMP_PLUGIN_goacc_thread.
2487 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2488 prof_callbacks_enabled members.
2489 (goacc_prof_enabled, goacc_profiling_initialize)
2490 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2491 (goacc_profiling_dispatch): Declare.
2492 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2493 (GOACC_PROFILING_SETUP_P): Define.
2494 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2495 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2496 OpenACC Profiling Interface.
2497 * oacc-cuda.c (acc_get_current_cuda_device)
2498 (acc_get_current_cuda_context, acc_get_cuda_stream)
2499 (acc_set_cuda_stream): Likewise.
2500 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2501 (acc_init, acc_set_device_type, acc_get_device_type)
2502 (acc_get_device_num, goacc_lazy_initialize): Likewise.
2503 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2504 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2505 (acc_unmap_data, present_create_copy, delete_copyout)
2506 (update_dev_host): Likewise.
2507 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2508 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2509 Likewise.
2510 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2511 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2512 Likewise.
2513 * libgomp.texi: Update.
2514 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2515 file.
2516 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2517 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2518 Likewise.
2519 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2520 Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2522 Likewise.
2523 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2524 Likewise.
2525
1f4c5b9b
CLT
25262019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
2527
2528 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2529 (struct goacc_asyncqueue_list): Likewise.
2530 (goacc_aq): Likewise.
2531 (goacc_aq_list): Likewise.
2532 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2533 (GOMP_OFFLOAD_openacc_async_test): Remove.
2534 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2535 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2536 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2537 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2538 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2539 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2540 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2541 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2542 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2543 (GOMP_OFFLOAD_openacc_async_exec): Declare.
2544 (GOMP_OFFLOAD_openacc_async_construct): Declare.
2545 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2546 (GOMP_OFFLOAD_openacc_async_test): Declare.
2547 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2548 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2549 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2550 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2551 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2552
2553 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2554 (gomp_acc_insert_pointer): Adjust declaration.
2555 (gomp_copy_host2dev): New declaration.
2556 (gomp_copy_dev2host): Likewise.
2557 (gomp_map_vars_async): Likewise.
2558 (gomp_unmap_tgt): Likewise.
2559 (gomp_unmap_vars_async): Likewise.
2560 (gomp_fini_device): Likewise.
2561
2562 * oacc-async.c (get_goacc_thread): New function.
2563 (get_goacc_thread_device): New function.
2564 (lookup_goacc_asyncqueue): New function.
2565 (get_goacc_asyncqueue): New function.
2566 (acc_async_test): Adjust code to use new async design.
2567 (acc_async_test_all): Likewise.
2568 (acc_wait): Likewise.
2569 (acc_wait_async): Likewise.
2570 (acc_wait_all): Likewise.
2571 (acc_wait_all_async): Likewise.
2572 (goacc_async_free): New function.
2573 (goacc_init_asyncqueues): Likewise.
2574 (goacc_fini_asyncqueues): Likewise.
2575 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2576 design.
2577 (acc_set_cuda_stream): Likewise.
2578 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2579 (host_openacc_register_async_cleanup): Remove.
2580 (host_openacc_async_exec): New function.
2581 (host_openacc_async_test): Adjust parameters.
2582 (host_openacc_async_test_all): Remove.
2583 (host_openacc_async_wait): Remove.
2584 (host_openacc_async_wait_async): Remove.
2585 (host_openacc_async_wait_all): Remove.
2586 (host_openacc_async_wait_all_async): Remove.
2587 (host_openacc_async_set_async): Remove.
2588 (host_openacc_async_synchronize): New function.
2589 (host_openacc_async_serialize): New function.
2590 (host_openacc_async_host2dev): New function.
2591 (host_openacc_async_dev2host): New function.
2592 (host_openacc_async_queue_callback): New function.
2593 (host_openacc_async_construct): New function.
2594 (host_openacc_async_destruct): New function.
2595 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 2596 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
2597 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2598 (goacc_attach_host_thread_to_device): Remove old async code usage.
2599 * oacc-int.h (goacc_init_asyncqueues): New declaration.
2600 (goacc_fini_asyncqueues): Likewise.
2601 (goacc_async_copyout_unmap_vars): Likewise.
2602 (goacc_async_free): Likewise.
2603 (get_goacc_asyncqueue): Likewise.
2604 (lookup_goacc_asyncqueue): Likewise.
2605 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2606 design.
2607 (present_create_copy): Adjust code to use new async design.
2608 (delete_copyout): Likewise.
2609 (update_dev_host): Likewise.
2610 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2611 async design.
2612 (gomp_acc_remove_pointer): Adjust code to use new async design.
2613 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2614 design.
2615 (GOACC_enter_exit_data): Likewise.
2616 (goacc_wait): Likewise.
2617 (GOACC_update): Likewise.
2618 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2619 when called, warn as obsolete in comment.
2620 * target.c (goacc_device_copy_async): New function.
2621 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2622 add goacc_device_copy_async case.
2623 (gomp_copy_dev2host): Likewise.
2624 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2625 (gomp_map_pointer): Likewise.
2626 (gomp_map_fields_existing): Likewise.
2627 (gomp_map_vars_internal): New always_inline function, renamed from
2628 gomp_map_vars.
2629 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2630 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2631 passing goacc_asyncqueue argument.
2632 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2633 (gomp_unref_tgt): New function.
2634 (gomp_unmap_vars_internal): New always_inline function, renamed from
2635 gomp_unmap_vars.
2636 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2637 (gomp_unmap_vars_async): Implement by calling
2638 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2639 (gomp_fini_device): New function.
2640 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2641 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2642 new async interface.
2643 (gomp_target_fini): Adjust code to call gomp_fini_device.
2644
2645 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2646 (struct ptx_stream): Remove.
2647 (struct nvptx_thread): Remove current_stream field.
2648 (cuda_map_create): Remove.
2649 (cuda_map_destroy): Remove.
2650 (map_init): Remove.
2651 (map_fini): Remove.
2652 (map_pop): Remove.
2653 (map_push): Remove.
2654 (struct goacc_asyncqueue): Define.
2655 (struct nvptx_callback): Define.
2656 (struct ptx_free_block): Define.
2657 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2658 stream_lock, and next fields.
2659 (enum ptx_event_type): Remove.
2660 (struct ptx_event): Remove.
2661 (ptx_event_lock): Remove.
2662 (ptx_events): Remove.
2663 (init_streams_for_device): Remove.
2664 (fini_streams_for_device): Remove.
2665 (select_stream_for_async): Remove.
2666 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2667 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2668 case.
2669 (nvptx_open_device): Add free_blocks initialization, remove
2670 init_streams_for_device call.
2671 (nvptx_close_device): Remove fini_streams_for_device call, add
2672 free_blocks destruct code.
2673 (event_gc): Remove.
2674 (event_add): Remove.
2675 (nvptx_exec): Adjust parameters and code.
2676 (nvptx_free): Likewise.
2677 (nvptx_host2dev): Remove.
2678 (nvptx_dev2host): Remove.
2679 (nvptx_set_async): Remove.
2680 (nvptx_async_test): Remove.
2681 (nvptx_async_test_all): Remove.
2682 (nvptx_wait): Remove.
2683 (nvptx_wait_async): Remove.
2684 (nvptx_wait_all): Remove.
2685 (nvptx_wait_all_async): Remove.
2686 (nvptx_get_cuda_stream): Remove.
2687 (nvptx_set_cuda_stream): Remove.
2688 (GOMP_OFFLOAD_alloc): Adjust code.
2689 (GOMP_OFFLOAD_free): Likewise.
2690 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2691 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2692 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2693 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2694 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2695 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2696 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2697 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2698 (cuda_free_argmem): New function.
2699 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2700 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2701 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2702 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2703 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2704 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2705 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2706 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2707 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2708 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2709 (cuda_callback_wrapper): New function.
2710 (cuda_memcpy_sanity_check): New function.
2711 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2712 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2713 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2714 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2715
da2d30c1
TS
27162019-05-07 Thomas Schwinge <thomas@codesourcery.com>
2717
2718 PR target/87835
2719 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2720
2bbbfa4e
TS
27212019-05-06 Thomas Schwinge <thomas@codesourcery.com>
2722
2723 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2724
bbf1efe1
KB
27252019-03-27 Kevin Buettner <kevinb@redhat.com>
2726
2727 * team.c (gomp_team_start): Initialize pool->threads[0].
2728
1241136c
TS
27292019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2730
b03d721a
TS
2731 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2732 "-foffload=$offload_target".
2733 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2734 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2735 * testsuite/lib/libgomp.exp
2736 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2737 as (conceptually) merged into
2738 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2739 users.
2740
0a0384b4
TS
2741 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2742 * testsuite/libgomp-test-support.exp.in: Adjust.
2743 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2744 openacc_device_types_s.
2745 (offload_target_to_openacc_device_type): New proc.
2746 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2747 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2748 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2749 * Makefile.in: Regenerate.
2750 * configure: Likewise.
2751 * testsuite/Makefile.in: Likewise.
2752
ee332b4a
TS
2753 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2754 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2755 instead of OFFLOAD_TARGETS.
2756 * target.c (gomp_target_init): Adjust.
2757 * testsuite/libgomp-test-support.exp.in: Likewise.
2758 * testsuite/lib/libgomp.exp: Likewise. Populate
2759 openacc_device_types_s instead of offload_targets_s_openacc.
2760 (check_effective_target_openacc_nvidia_accel_selected)
2761 (check_effective_target_openacc_host_selected): Adjust.
2762 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2763 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2764 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2765 * Makefile.in: Regenerate.
2766 * config.h.in: Likewise.
2767 * configure: Likewise.
2768 * testsuite/Makefile.in: Likewise.
2769
1241136c
TS
2770 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2771 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2772 "offloading: supported, but hardware not accessible".
2773 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2774 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2775
19695f4d
CLT
27762019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
2777
2778 PR c/87924
2779 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2780 goacc_wait().
2781 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2782 and related adjustment.
2783
8b44f8ec
JJ
27842019-01-30 Jakub Jelinek <jakub@redhat.com>
2785
2786 PR c++/88988
2787 * testsuite/libgomp.c++/pr88988.C: New test.
2788
be3a87e7
JJ
27892019-01-28 Jakub Jelinek <jakub@redhat.com>
2790
2791 PR middle-end/89002
2792 * testsuite/libgomp.c/pr89002.c: New test.
2793
497ef4d7
RB
27942019-01-28 Richard Biener <rguenther@suse.de>
2795
2796 PR testsuite/89064
2797 PR tree-optimization/86865
2798 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2799
738c56d4
TV
28002019-01-24 Tom de Vries <tdevries@suse.de>
2801
2802 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2803 once instantiated_devices drops to 0.
2804
4a75460b
TV
28052019-01-23 Tom de Vries <tdevries@suse.de>
2806
2807 PR target/PR88946
2808 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2809 cuMemFree.
2810 (nvptx_exec): Don't call map_push if mapnum == 0.
2811 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2812
4fef8e4d
TV
28132019-01-23 Tom de Vries <tdevries@suse.de>
2814
2815 PR target/88941
2816 PR target/88939
2817 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2818 (map_fini): Remove "assert (!s->map->active)".
2819 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2820
2ee6cb22
TV
28212019-01-23 Tom de Vries <tdevries@suse.de>
2822
2823 PR target/87835
2824 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2825 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2826
d41d952c
TV
28272019-01-15 Tom de Vries <tdevries@suse.de>
2828
2829 PR target/80547
2830 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2831 New test.
2832
efb56ae8
TV
28332019-01-12 Tom de Vries <tdevries@suse.de>
2834
2835 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2836 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2837 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2838 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2839
2c2ff168
TV
28402019-01-12 Tom de Vries <tdevries@suse.de>
2841
2842 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2843
a1057758
TV
28442019-01-12 Tom de Vries <tdevries@suse.de>
2845
2846 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2847 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2848 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2849
56314b77
TV
28502019-01-12 Tom de Vries <tdevries@suse.de>
2851
2852 PR target/85486
2853 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2854 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2855
b39e4366
TV
28562019-01-12 Tom de Vries <tdevries@suse.de>
2857
2858 PR target/85381
2859 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2860 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2861
2cb7a501
TV
28622019-01-12 Tom de Vries <tdevries@suse.de>
2863
2864 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2865 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2866 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2867
8e77f71e
TV
28682019-01-12 Tom de Vries <tdevries@suse.de>
2869
2870 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2871 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2872 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2873
52d22ece
TV
28742019-01-12 Tom de Vries <tdevries@suse.de>
2875
2876 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2877 resources diagnostic.
2878
2b9d9e39
TV
28792019-01-12 Tom de Vries <tdevries@suse.de>
2880
2881 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2882 vector length to be 128.
2883 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2884 length 2097152 to be reduced to 1024 instead of 32.
2885
4102bda6
TS
28862019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2887 James Norris <jnorris@codesourcery.com>
2888
2889 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2890 Library Routines", and "Environment Variables".
2891
052aaace
TV
28922019-01-11 Tom de Vries <tdevries@suse.de>
2893
2894 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2895 num_workers 16.
2896
9390f916
TV
28972019-01-11 Tom de Vries <tdevries@suse.de>
2898
2899 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2900 -foffload=-w.
2901 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2902 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2903 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2904 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2905
2c3e7ad2
TV
29062019-01-11 Tom de Vries <tdevries@suse.de>
2907
2908 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2909 test.
2910
e222497d
NS
29112019-01-10 Nathan Sidwell <nathan@acm.org>
2912 Julian Brown <julian@codesourcery.com>
2913
2914 PR lto/71959
2915 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2916 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2917
cb87fec3
SH
29182019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2919
2920 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2921 and paste code.
2922
30b4d0d0
SH
29232019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2924
2925 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2926 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2927 write.
2928
5d0bc70a
TV
29292019-01-09 Tom de Vries <tdevries@suse.de>
2930
2931 PR target/88756
2932 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2933 #define instead of "const int".
2934 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2935 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2936 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2937 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2938
2c372e81
TV
29392019-01-09 Tom de Vries <tdevries@suse.de>
2940
2941 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2942 one worker.
2943
43493c97
TV
29442019-01-07 Tom de Vries <tdevries@suse.de>
2945
2946 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2947 GOMP_OPENACC_DIM argument.
2948
5c571497
TV
29492019-01-03 Tom de Vries <tdevries@suse.de>
2950
2951 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2952 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2953
a5544970
JJ
29542019-01-01 Jakub Jelinek <jakub@redhat.com>
2955
2956 Update copyright years.
2957
3f27508c
JJ
29582019-01-01 Jakub Jelinek <jakub@redhat.com>
2959
2960 * libgomp.texi: Bump @copying's copyright year.
2961
59d5960c
TS
29622018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2963
2964 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2965 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2966 (GOACC_declare): Redefine the "device" argument to "flags".
2967
a44c1790
TS
29682018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2969 Cesar Philippidis <cesar@codesourcery.com>
2970
2971 * target.c (struct gomp_coalesce_chunk): New structure.
2972 (struct gomp_coalesce_buf): Update the chunks member to use that
2973 type. Adjust all users.
2974
a152954e
TV
29752018-12-19 Tom de Vries <tdevries@suse.de>
2976
2977 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2978 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2979 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2980
49188cd1
TV
29812018-12-19 Tom de Vries <tdevries@suse.de>
2982
2983 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2984 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2985 gcc/testsuite/gcc.dg/goacc.
2986 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2987
c759830b
TS
29882018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2989 Chung-Lin Tang <cltang@codesourcery.com>
2990
2991 * oacc-mem.c (acc_present_or_create): Remove definition and change
2992 to alias of acc_create.
2993 (acc_present_or_copyin): Remove definition and change to alias of
2994 acc_copyin.
2995 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2996 of acc_present_or_create.
2997 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2998 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2999 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3000 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3002 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3003 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3004 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3005 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3006 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3007 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3008 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3009 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3010 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3011 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3012 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3013
7de562ee
TS
30142018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3015
f847198e
TS
3016 PR libgomp/88495
3017 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3018 "identical parameters".
3019 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3020 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3021
c8ab8aab
TS
3022 PR libgomp/88484
3023 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3024 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3025
1404af62
TS
3026 PR libgomp/88407
3027 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3028 (nvptx_wait_async): Unseen async-argument is a no-op.
3029 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3030 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3031 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3032 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3033 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3034 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3035 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
3036 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3037 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
3038
7de562ee
TS
3039 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3040 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3041
17469af7
CLT
30422018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
3043
3044 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3045 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3046 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3047
18c247cc
TS
30482018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3049
3050 PR libgomp/88370
3051 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3052 (acc_set_cuda_stream): Clarify.
3053 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3054 "async_valid_p".
3055 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3056 acc_async_sync".
3057 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3058 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3059 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3060 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3061
b0aba46c
TV
30622018-12-14 Tom de Vries <tdevries@suse.de>
3063
3064 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3065 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3066 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3067 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3068 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3069
fe0827ee
TV
30702018-12-13 Tom de Vries <tdevries@suse.de>
3071
3072 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3073 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3074 * fortran.c (omp_display_affinity_): ... here.
3075 * libgomp.h (gomp_print_string): Declare.
3076 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
3077 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3078 write.
3079
a51f8c92
JJ
30802018-12-13 Jakub Jelinek <jakub@redhat.com>
3081
3082 PR libgomp/88460
3083 * testsuite/libgomp.c++/for-24.C (results): Include it in
3084 omp declare target region.
3085 (main): Use map (always, tofrom: results) instead of
3086 map (tofrom: results).
3087
a6ef2ac9
JJ
30882018-12-12 Jakub Jelinek <jakub@redhat.com>
3089
7a289b7d
JJ
3090 PR fortran/88463
3091 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3092 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3093
a6ef2ac9
JJ
3094 * testsuite/libgomp.c-c++-common/for-16.c: New test.
3095
9c47a019
AS
30962018-12-12 Andreas Schwab <schwab@suse.de>
3097
3098 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3099 clobbered.
3100
d0cbb206
TK
31012018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
3102
3103 PR fortran/88411
3104 * testsuite/libgomp.fortran/async_io_8.f90: New test.
3105
84ca08d2
TS
31062018-12-09 Thomas Schwinge <thomas@codesourcery.com>
3107 Jakub Jelinek <jakub@redhat.com>
3108
3109 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3110 devicep->host2dev_func.
3111
6997628d
JJ
31122018-12-08 Jakub Jelinek <jakub@redhat.com>
3113
3114 PR libgomp/87995
3115 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3116 tls_runtime effective target.
3117 (t): New threadprivate variable.
3118 (main): Set t in threads which execute iterations of the worksharing
3119 loop. Propagate that to the task after the loop and don't abort
3120 if the current taskgroup hasn't been cancelled.
3121
daa8c1d7
JJ
31222018-12-02 Jakub Jelinek <jakub@redhat.com>
3123
4a82df9a
JJ
3124 * testsuite/libgomp.c/task-reduction-3.c: New test.
3125
daa8c1d7
JJ
3126 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3127
fe570ff8
CP
31282018-11-30 Cesar Philippidis <cesar@codesourcery.com>
3129
3130 PR libgomp/88288
3131 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3132 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3133
c223608f
TS
31342018-11-30 Thomas Schwinge <thomas@codesourcery.com>
3135
3136 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3137
fc60283c
RB
31382018-10-19 Richard Biener <rguenther@suse.de>
3139
3140 PR tree-optimization/88182
3141 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3142
ffcf3b79
JJ
31432018-11-26 Jakub Jelinek <jakub@redhat.com>
3144
3145 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3146 (RUNTEST): Don't define.
3147 (RUNTESTDEFAULTFLAGS): Add.
3148 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3149 (distclean-am): Depend on distclean-DEJAGNU.
3150 (check-am): If -j% option is present in MFLAGS and if
3151 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3152 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3153 * testsuite/Makefile.in: Regenerated.
3154
ef6e6914
RB
31552018-11-26 Richard Biener <rguenther@suse.de>
3156
3157 PR tree-optimization/88182
3158 * testsuite/libgomp.c++/pr88182.C: New testcase.
3159
72d3bb76
JJ
31602018-11-20 Jakub Jelinek <jakub@redhat.com>
3161
3162 PR bootstrap/88106
3163 * config/mingw32/affinity-fmt.c: New file.
3164
207286c3
JJ
31652018-11-09 Jakub Jelinek <jakub@redhat.com>
3166
9666c522
JJ
3167 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3168 (gomp_display_affinity): Use __builtin_choose_expr to handle
3169 properly handle argument having integral, or pointer or some other
3170 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
3171 with uint64_t type instead of %llx and unsigned long long.
3172
207286c3
JJ
3173 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3174 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3175
2033f45b
RO
31762018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3177
3178 * affinity.c: Include <string.h>, <stdio.h>.
3179 (gomp_display_affinity_place): Remove cpusetp.
3180 * teams.c: Include <limits.h>.
3181
28567c40
JJ
31822018-11-08 Jakub Jelinek <jakub@redhat.com>
3183
8991d779
JJ
3184 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3185 in_reduction clause for s[0].
3186
28567c40
JJ
3187 * affinity.c (gomp_display_affinity_place): New function.
3188 * affinity-fmt.c: New file.
3189 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3190 * config/linux/affinity.c (gomp_display_affinity_place): New function.
3191 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3192 Move these functions to ...
3193 * config/nvptx/teams.c: ... here. New file.
3194 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3195 New functions.
3196 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3197 functions.
3198 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3199 and _aligned_malloc.
3200 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3201 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3202 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3203 gomp_affinity_format_len): New variables.
3204 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3205 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3206 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3207 modifiers. Display (non-default) chunk sizes. Print
3208 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3209 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3210 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3211 * fortran.c: Include stdio.h and string.h.
3212 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3213 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3214 (omp_set_affinity_format_, omp_get_affinity_format_,
3215 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3216 omp_pause_resource_all_): New functions.
3217 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3218 switch.
3219 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3220 functions to ...
3221 * teams.c: ... here. New file.
3222 * libgomp_g.h: Include gstdint.h.
3223 (GOMP_loop_nonmonotonic_runtime_start,
3224 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3225 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3226 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3227 GOMP_parallel_loop_nonmonotonic_runtime,
3228 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3229 GOMP_loop_ull_nonmonotonic_runtime_start,
3230 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3231 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3232 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3233 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3234 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3235 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3236 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3237 GOMP_teams_reg): Declare.
3238 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3239 gomp_aligned_alloc uses fallback implementation.
3240 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3241 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3242 (struct gomp_doacross_work_share): Add extra field.
3243 (struct gomp_work_share): Add task_reductions field.
3244 (struct gomp_taskgroup): Add workshare and reductions fields.
3245 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3246 (gomp_thread_handle): New typedef.
3247 (gomp_display_affinity_place, gomp_set_affinity_format,
3248 gomp_display_string, gomp_display_affinity,
3249 gomp_display_affinity_thread): Declare.
3250 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3251 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3252 gomp_workshare_task_reduction_register): Declare.
3253 (gomp_team_start): Add taskgroup argument.
3254 (gomp_pause_host): Declare.
3255 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3256 to size_t.
3257 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3258 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3259 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3260 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3261 GOMP_loop_ull_doacross_start,
3262 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3263 GOMP_loop_maybe_nonmonotonic_runtime_next,
3264 GOMP_loop_maybe_nonmonotonic_runtime_start,
3265 GOMP_loop_nonmonotonic_runtime_next,
3266 GOMP_loop_nonmonotonic_runtime_start,
3267 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3268 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3269 GOMP_loop_ull_nonmonotonic_runtime_next,
3270 GOMP_loop_ull_nonmonotonic_runtime_start,
3271 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3272 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3273 GOMP_taskgroup_reduction_register,
3274 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3275 GOMP_teams_reg and GOMP_taskwait_depend.
3276 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3277 omp_{capture,display}_affinity{,_}, and
3278 omp_[gs]et_affinity_format{,_}.
3279 * loop.c: Include string.h.
3280 (GOMP_loop_runtime_next): Add ialias.
3281 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3282 (gomp_loop_static_start, gomp_loop_dynamic_start,
3283 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3284 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3285 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3286 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3287 or gomp_doacross_init callers.
3288 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3289 GOMP_loop_doacross_start): New functions.
3290 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3291 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3292 Mask off GFS_MONOTONIC bit.
3293 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3294 GOMP_loop_maybe_nonmonotonic_runtime_start,
3295 GOMP_loop_nonmonotonic_runtime_next,
3296 GOMP_loop_nonmonotonic_runtime_start,
3297 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3298 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3299 functions.
3300 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3301 gomp_team_start.
3302 * loop_ull.c: Include string.h.
3303 (GOMP_loop_ull_runtime_next): Add ialias.
3304 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3305 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3306 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3307 gomp_loop_ull_ordered_dynamic_start,
3308 gomp_loop_ull_ordered_guided_start,
3309 gomp_loop_ull_doacross_static_start,
3310 gomp_loop_ull_doacross_dynamic_start,
3311 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3312 and gomp_doacross_ull_init callers.
3313 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3314 GOMP_loop_ull_doacross_start): New functions.
3315 (GOMP_loop_ull_runtime_start,
3316 GOMP_loop_ull_ordered_runtime_start,
3317 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3318 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3319 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3320 GOMP_loop_ull_nonmonotonic_runtime_next,
3321 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3322 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3323 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3324 (omp_pause_resource_t, omp_depend_t): New typedefs.
3325 (enum omp_lock_hint_t): Renamed to ...
3326 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3327 enumerators using numbers and omp_lock_hint_* as their aliases.
3328 (omp_lock_hint_t): New typedef. Rename to ...
3329 (omp_sync_hint_t): ... this.
3330 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3331 omp_sync_hint_t instead of omp_lock_hint_t.
3332 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3333 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3334 Declare.
3335 (omp_target_is_present, omp_target_disassociate_ptr):
3336 Change first argument from void * to const void *.
3337 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3338 from void * to const void *.
3339 (omp_target_associate_ptr): Change first and second arguments from
3340 void * to const void *.
3341 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3342 omp_pause_hard): New parameters.
3343 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3344 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3345 New interfaces.
3346 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3347 omp_pause_hard): New parameters.
3348 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3349 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3350 New externals.
3351 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3352 EXTRA argument. If not needed to prepare array, if extra is 0,
3353 clear ws->doacross, otherwise allocate just doacross structure and
3354 extra payload. If array is needed, allocate also extra payload.
3355 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3356 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3357 doacross == NULL.
3358 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3359 gomp_team_start.
3360 (GOMP_parallel): Likewise. Formatting fix.
3361 (GOMP_parallel_reductions): New function.
3362 (GOMP_cancellation_point): If taskgroup has workshare
3363 flag set, check cancelled of prev taskgroup if any.
3364 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3365 on prev taskgroup if any.
3366 * sections.c: Include string.h.
3367 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3368 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3369 (GOMP_sections2_start): New function.
3370 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3371 Pass NULL as taskgroup to gomp_team_start.
3372 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3373 gomp_work_share_start callers.
3374 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3375 If taskgroup has workshare flag set, check cancelled on prev
3376 taskgroup if any. Guard all cancellation tests with
3377 gomp_cancel_var test.
3378 (omp_target_is_present, omp_target_disassociate_ptr):
3379 Change ptr argument from void * to const void *.
3380 (omp_target_memcpy): Change src argument from void * to const void *.
3381 (omp_target_memcpy_rect): Likewise.
3382 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3383 instead of char * where needed.
3384 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3385 from void * to const void *.
3386 (omp_pause_resource, omp_pause_resource_all): New functions.
3387 * task.c (gomp_task_handle_depend): Handle new depend array format
3388 in addition to the old. Handle mutexinoutset kinds the same as
3389 inout for now, handle unspecified kinds.
3390 (gomp_create_target_task): If taskgroup has workshare flag set, check
3391 cancelled on prev taskgroup if any. Guard all cancellation tests with
3392 gomp_cancel_var test. Handle new depend array format count in
3393 addition to the old.
3394 (GOMP_task): Likewise. Adjust function comment.
3395 (gomp_task_run_pre): If taskgroup has workshare flag set, check
3396 cancelled on prev taskgroup if any. Guard all cancellation tests with
3397 gomp_cancel_var test.
3398 (GOMP_taskwait_depend): New function.
3399 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3400 format in addition to the old. Handle mutexinoutset kinds the same as
3401 inout for now, handle unspecified kinds. Fix a function comment typo.
3402 (gomp_taskgroup_init): New function.
3403 (GOMP_taskgroup_start): Use it.
3404 (gomp_reduction_register, gomp_create_artificial_team,
3405 GOMP_taskgroup_reduction_register,
3406 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3407 gomp_parallel_reduction_register,
3408 gomp_workshare_task_reduction_register,
3409 gomp_workshare_taskgroup_start,
3410 GOMP_workshare_task_reduction_unregister): New functions.
3411 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3412 check cancelled on prev taskgroup if any. Guard all cancellation
3413 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
3414 by calling GOMP_taskgroup_reduction_register.
3415 * team.c (gomp_thread_attr): Remove comment.
3416 (struct gomp_thread_start_data): Add handle field.
3417 (gomp_thread_start): Call pthread_detach.
3418 (gomp_new_team): Adjust gomp_init_work_share caller.
3419 (gomp_free_pool_helper): Call pthread_detach.
3420 (gomp_team_start): Add taskgroup argument, initialize implicit
3421 tasks' taskgroup field to that. Don't call
3422 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
3423 (gomp_team_end): Determine nesting by thr->ts.level != 0
3424 rather than thr->ts.team != NULL.
3425 (gomp_pause_pool_helper, gomp_pause_host): New functions.
3426 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3427 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3428 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
3429 if more than 1 allocate also extra payload at the end of array. Never
3430 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3431 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
3432 return true instead of ws.
3433 * Makefile.in: Regenerated.
3434 * configure: Regenerated.
3435 * config.h.in: Regenerated.
3436 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3437 in some cases.
3438 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3439 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3440 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3441 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3442 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3443 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3444 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3445 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3446 * testsuite/libgomp.c-c++-common/for-10.c: New test.
3447 * testsuite/libgomp.c-c++-common/for-11.c: New test.
3448 * testsuite/libgomp.c-c++-common/for-12.c: New test.
3449 * testsuite/libgomp.c-c++-common/for-13.c: New test.
3450 * testsuite/libgomp.c-c++-common/for-14.c: New test.
3451 * testsuite/libgomp.c-c++-common/for-15.c: New test.
3452 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3453 define a different N(test), don't define N(f0) to N(f14), but instead
3454 define N(f20) to N(f34) using != comparisons.
3455 * testsuite/libgomp.c-c++-common/for-7.c: New test.
3456 * testsuite/libgomp.c-c++-common/for-8.c: New test.
3457 * testsuite/libgomp.c-c++-common/for-9.c: New test.
3458 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3459 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3460 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3461 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3462 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3463 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3464 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3465 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3466 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3467 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3468 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3469 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3470 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3471 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3472 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3473 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3474 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3475 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3476 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3477 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3478 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3479 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3480 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3481 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3482 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3483 * testsuite/libgomp.c++/depend-1.C: New test.
3484 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3485 * testsuite/libgomp.c++/depobj-1.C: New test.
3486 * testsuite/libgomp.c++/for-16.C: New test.
3487 * testsuite/libgomp.c++/for-21.C: New test.
3488 * testsuite/libgomp.c++/for-22.C: New test.
3489 * testsuite/libgomp.c++/for-23.C: New test.
3490 * testsuite/libgomp.c++/for-24.C: New test.
3491 * testsuite/libgomp.c++/for-25.C: New test.
3492 * testsuite/libgomp.c++/for-26.C: New test.
3493 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3494 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3495 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3496 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3497 * testsuite/libgomp.c++/task-reduction-10.C: New test.
3498 * testsuite/libgomp.c++/task-reduction-11.C: New test.
3499 * testsuite/libgomp.c++/task-reduction-12.C: New test.
3500 * testsuite/libgomp.c++/task-reduction-13.C: New test.
3501 * testsuite/libgomp.c++/task-reduction-14.C: New test.
3502 * testsuite/libgomp.c++/task-reduction-15.C: New test.
3503 * testsuite/libgomp.c++/task-reduction-16.C: New test.
3504 * testsuite/libgomp.c++/task-reduction-17.C: New test.
3505 * testsuite/libgomp.c++/task-reduction-18.C: New test.
3506 * testsuite/libgomp.c++/task-reduction-19.C: New test.
3507 * testsuite/libgomp.c/task-reduction-1.c: New test.
3508 * testsuite/libgomp.c++/task-reduction-1.C: New test.
3509 * testsuite/libgomp.c/task-reduction-2.c: New test.
3510 * testsuite/libgomp.c++/task-reduction-2.C: New test.
3511 * testsuite/libgomp.c++/task-reduction-3.C: New test.
3512 * testsuite/libgomp.c++/task-reduction-4.C: New test.
3513 * testsuite/libgomp.c++/task-reduction-5.C: New test.
3514 * testsuite/libgomp.c++/task-reduction-6.C: New test.
3515 * testsuite/libgomp.c++/task-reduction-7.C: New test.
3516 * testsuite/libgomp.c++/task-reduction-8.C: New test.
3517 * testsuite/libgomp.c++/task-reduction-9.C: New test.
3518 * testsuite/libgomp.c/teams-1.c: New test.
3519 * testsuite/libgomp.c/teams-2.c: New test.
3520 * testsuite/libgomp.c/thread-limit-4.c: New test.
3521 * testsuite/libgomp.c/thread-limit-5.c: New test.
3522 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3523
58168bbf
CLT
35242018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
3525
3526 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3527 acc_memcpy_to/from_device functions, now with async parameter.
3528 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3529 (acc_memcpy_from_device): Likewise.
3530 (acc_memcpy_to_device_async): New API function.
3531 (acc_memcpy_from_device_async): Likewise.
3532 (present_create_copy): Add async parameter and async setting/unsetting.
3533 (acc_create): Adjust present_create_copy call.
3534 (acc_copyin): Likewise.
3535 (acc_present_or_create): Likewise.
3536 (acc_present_or_copyin): Likewise.
3537 (acc_create_async): New API function.
3538 (acc_copyin_async): New API function.
3539 (delete_copyout): Add async parameter and async setting/unsetting.
3540 (acc_delete): Adjust delete_copyout call.
3541 (acc_copyout): Likewise.
3542 (acc_delete_async): New API function.
3543 (acc_copyout_async): Likewise.
3544 (update_dev_host): Add async parameter and async setting/unsetting.
3545 (acc_update_device): Adjust update_dev_host call.
3546 (acc_update_self): Likewise.
3547 (acc_update_device_async): New API function.
3548 (acc_update_self_async): Likewise.
3549 * openacc.h (acc_copyin_async): Declare new API function.
3550 (acc_create_async): Likewise.
3551 (acc_copyout_async): Likewise.
3552 (acc_delete_async): Likewise.
3553 (acc_update_device_async): Likewise.
3554 (acc_update_self_async): Likewise.
3555 (acc_memcpy_to_device_async): Likewise.
3556 (acc_memcpy_from_device_async): Likewise.
3557 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3558 (acc_copyin_async_64_h): New subroutine.
3559 (acc_copyin_async_array_h): New subroutine.
3560 (acc_create_async_32_h): New subroutine.
3561 (acc_create_async_64_h): New subroutine.
3562 (acc_create_async_array_h): New subroutine.
3563 (acc_copyout_async_32_h): New subroutine.
3564 (acc_copyout_async_64_h): New subroutine.
3565 (acc_copyout_async_array_h): New subroutine.
3566 (acc_delete_async_32_h): New subroutine.
3567 (acc_delete_async_64_h): New subroutine.
3568 (acc_delete_async_array_h): New subroutine.
3569 (acc_update_device_async_32_h): New subroutine.
3570 (acc_update_device_async_64_h): New subroutine.
3571 (acc_update_device_async_array_h): New subroutine.
3572 (acc_update_self_async_32_h): New subroutine.
3573 (acc_update_self_async_64_h): New subroutine.
3574 (acc_update_self_async_array_h): New subroutine.
3575 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3576 (acc_copyin_async_64_h): New subroutine.
3577 (acc_copyin_async_array_h): New subroutine.
3578 (acc_create_async_32_h): New subroutine.
3579 (acc_create_async_64_h): New subroutine.
3580 (acc_create_async_array_h): New subroutine.
3581 (acc_copyout_async_32_h): New subroutine.
3582 (acc_copyout_async_64_h): New subroutine.
3583 (acc_copyout_async_array_h): New subroutine.
3584 (acc_delete_async_32_h): New subroutine.
3585 (acc_delete_async_64_h): New subroutine.
3586 (acc_delete_async_array_h): New subroutine.
3587 (acc_update_device_async_32_h): New subroutine.
3588 (acc_update_device_async_64_h): New subroutine.
3589 (acc_update_device_async_array_h): New subroutine.
3590 (acc_update_self_async_32_h): New subroutine.
3591 (acc_update_self_async_64_h): New subroutine.
3592 (acc_update_self_async_array_h): New subroutine.
3593 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3594 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3595 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3596 acc_memcpy_to_device_async*, acc_update_device_async*, and
3597 acc_update_self_async* entries.
3598 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3599 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3600 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3601
22e05272
JM
36022018-10-31 Joseph Myers <joseph@codesourcery.com>
3603
3604 PR bootstrap/82856
3605 * Makefile.am: Include multilib.am
3606 (AUTOMAKE_OPTIONS): Add info-in-builddir.
3607 (CLEANFILES): Remove libgomp.info.
3608 * configure.ac: Remove AC_PREREQ.
3609 * testsuite/Makefile.am (RUNTEST): Remove quotes.
3610 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3611 Regenerate.
3612
87a5ccfb
JM
36132018-10-29 Joseph Myers <joseph@codesourcery.com>
3614 Julian Brown <julian@codesourcery.com>
3615
3616 * testsuite/libgomp.oacc-c++/this.C: New.
3617
2049befd
CP
36182018-09-18 Cesar Philippidis <cesar@codesourcery.com>
3619
3620 * plugin/plugin-nvptx.c (struct cuda_map): New.
3621 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3622 h_tail with (cuda_map *) map.
3623 (cuda_map_create): New function.
3624 (cuda_map_destroy): New function.
3625 (map_init): Update to use a linked list of cuda_map objects.
3626 (map_fini): Likewise.
3627 (map_pop): Likewise.
3628 (map_push): Likewise. Return CUdeviceptr instead of void.
3629 (init_streams_for_device): Remove stales references to ptx_stream
3630 members.
3631 (select_stream_for_async): Likewise.
3632 (nvptx_exec): Update call to map_init.
3633
8e36332c
CP
36342018-09-09 Cesar Philippidis <cesar@codesourcery.com>
3635 Julian Brown <julian@codesourcery.com>
3636
3637 PR middle-end/86336
3638 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3639
2b4c9065
NK
36402018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
3641 Thomas Koenig <tkoenig@gcc.gnu.org>
3642
3643 PR fortran/25829
3644 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3645 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3646 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3647 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3648 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3649 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3650 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3651
bd9b3d3d
CP
36522018-08-13 Cesar Philippidis <cesar@codesourcery.com>
3653 Tom de Vries <tdevries@suse.de>
3654
3655 PR target/85590
3656 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3657 (cuOccupancyMaxPotentialBlockSize): Declare.
3658 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3659 CUDA_ONE_CALL_MAYBE_NULL.
3660 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3661 CUoccupancyB2DSize and declare
3662 cuOccupancyMaxPotentialBlockSize.
3663 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3664 default num_gangs and num_workers when the driver supports it.
3665
8e09a12f
TV
36662018-08-08 Tom de Vries <tdevries@suse.de>
3667
3668 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3669 CUDA_ONE_CALL_MAYBE_NULL.
3670 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3671 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3672 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3673 are not found.
3674
cedd9bd0
TV
36752018-08-08 Tom de Vries <tdevries@suse.de>
3676
3677 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3678 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3679 present.
3680
b113af95
TV
36812018-08-08 Tom de Vries <tdevries@suse.de>
3682
3683 * plugin/plugin-nvptx.c
3684 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3685 (nvptx_open_device): Use
3686 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3687
94767dac
TV
36882018-08-08 Tom de Vries <tdevries@suse.de>
3689
3690 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3691 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3692
02150de8
TV
36932018-08-07 Tom de Vries <tdevries@suse.de>
3694
3695 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3696 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3697 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3698 corresponding call in CUDA_ONE_CALL. Add def/undef of
3699 CUDA_ONE_CALL_MAYBE_NULL.
3700 (CUDA_CALL_EXISTS): Define.
3701
9e28b107
TV
37022018-08-07 Tom de Vries <tdevries@suse.de>
3703
3704 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3705 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3706 corresponding undefs right after.
3707
09940090
TV
37082018-08-04 Tom de Vries <tdevries@suse.de>
3709
3710 * plugin/configfrag.ac: For --without-cuda-driver, set
3711 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3712 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3713 * configure: Regenerate.
3714
77e0a97a
TV
37152018-08-02 Tom de Vries <tdevries@suse.de>
3716
3717 PR target/86660
3718 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3719 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3720 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3721 Same.
3722 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3723 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3724 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3725
701d080a
CP
37262018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3727 Thomas Schwinge <thomas@codesourcery.com>
3728
3729 * config/nvptx/oacc-parallel.c: Truncate.
3730
094db6be
CP
37312018-08-01 Cesar Philippidis <cesar@codesourcery.com>
3732 James Norris <jnorris@codesourcery.com>
3733
3734 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
3735 (map_init, map_pop): Remove use of struct map.
3736 (map_push): Likewise and change argument list.
094db6be
CP
3737 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3738
8c6310a2
TV
37392018-08-01 Tom de Vries <tdevries@suse.de>
3740
3741 * plugin/cuda-lib.def: New file. Factor out of ...
3742 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3743 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3744 using CUDA_CALLS.
3745
1d4a51cf
AV
37462018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
3747
3748 Revert 'AsyncI/O patch committed'.
3749 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3750 Thomas Koenig <tkoenig@gcc.gnu.org>
3751
3752 PR fortran/25829
3753 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3754 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3755 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3756 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3757 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3758 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3759 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3760
4cdfee3f
TV
37612018-07-30 Tom de Vries <tdevries@suse.de>
3762
3763 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3764 (nvptx_exec): Ensure worker and vector default dims don't exceed
3765 targ_fn->max_threads_per_block.
3766
0b210c43
TV
37672018-07-30 Tom de Vries <tdevries@suse.de>
3768
3769 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3770 (nvptx_open_device): Init default_dims for device.
3771 (nvptx_exec): Use default_dims from device.
3772
5883c5cc
JJ
37732018-07-26 Jakub Jelinek <jakub@redhat.com>
3774
5d36384c
JJ
3775 PR testsuite/86660
3776 * testsuite/libgomp.c++/for-15.C (results): Include it in
3777 omp declare target region.
3778 (main): Use map (always, tofrom: results) instead of
3779 map (tofrom: results).
3780
5883c5cc
JJ
3781 PR middle-end/86660
3782 * testsuite/libgomp.c/pr86660.c: New test.
3783
88a4654d
CP
37842018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3785 Tom de Vries <tdevries@suse.de>
3786
3787 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3788 sufficient resources to launch a kernel, and give a hint on how to fix
3789 it.
3790
0c6c2f5f
CP
37912018-07-26 Cesar Philippidis <cesar@codesourcery.com>
3792 Tom de Vries <tdevries@suse.de>
3793
3794 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3795 max_threads_per_block and max_threads_per_multiprocessor fields.
3796 (nvptx_open_device): Initialize new fields.
3797 (nvptx_exec): Use num_sms, and new fields.
3798
6dd58010
TV
37992018-07-26 Tom de Vries <tdevries@suse.de>
3800
3801 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3802 to correct locations. Remove xfail.
3803
b2eb1779
TV
38042018-07-26 Tom de Vries <tdevries@suse.de>
3805
3806 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3807 acc_wait. Move acc_async_test calls to correct locations. Remove
3808 xfail.
3809
b1f45884
NK
38102018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
3811 Thomas Koenig <tkoenig@gcc.gnu.org>
3812
3813 PR fortran/25829
3814 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3815 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3816 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3817 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3818 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3819 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3820 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3821
3a106211
JJ
38222018-07-17 Jakub Jelinek <jakub@redhat.com>
3823
a3bccfa1
JJ
3824 PR middle-end/86542
3825 * testsuite/libgomp.c++/pr86542.C: New test.
3826
3a106211
JJ
3827 PR middle-end/86539
3828 * testsuite/libgomp.c++/pr86539.C: New test.
3829
2bae8b2f
JJ
38302018-07-11 Jakub Jelinek <jakub@redhat.com>
3831
3832 PR c++/86443
3833 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3834 (results): Make sure the variable is not inside declare target region.
3835 (qux): Remove unused function.
3836
0b27c3ed
JJ
38372018-07-10 Jakub Jelinek <jakub@redhat.com>
3838
3839 PR c++/86443
3840 * testsuite/libgomp.c++/for-15.C: New test.
3841
f0391511
JJ
38422018-06-26 Jakub Jelinek <jakub@redhat.com>
3843
3844 PR c++/86291
3845 * testsuite/libgomp.c++/pr86291.C: New test.
3846
1a6d1d24
GP
38472018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3848
3849 * libgomp.texi (Top): Move www.openmp.org to https.
3850 (Enabling OpenMP): Ditto.
3851 (omp_get_active_level): Ditto.
3852 (omp_get_ancestor_thread_num): Ditto.
3853 (omp_get_cancellation): Ditto.
3854 (omp_get_default_device): Ditto.
3855 (omp_get_dynamic): Ditto.
3856 (omp_get_level): Ditto.
3857 (omp_get_max_active_levels): Ditto.
3858 (omp_get_max_task_priority): Ditto.
3859 (omp_get_max_threads): Ditto.
3860 (omp_get_nested): Ditto.
3861 (omp_get_num_devices): Ditto.
3862 (omp_get_num_procs): Ditto.
3863 (omp_get_num_teams): Ditto.
3864 (omp_get_num_threads): Ditto.
3865 (omp_get_proc_bind): Ditto.
3866 (omp_get_schedule): Ditto.
3867 (omp_get_team_num): Ditto.
3868 (omp_get_team_size): Ditto.
3869 (omp_get_thread_limit): Ditto.
3870 (omp_get_thread_num): Ditto.
3871 (omp_in_parallel): Ditto.
3872 (omp_in_final): Ditto.
3873 (omp_is_initial_device): Ditto.
3874 (omp_set_default_device): Ditto.
3875 (omp_set_dynamic): Ditto.
3876 (omp_set_max_active_levels): Ditto.
3877 (omp_set_nested): Ditto.
3878 (omp_set_num_threads): Ditto.
3879 (omp_set_schedule): Ditto.
3880 (omp_init_lock): Ditto.
3881 (omp_set_lock): Ditto.
3882 (omp_test_lock): Ditto.
3883 (omp_unset_lock): Ditto.
3884 (omp_destroy_lock): Ditto.
3885 (omp_init_nest_lock): Ditto.
3886 (omp_set_nest_lock): Ditto.
3887 (omp_test_nest_lock): Ditto.
3888 (omp_unset_nest_lock): Ditto.
3889 (omp_destroy_nest_lock): Ditto.
3890 (omp_get_wtick): Ditto.
3891 (omp_get_wtime): Ditto.
3892 (OMP_CANCELLATION): Ditto.
3893 (OMP_DISPLAY_ENV): Ditto.
3894 (OMP_DEFAULT_DEVICE): Ditto.
3895 (OMP_DYNAMIC): Ditto.
3896 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3897 (OMP_MAX_TASK_PRIORITY): Ditto.
3898 (OMP_NESTED): Ditto.
3899 (OMP_NUM_THREADS): Ditto.
3900 (OMP_PROC_BIND): Ditto.
3901 (OMP_PLACES): Ditto.
3902 (OMP_STACKSIZE): Ditto.
3903 (OMP_SCHEDULE): Ditto.
3904 (OMP_THREAD_LIMIT): Ditto.
3905 (OMP_WAIT_POLICY): Ditto.
3906
31dd69b7
CP
39072018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3908 James Norris <jnorris@codesourcery.com>
3909 Julian Brown <julian@codesourcery.com>
3910 Thomas Schwinge <thomas@codesourcery.com>
3911 Tom de Vries <tom@codesourcery.com>
3912
3913 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3914 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3915 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3916 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3917 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3918 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3919 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3920 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3922 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3923 Likewise.
3924 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3925 Likewise.
3926 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3927 Likewise.
3928 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3929 Likewise.
3930 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3931 Likewise.
3932 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3933 Likewise.
3934 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3935 Likewise.
3936 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3937 Likewise.
3938 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3939 Likewise.
3940 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3941 Likewise.
3942 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3943 Likewise.
3944 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3945 Likewise.
3946 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3947 Likewise.
3948 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3949 Likewise.
3950 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3951 Likewise.
3952 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3953 Likewise.
3954 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3955 Likewise.
3956 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3957 Likewise.
3958 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3959 Likewise.
3960 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3961 Likewise.
3962 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3963 Likewise.
3964 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3965 Likewise.
3966 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3967 Likewise.
3968 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3969 Likewise.
3970 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3971 Likewise.
3972 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3973 Likewise.
3974 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3975 Likewise.
3976 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3977 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3978 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3979 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3980 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3981 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3982 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3983 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3984 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3985 Likewise.
3986 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3987 Likewise.
3988 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3989 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3990 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3991 Likewise.
3992 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3993 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3994 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3995 Likewise.
3996 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3997 Likewise.
3998 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3999 Likewise.
4000 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4001 Likewise.
4002 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4003 Likewise.
4004 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4005 Likewise.
4006 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4007 Likewise.
4008 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4009 Likewise.
4010 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4011 Likewise.
4012 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4013 Likewise.
4014 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4015 Likewise.
4016 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4017 Likewise.
4018 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4019 Likewise.
4020 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4021 Likewise.
4022 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4023 Likewise.
4024 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4025 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4026 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4027 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4028 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4029 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4030 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4031
829c6349
CLT
40322018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4033 Thomas Schwinge <thomas@codesourcery.com>
4034 Cesar Philippidis <cesar@codesourcery.com>
4035
4036 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4037 (gomp_acc_remove_pointer): Update declaration.
4038 (gomp_acc_declare_allocate): Declare.
4039 (gomp_remove_var): Declare.
4040 * libgomp.map (OACC_2.5): Define.
4041 * oacc-mem.c (acc_map_data): Update refcount.
4042 (acc_unmap_data): Likewise.
4043 (present_create_copy): Likewise.
4044 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4045 (acc_copyin): Likewise.
4046 (FLAG_FINALIZE): Define.
4047 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4048 (acc_delete_finalize): New function.
4049 (acc_delete_finalize_async): New function.
4050 (acc_copyout_finalize): New function.
4051 (acc_copyout_finalize_async): New function.
4052 (gomp_acc_insert_pointer): Update refcounts.
4053 (gomp_acc_remove_pointer): Return if data is not present on the
4054 accelerator.
4055 * oacc-parallel.c (find_pset): Rename to find_pointer.
4056 (find_pointer): Add support for GOMP_MAP_POINTER.
4057 (handle_ftn_pointers): New function.
4058 (GOACC_parallel_keyed): Update refcounts of variables.
4059 (GOACC_enter_exit_data): Add support for finalized data mappings.
4060 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4061 of fortran arrays.
4062 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4063 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4064 for GOMP_MAP_FORCE_FROM.
4065 * openacc.f90 (module openacc_internal): Add
4066 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4067 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4068 acc_copyout_finalize and acc_delete_finalize.
4069 (acc_copyout_finalize_32_h): New subroutine.
4070 (acc_copyout_finalize_64_h): New subroutine.
4071 (acc_copyout_finalize_array_h): New subroutine.
4072 (acc_delete_finalize_32_h): New subroutine.
4073 (acc_delete_finalize_64_h): New subroutine.
4074 (acc_delete_finalize_array_h): New subroutine.
4075 * openacc.h (acc_copyout_finalize): Declare.
4076 (acc_copyout_finalize_async): Declare.
4077 (acc_delete_finalize): Declare.
4078 (acc_delete_finalize_async): Declare.
4079 * openacc_lib.h (acc_copyout_finalize): New interface.
4080 (acc_delete_finalize): New interface.
4081 * target.c (gomp_map_vars): Update dynamic_refcount.
4082 (gomp_remove_var): New function.
4083 (gomp_unmap_vars): Use it.
4084 (gomp_unload_image_from_device): Likewise.
4085 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4086 case to utilize OpenACC 2.5 data clause semantics.
4087 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4088 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4089 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4090 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4091 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4092 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4093 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4095 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4096 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4097 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4098 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4099 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4100 utilize OpenACC 2.5 data clause semantics.
4101 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4102 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4103 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4104 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4105 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4106 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4107 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4108 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4109 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4110
4358400b
JW
41112018-05-21 Janus Weil <janus@gcc.gnu.org>
4112
4113 PR fortran/85841
4114 PR testsuite/85865
4115 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4116 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4117 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4118 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4119 * testsuite/libgomp.fortran/task2.f90: Ditto.
4120 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4121 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4122 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4123 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4124 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4125 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4126 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4127 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4128 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4129
950ad0ba
CP
41302018-05-18 Cesar Philippidis <cesar@codesourcery.com>
4131
4132 PR c++/85782
4133 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4134
f5ad16f1
TV
41352018-05-09 Tom de Vries <tom@codesourcery.com>
4136
4137 PR libgomp/82901
4138 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4139 to GOACC_enter_exit_data.
4140
edbd038a
TV
41412018-05-09 Tom de Vries <tom@codesourcery.com>
4142
4143 PR libgomp/83792
4144 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4145 (async_synchronous_p): New function.
4146 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4147 async_valid_p.
4148 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4149 async_valid_stream_id_p.
4150 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4151 * oacc-parallel.c (GOACC_parallel_keyed): Same.
4152
37d6c719
TV
41532018-05-07 Tom de Vries <tom@codesourcery.com>
4154
4155 PR testsuite/85677
4156 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4157 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4158
63f12215
TV
41592018-05-03 Tom de Vries <tom@codesourcery.com>
4160
4161 PR testsuite/85106
4162 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4163 extra_tool_flags if it contains an -foffload=-fdump-* flag.
4164 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4165 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4166
ec00d3fa
TV
41672018-05-02 Tom de Vries <tom@codesourcery.com>
4168
4169 PR libgomp/85411
4170 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4171 GOMP_OPENACC_DIM ...
4172 * env.c (parse_gomp_openacc_dim): ... here. New function.
4173 (initialize_env): Call parse_gomp_openacc_dim.
4174 (goacc_default_dims): Define.
4175 * libgomp.h (goacc_default_dims): Declare.
4176 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4177 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4178 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4179 GOMP_PLUGIN_acc_default_dim.
4180 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4181 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4182
92243e7c
TV
41832018-05-02 Tom de Vries <tom@codesourcery.com>
4184
4185 PR testsuite/83791
4186 * testsuite/libgomp.c++/udr-9.C: Update.
4187 * testsuite/libgomp.c++/atomic-16.C: Remove.
4188 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4189 * testsuite/libgomp.c++/loop-13.C: Remove.
4190 * testsuite/libgomp.c++/loop-14.C: Remove.
4191 * testsuite/libgomp.c++/loop-15.C: Remove.
4192 * testsuite/libgomp.c++/monotonic-1.C: Remove.
4193 * testsuite/libgomp.c++/monotonic-2.C: Remove.
4194 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4195 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4196 * testsuite/libgomp.c++/ordered-1.C: Remove.
4197 * testsuite/libgomp.c++/pr45784.C: Remove.
4198 * testsuite/libgomp.c++/pr64824.C: Remove.
4199 * testsuite/libgomp.c++/pr64868.C: Remove.
4200 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4201 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4202 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4203 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4204 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4205 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4206 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4207 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4208 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4209 * testsuite/libgomp.c++/pr69389.C: Remove.
4210 * testsuite/libgomp.c++/simd10.C: Remove.
4211 * testsuite/libgomp.c++/simd11.C: Remove.
4212 * testsuite/libgomp.c++/simd12.C: Remove.
4213 * testsuite/libgomp.c++/simd13.C: Remove.
4214 * testsuite/libgomp.c++/target-1.C: Remove.
4215 * testsuite/libgomp.c++/target-3.C: Remove.
4216 * testsuite/libgomp.c++/target-4.C: Remove.
4217 * testsuite/libgomp.c++/target-5.C: Remove.
4218 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4219 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4220 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4221 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4222 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4223 * testsuite/libgomp.c++/udr-9.C: Remove.
4224 * testsuite/libgomp.c++/for-10.C: Remove.
4225 * testsuite/libgomp.c++/for-11.C: Remove.
4226 * testsuite/libgomp.c++/for-12.C: Remove.
4227 * testsuite/libgomp.c++/for-13.C: Remove.
4228 * testsuite/libgomp.c++/for-14.C: Remove.
4229 * testsuite/libgomp.c++/for-9.C: Remove.
4230 * testsuite/libgomp.c/atomic-18.c: Move ...
4231 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4232 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4233 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4234 * testsuite/libgomp.c/loop-13.c: Move ...
4235 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4236 * testsuite/libgomp.c/loop-14.c: Move ...
4237 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4238 * testsuite/libgomp.c/loop-15.c: Remove.
4239 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4240 * testsuite/libgomp.c/monotonic-1.c: Move ...
4241 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4242 * testsuite/libgomp.c/monotonic-2.c: Move ...
4243 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4244 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4245 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4246 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4247 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4248 * testsuite/libgomp.c/ordered-4.c: Move ...
4249 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4250 * testsuite/libgomp.c/pr45784.c: Move ...
4251 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4252 * testsuite/libgomp.c/pr64824.c: Move ...
4253 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4254 * testsuite/libgomp.c/pr64868.c: Move ...
4255 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4256 * testsuite/libgomp.c/pr66199-1.c: Move ...
4257 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4258 * testsuite/libgomp.c/pr66199-2.c: Move ...
4259 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4260 * testsuite/libgomp.c/pr66199-3.c: Move ...
4261 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4262 * testsuite/libgomp.c/pr66199-4.c: Move ...
4263 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4264 * testsuite/libgomp.c/pr66199-5.c: Move ...
4265 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4266 * testsuite/libgomp.c/pr66199-6.c: Move ...
4267 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4268 * testsuite/libgomp.c/pr66199-7.c: Move ...
4269 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4270 * testsuite/libgomp.c/pr66199-8.c: Move ...
4271 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4272 * testsuite/libgomp.c/pr66199-9.c: Move ...
4273 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4274 * testsuite/libgomp.c/pr69389.c: Move ...
4275 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4276 * testsuite/libgomp.c/simd-14.c: Move ...
4277 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4278 * testsuite/libgomp.c/simd-15.c: Move ...
4279 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4280 * testsuite/libgomp.c/simd-16.c: Move ...
4281 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4282 * testsuite/libgomp.c/simd-17.c: Move ...
4283 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4284 * testsuite/libgomp.c/target-1.c: Move ...
4285 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4286 * testsuite/libgomp.c/target-10.c: Move ...
4287 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4288 * testsuite/libgomp.c/target-13.c: Move ...
4289 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4290 * testsuite/libgomp.c/target-2.c: Move ...
4291 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4292 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4293 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4294 * testsuite/libgomp.c/taskloop-1.c: Move ...
4295 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4296 * testsuite/libgomp.c/taskloop-2.c: Move ...
4297 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4298 * testsuite/libgomp.c/taskloop-3.c: Move ...
4299 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4300 * testsuite/libgomp.c/taskloop-4.c: Move ...
4301 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4302 * testsuite/libgomp.c/udr-1.c: Move ...
4303 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4304 * testsuite/libgomp.c/for-1.c: Move ...
4305 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4306 * testsuite/libgomp.c/for-1.h: Move ...
4307 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4308 * testsuite/libgomp.c/for-2.c: Move ...
4309 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4310 * testsuite/libgomp.c/for-2.h: Move ...
4311 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4312 * testsuite/libgomp.c/for-3.c: Move ...
4313 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4314 * testsuite/libgomp.c/for-4.c: Move ...
4315 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4316 * testsuite/libgomp.c/for-5.c: Move ...
4317 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4318 * testsuite/libgomp.c/for-6.c: Move ...
4319 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4320
1f62d637
TV
43212018-05-02 Tom de Vries <tom@codesourcery.com>
4322
4323 PR libgomp/82428
4324 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4325 __builtin_goacc_parlevel_{id,size}.
4326 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4327 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4328 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4329 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4330 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4331 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4332 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4333 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4334 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4335 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4336 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4337 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4338 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4339 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4340 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4341 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4342 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4343 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4344 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4345 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4346 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4347 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4348 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4349
9220b511
TV
43502018-05-02 Tom de Vries <tom@codesourcery.com>
4351
4352 PR testsuite/85106
4353 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4354
6c3c13c1
TV
43552018-05-02 Tom de Vries <tom@codesourcery.com>
4356
4357 PR testsuite/85106
4358 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4359
8d70b61e
JB
43602018-04-29 Julian Brown <julian@codesourcery.com>
4361 Tom de Vries <tom@codesourcery.com>
4362
4363 PR testsuite/85527
4364 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4365 arbitrary order for iterations of atomic subtract check.
4366
4a57a4b6
TV
43672018-04-28 Tom de Vries <tom@codesourcery.com>
4368
4369 PR testsuite/85527
4370 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4371 atomic capture results obtained in parallel loop to an array, instead of
4372 to a scalar.
4373
df36a3d3
TV
43742018-04-26 Tom de Vries <tom@codesourcery.com>
4375
4376 PR libgomp/84020
4377 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4378 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4379 (process_GOMP_NVPTX_JIT): New function.
4380 (link_ptx): Use process_GOMP_NVPTX_JIT.
4381
d160ae78
RB
43822018-04-26 Richard Biener <rguenther@suse.de>
4383 Tom de Vries <tom@codesourcery.com>
4384
4385 PR lto/85422
4386 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4387
ca9dc642
TV
43882018-04-26 Tom de Vries <tom@codesourcery.com>
4389
4390 PR target/85519
4391 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4392 recursion depth from 25 to 23.
4393 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4394
7b47ecf2
L
43952018-04-24 H.J. Lu <hongjiu.lu@intel.com>
4396
4397 * configure: Regenerated.
4398
e91eba31
NS
43992018-04-20 Nathan Sidwell <nathan@codesourcery.com>
4400 Tom de Vries <tom@codesourcery.com>
4401
4402 PR target/85445
4403 * testsuite/libgomp.oacc-c++/ref-1.C: New.
4404
6e0d40b6
TS
44052018-04-19 Thomas Schwinge <thomas@codesourcery.com>
4406
4407 PR libgomp/85463
4408 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4409 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4410 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4411 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4412 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4413 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4414
4415 PR libfortran/85166
4416 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4417 abort".
4418 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4419
a0e1df88
JJ
44202018-04-19 Jakub Jelinek <jakub@redhat.com>
4421
4422 * configure: Regenerated.
4423
001ddaa8
DM
44242018-04-18 David Malcolm <dmalcolm@redhat.com>
4425
4426 PR jit/85384
4427 * configure: Regenerate.
4428
05e0af43
CP
44292018-04-16 Cesar Philippidis <cesar@codesourcery.com>
4430 Tom de Vries <tom@codesourcery.com>
4431
4432 PR middle-end/84955
4433 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4434 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4435
bc436e10
TK
44362018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4437
4438 PR fortran/83064
4439 PR testsuite/85346
4440 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4441 test from gfortran.dg to here.
4442
ffb164c7
JJ
44432018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4444
4445 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4446 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4447
44482018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4449
4450 PR middle-end/84955
4451 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4452 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4453
2ba16fd2
TV
44542018-04-05 Tom de Vries <tom@codesourcery.com>
4455
4456 PR target/85204
4457 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4458
46dbeb40
TV
44592018-03-26 Tom de Vries <tom@codesourcery.com>
4460
4461 PR tree-optimization/85063
4462 * testsuite/libgomp.c/switch-conversion-2.c: New test.
4463 * testsuite/libgomp.c/switch-conversion.c: New test.
4464 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4465 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4466
bfc24e32
TK
44672018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
4468
4469 PR fortran/84381
4470 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4471 call abort by STOP n.
4472 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4473 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4474 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4475 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4476 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4477 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4478 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4479 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4480 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4481 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4482 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4483 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4484 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4485 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4486 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4487 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4488 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4489 * testsuite/libgomp.fortran/associate1.f90: Likewise.
4490 * testsuite/libgomp.fortran/associate2.f90: Likewise.
4491 * testsuite/libgomp.fortran/associate3.f90: Likewise.
4492 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4493 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4494 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4495 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4496 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4497 * testsuite/libgomp.fortran/character1.f90: Likewise.
4498 * testsuite/libgomp.fortran/character2.f90: Likewise.
4499 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4500 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4501 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4502 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4503 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4504 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4505 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4506 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4507 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4508 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4509 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4510 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4511 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4512 * testsuite/libgomp.fortran/do1.f90: Likewise.
4513 * testsuite/libgomp.fortran/do2.f90: Likewise.
4514 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4515 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4516 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4517 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4518 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4519 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4520 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4521 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4522 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4523 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4524 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4525 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4526 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4527 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4528 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4529 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4530 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4531 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4532 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4533 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4534 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4535 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4536 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4537 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4538 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4539 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4540 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4541 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4542 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4543 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4544 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4545 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4546 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4547 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4548 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4549 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4550 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4551 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4552 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4553 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4554 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4555 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4556 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4557 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4558 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4559 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4560 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4561 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4562 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4563 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4564 * testsuite/libgomp.fortran/lib2.f: Likewise.
4565 * testsuite/libgomp.fortran/lib3.f: Likewise.
4566 * testsuite/libgomp.fortran/lib4.f90: Likewise.
4567 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4568 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4569 * testsuite/libgomp.fortran/nested1.f90: Likewise.
4570 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4571 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4572 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4573 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4574 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4575 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4576 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4577 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4578 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4579 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4580 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4581 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4582 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4583 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4584 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4585 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4586 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4587 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4588 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4589 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4590 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4591 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4592 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4593 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4594 * testsuite/libgomp.fortran/pr25162.f: Likewise.
4595 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4596 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4597 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4598 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4599 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4600 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4601 * testsuite/libgomp.fortran/pr28390.f: Likewise.
4602 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4603 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4604 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4605 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4606 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4607 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4608 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4609 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4610 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4611 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4612 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4613 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4614 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4615 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4616 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4617 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4618 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4619 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4620 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4621 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4622 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4623 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4624 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4625 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4626 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4627 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4628 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4629 * testsuite/libgomp.fortran/reference1.f90: Likewise.
4630 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4631 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4632 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4633 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4634 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4635 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4636 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4637 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4638 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4639 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4640 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4641 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4642 * testsuite/libgomp.fortran/stack.f90: Likewise.
4643 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4644 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4645 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4646 * testsuite/libgomp.fortran/target1.f90: Likewise.
4647 * testsuite/libgomp.fortran/target2.f90: Likewise.
4648 * testsuite/libgomp.fortran/target3.f90: Likewise.
4649 * testsuite/libgomp.fortran/target4.f90: Likewise.
4650 * testsuite/libgomp.fortran/target5.f90: Likewise.
4651 * testsuite/libgomp.fortran/target6.f90: Likewise.
4652 * testsuite/libgomp.fortran/target7.f90: Likewise.
4653 * testsuite/libgomp.fortran/target8.f90: Likewise.
4654 * testsuite/libgomp.fortran/task1.f90: Likewise.
4655 * testsuite/libgomp.fortran/task2.f90: Likewise.
4656 * testsuite/libgomp.fortran/task3.f90: Likewise.
4657 * testsuite/libgomp.fortran/task4.f90: Likewise.
4658 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4659 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4660 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4661 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4662 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4663 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4664 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4665 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4666 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4667 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4668 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4669 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4670 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4671 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4672 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4673 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4674 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4675 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4676 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4677 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4678 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4679 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4680 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4681 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4682 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4683 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4684 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4685 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4686 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4687 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4688 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4689 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4690 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4691 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4692 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4693 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4694 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4695 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4696 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4697 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4698 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4699 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4700 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4701 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4702 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4703 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4704 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4705 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4706 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4707 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4708 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4709 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4710 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4711 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4712 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4713 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4714 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4715 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4716 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4717 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4718 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4719 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4720 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4721 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4722 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4723 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4724 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4725 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4726 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4727 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4728 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4729 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4730 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4731 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4732 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4733 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4734 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4735 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4736 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4737 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4738 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4739 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4740 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4741 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4742 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4743 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4744 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4745 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4746 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4747 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4748 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4749 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4750 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4751 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4752 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4753 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4754 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4755 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4756 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4757 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4758 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4759 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4760 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4761 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4762 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4763 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4764 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4765 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4766 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4767 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4768 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4769 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4770 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4771 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4772 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4773 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4774 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4775 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4776 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4777 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4778 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4779 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4780 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4781 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4782 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4783 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4784
79cf14ae
RB
47852018-03-20 Richard Biener <rguenther@suse.de>
4786
4787 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4788 parallelizable loop.
4789
14e335ed
IT
47902018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4791
4792 PR target/84148
4793 * configure: Regenerate.
4794
83d9be55
JJ
47952018-02-16 Jakub Jelinek <jakub@redhat.com>
4796
4797 PR fortran/84418
4798 * libgomp.fortran/pr84418-1.f90: New test.
4799 * libgomp.fortran/pr84418-2.f90: New test.
4800
d1fe6124
JJ
48012018-02-14 Jakub Jelinek <jakub@redhat.com>
4802
4803 PR fortran/84313
4804 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4805 -std=f2003 -fall-intrinsics into dg-additional-options.
4806
3d224921
MJ
48072018-02-08 Martin Jambor <mjambor@suse.cz>
4808
4809 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4810 clonable.
4811
c7c30edd
MJ
48122018-02-08 Martin Jambor <mjambor@suse.cz>
4813
4814 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4815
f320fdfd
RO
48162018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4817
4818 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4819 [__cplusplus]: Declare extern "C".
4820
c31bc4ac
TV
48212018-02-07 Tom de Vries <tom@codesourcery.com>
4822
4823 PR libgomp/84217
4824 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4825
99ae7ce5
CS
48262018-01-29 Christoph Spiel <cspiel@freenet.de>
4827 Jakub Jelinek <jakub@redhat.com>
4828
4829 PR libgomp/84096
4830 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4831 instead of omp_lock_t.
4832
e77a1236
TV
48332018-01-25 Tom de Vries <tom@codesourcery.com>
4834
4835 PR target/84028
4836 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4837
3dede32b
TV
48382018-01-24 Tom de Vries <tom@codesourcery.com>
4839
4840 PR target/83589
4841 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4842
be606483
TV
48432018-01-24 Tom de Vries <tom@codesourcery.com>
4844
4845 PR target/81352
4846 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4847
8c8e9a6b
TV
48482018-01-19 Tom de Vries <tom@codesourcery.com>
4849 Cesar Philippidis <cesar@codesourcery.com>
4850
4851 PR target/83920
4852 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4853 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4854
65e6aea3
JJ
48552018-01-03 Jakub Jelinek <jakub@redhat.com>
4856
85ec4feb
JJ
4857 Update copyright years.
4858
65e6aea3
JJ
4859 * libgomp.texi: Bump @copying's copyright year.
4860
60bf575c
TV
48612017-12-30 Tom de Vries <tom@codesourcery.com>
4862
4863 PR libgomp/83046
4864 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4865 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4866
7ec16b79
TV
48672017-12-27 Tom de Vries <tom@codesourcery.com>
4868
4869 PR c++/83046
4870 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4871 (test_nonstatic): Fix return type to workaround PR83046.
4872
ac550b9a
JJ
48732017-12-05 Jakub Jelinek <jakub@redhat.com>
4874
4875 PR testsuite/83281
4876 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4877 j suffix instead of i.
4878 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4879 Likewise.
4880
ebdc83f0
CP
48812017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4882
4883 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4884 call to acc_wait (1).
4885
3b3e6283
JJ
48862017-11-24 Jakub Jelinek <jakub@redhat.com>
4887
4888 PR fortran/81304
4889 * testsuite/libgomp.fortran/pr81304.f90: New test.
4890
3b575376
JJ
48912017-11-23 Jakub Jelinek <jakub@redhat.com>
4892
4893 PR fortran/81841
4894 * libgomp.fortran/pr81841.f90: New test.
4895
b13547d8
JJ
48962017-11-22 Jakub Jelinek <jakub@redhat.com>
4897
4898 PR libgomp/83106
4899 * target.c (gomp_target_init): Compute lengths just once and
4900 use them in both malloc size and subsequent copying.
4901
efe33ced
IT
49022017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4903
4904 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4905 * acinclude.m4: Add cet.m4.
4906 * configure: Regenerate.
4907 * Makefile.in: Likewise.
4908 * testsuite/Makefile.in: Likewise.
4909
a7cf2612
TV
49102017-11-15 Tom de Vries <tom@codesourcery.com>
4911
4912 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4913 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4914 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4915 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4916 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4917 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4918
dde76623
TV
49192017-11-14 Tom de Vries <tom@codesourcery.com>
4920
4921 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4922 non-nvidia devices.
4923
4dbeb716
JJ
49242017-11-07 Jakub Jelinek <jakub@redhat.com>
4925
4926 PR c++/82835
4927 * testsuite/libgomp.c++/pr82835.C: New test.
4928
454f8b2b
ML
49292017-11-06 Martin Liska <mliska@suse.cz>
4930
4931 * testsuite/libgomp.c++/loop-2.C: Return a value
4932 for functions with non-void return type, or change type to void,
4933 or add -Wno-return-type for test.
4934 * testsuite/libgomp.c++/loop-4.C: Likewise.
4935 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4936 * testsuite/libgomp.c++/shared-1.C: Likewise.
4937 * testsuite/libgomp.c++/single-1.C: Likewise.
4938 * testsuite/libgomp.c++/single-2.C: Likewise.
4939
12e9c8ce
TV
49402017-10-31 Tom de Vries <tom@codesourcery.com>
4941
4942 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4943 "do {} while (false)".
4944 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4945 after HSA_DEBUG call.
4946
7324369a
JJ
49472017-10-28 Jakub Jelinek <jakub@redhat.com>
4948
4949 * target.c (struct gomp_coalesce_buf): New type.
4950 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4951 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4952 (gomp_copy_host2dev): Add CBUF argument, if copying into
4953 the cached ranges, memcpy into buffer instead of copying
4954 into device.
4955 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4956 Add CBUF argument, pass it through to other calls.
4957 (gomp_map_vars): Aggregate copies from host to device if small enough
4958 and with small enough gaps in between into memcpy into a buffer and
4959 fewer host to device copies from the buffer.
4960 (gomp_update): Adjust gomp_copy_host2dev caller.
4961
933ab0e6
TS
49622017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4963
4964 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4965 run" directive.
4966 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4967 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4968 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4969 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4970
92d5d01a
TV
49712017-10-16 Tom de Vries <tom@codesourcery.com>
4972
4973 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4974 openacc_nvidia_accel_selected.
4975 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4976 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4977 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4978 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4979 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4980 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4981 openacc_nvidia_accel_selected. Skip for shared memory device.
4982 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4983 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4984
191411e4
MJ
49852017-10-09 Martin Jambor <mjambor@suse.cz>
4986
4987 PR hsa/82416
4988 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4989
e923330e
TV
49902017-10-07 Tom de Vries <tom@codesourcery.com>
4991
4992 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4993 Remove acc_device_nvidia references.
4994 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4995 Same.
4996
8fe3ed4c
TV
49972017-10-05 Tom de Vries <tom@codesourcery.com>
4998
4999 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5000 vector_length(32) clause from acc parallel directive.
5001 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5002
26596ee5
TV
50032017-10-04 Tom de Vries <tom@codesourcery.com>
5004
5005 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5006 (main): Reduce sum of arr elements. Assert that hres is exactly
5007 representable in 32-bit floating point.
5008 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5009 (main): Reduce sum of arr elements. Assert that hres and hmres are
5010 exactly representable in 32-bit floating point.
5011 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5012
5c561fa9
TV
50132017-09-28 Tom de Vries <tom@codesourcery.com>
5014
5015 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5016 setting.
5017 * testsuite/libgomp.c++/pr69393.C: Same.
5018 * testsuite/libgomp.c++/taskloop-1.C: Same.
5019 * testsuite/libgomp.c++/taskloop-3.C: Same.
5020 * testsuite/libgomp.c++/taskloop-4.C: Same.
5021 * testsuite/libgomp.c/for-4.c: Same.
5022 * testsuite/libgomp.c/pr66199-3.c: Same.
5023 * testsuite/libgomp.c/pr66199-4.c: Same.
5024 * testsuite/libgomp.c/pr66199-6.c: Same.
5025 * testsuite/libgomp.c/taskloop-1.c: Same.
5026 * testsuite/libgomp.c/taskloop-3.c: Same.
5027 * testsuite/libgomp.c/taskloop-4.c: Same.
5028 * testsuite/libgomp.fortran/aligned1.f03: Same.
5029 * testsuite/libgomp.fortran/condinc1.f: Same.
5030 * testsuite/libgomp.fortran/condinc3.f90: Same.
5031 * testsuite/libgomp.fortran/crayptr1.f90: Same.
5032 * testsuite/libgomp.fortran/crayptr2.f90: Same.
5033 * testsuite/libgomp.fortran/crayptr3.f90: Same.
5034 * testsuite/libgomp.fortran/omp_cond1.f: Same.
5035 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5036 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5037 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5038 * testsuite/libgomp.fortran/recursion1.f90: Same.
5039 * testsuite/libgomp.fortran/target2.f90: Same.
5040 * testsuite/libgomp.fortran/target5.f90: Same.
5041 * testsuite/libgomp.fortran/task3.f90: Same.
5042
7d6206fe
TV
50432017-09-28 Tom de Vries <tom@codesourcery.com>
5044
5045 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5046 vector_length(32) clause from acc parallel directive.
5047 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5048
84c8627c
TV
50492017-09-27 Tom de Vries <tom@codesourcery.com>
5050
5051 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5052 Remove acc_device_nvidia references.
5053
ebc6a85e
TV
50542017-09-16 Tom de Vries <tom@codesourcery.com>
5055
5056 PR c/81875
5057 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5058
82419efb
TV
50592017-09-14 Tom de Vries <tom@codesourcery.com>
5060
5061 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5062 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5063 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5064 * testsuite/libgomp.c/c.exp: Include test-cases from
5065 libgomp.c-c++-common.
5066 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
5067 files.
5068
8b586510
JJ
50692017-09-14 Jakub Jelinek <jakub@redhat.com>
5070
5071 PR c++/81314
5072 * testsuite/libgomp.c++/pr81314.C: New test.
5073
9651fbaf
GP
50742017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
5075
5076 * libgomp.texi (Top): www.openacc.org now uses https.
5077 (Enabling OpenACC): Ditto.
5078 (acc_get_num_devices): Ditto.
5079 (acc_set_device_type): Ditto.
5080 (acc_get_device_type): Ditto.
5081 (acc_set_device_num): Ditto.
5082 (acc_get_device_num): Ditto.
5083 (acc_async_test): Ditto.
5084 (acc_async_test_all): Ditto.
5085 (acc_wait): Ditto.
5086 (acc_wait_all): Ditto.
5087 (acc_wait_all_async): Ditto.
5088 (acc_wait_async): Ditto.
5089 (acc_init): Ditto.
5090 (acc_shutdown): Ditto.
5091 (acc_on_device): Ditto.
5092 (acc_malloc): Ditto.
5093 (acc_free): Ditto.
5094 (acc_copyin): Ditto.
5095 (acc_present_or_copyin): Ditto.
5096 (acc_create): Ditto.
5097 (acc_present_or_create): Ditto.
5098 (acc_copyout): Ditto.
5099 (acc_delete): Ditto.
5100 (acc_update_device): Ditto.
5101 (acc_update_self): Ditto.
5102 (acc_map_data): Ditto.
5103 (acc_unmap_data): Ditto.
5104 (acc_deviceptr): Ditto.
5105 (acc_hostptr): Ditto.
5106 (acc_is_present): Ditto.
5107 (acc_memcpy_to_device): Ditto.
5108 (acc_memcpy_from_device): Ditto.
5109 (acc_get_current_cuda_device): Ditto.
5110 (acc_get_current_cuda_context): Ditto.
5111 (acc_get_cuda_stream): Ditto.
5112 (acc_set_cuda_stream): Ditto.
5113 (ACC_DEVICE_TYPE): Ditto.
5114 (ACC_DEVICE_NUM): Ditto.
5115 (OpenACC Library Interoperability): Ditto.
5116
50aa16c3
JJ
51172017-08-09 Jakub Jelinek <jakub@redhat.com>
5118
5119 PR c/81687
5120 * testsuite/libgomp.c/pr81687-1.c: New test.
5121 * testsuite/libgomp.c/pr81687-2.c: New test.
5122
56b5041c
JJ
51232017-08-07 Jakub Jelinek <jakub@redhat.com>
5124
5125 PR c/69389
5126 * testsuite/libgomp.c/pr69389.c: New test.
5127 * testsuite/libgomp.c++/pr69389.C: New test.
5128
f4c222c0
TV
51292017-08-07 Tom de Vries <tom@codesourcery.com>
5130
5131 PR middle-end/78266
5132 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5133 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5134
a40ff0ae
JJ
51352017-07-27 Jakub Jelinek <jakub@redhat.com>
5136
5137 PR c/45784
5138 * testsuite/libgomp.c/pr45784.c: New test.
5139 * testsuite/libgomp.c++/pr45784.C: New test.
5140
3717fbe3
TV
51412017-07-19 Tom de Vries <tom@codesourcery.com>
5142
5143 * testsuite/libgomp.oacc-c/vec.c: New test.
5144
9607b014
TV
51452017-07-03 Tom de Vries <tom@codesourcery.com>
5146
5147 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5148
dfb15f6b
TV
51492017-06-27 Tom de Vries <tom@codesourcery.com>
5150
5151 * plugin/plugin-nvptx.c (notify_var): New function.
5152 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5153
22f1a037
TV
51542017-06-27 Tom de Vries <tom@codesourcery.com>
5155
5156 * env.c (parse_unsigned_long_1): Factor out of ...
5157 (parse_unsigned_long): ... here.
5158 (parse_int_1): Factor out of ...
5159 (parse_int): ... here.
5160 (parse_int_secure): New function.
5161 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5162 * secure_getenv.h: Factor out of ...
5163 * plugin/plugin-hsa.c: ... here.
5164 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5165
d54d1fc3
JJ
51662017-06-21 Jakub Jelinek <jakub@redhat.com>
5167
5168 PR c++/81130
5169 * testsuite/libgomp.c++/pr81130.C: New test.
5170
4f4b0ab8
RO
51712017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5172
5173 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5174 default args.
5175 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5176 dg-xfail-run-if default args.
5177
40ffd95f
BE
51782017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5179
5180 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5181 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5182
01275e1e
JJ
51832017-05-30 Jakub Jelinek <jakub@redhat.com>
5184
5185 PR libgomp/80822
5186 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5187 (gomp_affinity_init_level): Use it. Always analyze the core and thread
5188 sibling lists, depending on level just pick up what CPUs to put
5189 together into a place vs. whether add multiple ordered places.
5190
78672bd8
TS
51912017-05-24 Thomas Schwinge <thomas@codesourcery.com>
5192
7ce64403
TS
5193 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5194 * libgomp.map (OACC_2.0.1): Add these.
5195 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5196 for "acc_wait", and "acc_wait_all", respectively.
5197 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5198 for "acc_wait", and "acc_wait_all", respectively.
5199 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5200 * libgomp.texi (acc_wait, acc_wait_all): Update.
5201 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5202 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5203 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5204
318686c2
TS
5205 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5206 acc_present_or_copyin and acc_present_or_create procedures,
5207 respectively.
5208 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5209 generally different variants of OpenACC Runtime Library functions.
5210 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5211
a6745534
TS
5212 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5213 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5214
9b94fbc7
TS
5215 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5216 of preprocessor definitions.
5217 * libgomp.h (strong_alias): Guard by "#ifdef
5218 HAVE_ATTRIBUTE_ALIAS".
5219 * oacc-mem.c: Provide "acc_pcreate" as alias for
5220 "acc_present_or_create", and "acc_pcopyin" as alias for
5221 "acc_present_or_copyin".
5222 * libgomp.map: New version "OACC_2.0.1".
5223 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5224 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5225 its content into...
5226 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5227 Extend testing.
5228
78672bd8
TS
5229 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5230 when disabling nvptx offloading.
5231
0c36d0d5
TS
52322017-05-23 Thomas Schwinge <thomas@codesourcery.com>
5233
fd71a9a2
TS
5234 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5235 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5236 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5237
0c36d0d5
TS
5238 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5239 * testsuite/lib/libgomp.exp
5240 (check_effective_target_openacc_nvidia_accel_configured): New
5241 proc.
5242 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5243 (check_effective_target_c++): New procs.
5244 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5245 (check_effective_target_c++): Likewise.
5246
c24783c4
JJ
52472017-05-22 Jakub Jelinek <jakub@redhat.com>
5248
655e5265
JJ
5249 PR middle-end/80809
5250 * testsuite/libgomp.c/pr80809-2.c: New test.
5251 * testsuite/libgomp.c/pr80809-3.c: New test.
5252
e9e2ef9f
JJ
5253 PR middle-end/80809
5254 * testsuite/libgomp.c/pr80809-1.c: New test.
5255
c24783c4
JJ
5256 PR middle-end/80853
5257 * testsuite/libgomp.c/pr80853.c: New test.
5258
0da2f96a
TS
52592017-05-19 Thomas Schwinge <thomas@codesourcery.com>
5260
7fd549d2
TS
5261 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5262 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5263 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5264 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5265 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5266
0da2f96a
TS
5267 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5268 Debug output for failure.
5269
62ffe920
RO
52702017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5271
5272 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5273
f49215b1
JJ
52742017-04-27 Jakub Jelinek <jakub@redhat.com>
5275
5276 PR bootstrap/80531
5277 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5278 bootstrap compare failures.
5279
2260d19d
AM
52802017-04-20 Alexander Monakov <amonakov@ispras.ru>
5281
5282 * testsuite/libgomp.c/target-36.c: New testcase.
5283
19929ba9
JJ
52842017-04-13 Jakub Jelinek <jakub@redhat.com>
5285
5286 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5287 instead of char.
5288
fbc698e0
JJ
52892017-04-11 Jakub Jelinek <jakub@redhat.com>
5290
5291 PR libgomp/80394
5292 * testsuite/libgomp.c/pr80394.c: New test.
5293
c4060df4
JJ
52942017-04-04 Jakub Jelinek <jakub@redhat.com>
5295
5296 PR libgomp/79876
5297 * config/posix/thread-stacksize.h: New file.
5298 * config/darwin/thread-stacksize.h: New file.
5299 * config/nvptx/thread-stacksize.h: New file.
5300 * env.c: Include thread-stacksize.h.
5301 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5302 instead of 0. Call pthread_attr_setstacksize even if
5303 GOMP_DEFAULT_STACKSIZE is non-zero.
5304
e02d868a
JJ
53052017-03-30 Jakub Jelinek <jakub@redhat.com>
5306
5307 * env.c (initialize_env): Initialize stacksize to 0.
5308
7ba8651e
CP
53092017-03-22 Cesar Philippidis <cesar@codesourcery.com>
5310
5311 PR c++/80029
5312 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5313
eebc5e2d
JJ
53142017-03-08 Jakub Jelinek <jakub@redhat.com>
5315
5316 PR c/79940
5317 * testsuite/libgomp.c/pr79940.c: New test.
5318
1eb08f52
RO
53192017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5320
5321 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5322 targets.
5323 Add __float128 options.
5324
b0f78ff3
JDA
53252017-02-11 John David Anglin <danglin@gcc.gnu.org>
5326
5327 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5328 hppa*-*-* dg-skip-if directive.
5329
1bbe0d8f
JJ
53302017-02-09 Jakub Jelinek <jakub@redhat.com>
5331
5332 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5333 dg-skip-if directive into a comment.
5334
02889d23
CLT
53352017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5336 Chung-Lin Tang <cltang@codesourcery.com>
5337
5338 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5339 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5340 add additional case.
5341 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5342 "openacc_nvidia_accel_selected".
5343 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5344 Add num_workers(8) clause.
5345
5896a41d
JDA
53462017-02-08 John David Anglin <danglin@gcc.gnu.org>
5347
5348 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5349 hppa*-*-*.
5350 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5351 include complex.h on hppa*-*-hpux*.
5352 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5353
345a8c17
TS
53542017-02-02 Thomas Schwinge <thomas@codesourcery.com>
5355
e70ab10d
TS
5356 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5357
345a8c17
TS
5358 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5359 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5360 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5361 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5362 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5363 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5364 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5365 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5366 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5367 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5368
dced339c
TS
53692017-01-31 Thomas Schwinge <thomas@codesourcery.com>
5370
5371 * libgomp-plugin.h: #include <stdbool.h>.
5372 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5373 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5374 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5375 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5376 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5377 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5378 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5379 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5380 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5381 (GOMP_OFFLOAD_openacc_async_test)
5382 (GOMP_OFFLOAD_openacc_async_test_all)
5383 (GOMP_OFFLOAD_openacc_async_wait)
5384 (GOMP_OFFLOAD_openacc_async_wait_async)
5385 (GOMP_OFFLOAD_openacc_async_wait_all)
5386 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5387 (GOMP_OFFLOAD_openacc_async_set_async)
5388 (GOMP_OFFLOAD_openacc_create_thread_data)
5389 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5390 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5391 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5392 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5393 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5394 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5395 these.
5396 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5397 (GOMP_OFFLOAD_unload_image): Fix argument types.
5398
23749904
JJ
53992017-01-26 Jakub Jelinek <jakub@redhat.com>
5400
c1cadde1
JJ
5401 * testsuite/lib/libgomp.exp
5402 (check_effective_target_hsa_offloading_selected_nocache): Fix up
5403 check_compile invocation. Fix up removal of executable. Drop
5404 bogus "2>&1" argument.
5405
23749904
JJ
5406 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5407 directive.
5408
54092017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
5410 Martin Jambor <mjambor@suse.cz>
5411
5412 * plugin/hsa.h: Moved to top level include.
5413 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5414
73aa401e
JJ
54152017-01-21 Jakub Jelinek <jakub@redhat.com>
5416
5417 PR other/79046
5418 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5419 of cat to get version from BASE-VER file.
5420 * testsuite/Makefile.in: Regenerated.
5421
b32e85fa
JJ
54222017-01-19 Jakub Jelinek <jakub@redhat.com>
5423
5424 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5425 for _WIN64.
5426
3c36aa6b
JJ
54272017-01-17 Jakub Jelinek <jakub@redhat.com>
5428
d190d5c0
JJ
5429 * plugin/hsa.h: Add GCC runtime library exception.
5430 * plugin/hsa_ext_finalize.h: Likewise.
5431
2393d337
JJ
5432 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
5433 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
5434 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5435 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5436 plugin/include/cuda as include dir and -ldl instead of -lcuda as
5437 library to link ptx plugin against.
5438 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5439 (CUDA_CALLS): Define.
5440 (cuda_lib, cuda_lib_inited): New variables.
5441 (init_cuda_lib): New function.
5442 (CUDA_CALL_PREFIX): Define.
5443 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5444 (CUDA_CALL): Use FN instead of (FN).
5445 (CUDA_CALL_NOCHECK): Define.
5446 (cuda_error, fini_streams_for_device, select_stream_for_async,
5447 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5448 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5449 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5450 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5451 CUDA_CALL_NOCHECK.
5452 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
5453 CUDA_CALL_NOCHECK.
5454 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5455 Use CUDA_CALL_NOCHECK.
5456 * plugin/cuda/cuda.h: New file.
5457 * config.h.in: Regenerated.
5458 * configure: Regenerated.
5459
3c36aa6b
JJ
5460 PR other/79046
5461 * configure.ac: Add GCC_BASE_VER.
5462 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5463 get version from BASE-VER file.
5464 * testsuite/Makefile.in: Regenerated.
5465 * configure: Regenerated.
5466 * Makefile.in: Regenerated.
5467
c508bc2d
FXC
54682017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5469
5470 PR libgomp/60670
5471 * Makefile.am: Make fincludedir multilib-aware.
5472 * Makefile.in: Regenerate.
5473
c1a9c369
JJ
54742017-01-01 Jakub Jelinek <jakub@redhat.com>
5475
cbe34bb5
JJ
5476 Update copyright years.
5477
c1a9c369
JJ
5478 * libgomp.texi: Bump @copying's copyright year.
5479
e7a7f4be
SH
54802016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5481
5482 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5483 pthread_spinlock_t instead of gomp_mutex_t lock.
5484 (gomp_get_thread_pool): Likewise.
5485 (gomp_release_thread_pool): Likewise.
5486 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5487 Likewise.
5488
d313d52c
SH
54892016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5490
5491 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5492 thread pool in case nthreads == 1.
5493
630e3c3a
AM
54942016-11-30 Alexander Monakov <amonakov@ispras.ru>
5495
5496 * config/nvptx/env.c: Delete.
5497 * icv.c: Move definitions of ICV variables back ...
5498 * env.c: ...here. Do not compile environment-related functionality if
5499 LIBGOMP_OFFLOADED_ONLY is set.
5500
9e38af5c
AM
55012016-11-30 Alexander Monakov <amonakov@ispras.ru>
5502
5503 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5504 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5505 * configure: Regenerate.
5506 * config.h.in: Likewise.
5507
f96b7f1f
AM
55082016-11-30 Alexander Monakov <amonakov@ispras.ru>
5509
5510 * Makefile.in: Regenerate with automake-1.11.6.
5511 * aclocal.m4: Likewise.
5512 * configure: Likewise.
5513 * testsuite/Makefile.in: Likewise.
5514
6a6951b1
AM
55152016-11-28 Alexander Monakov <amonakov@ispras.ru>
5516
5517 * config/nvptx/critical.c: Delete to use generic implementation.
5518
c7ac071f
JH
55192016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
5520
5521 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5522 ../../affinity.c as fallback.
5523 * config/nvptx/affinity.c: Delete to use fallback implementation.
5524
6103184e 55252016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 5526 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
5527 Dmitry Melnik <dm@ispras.ru>
5528
5529 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5530 * Makefile.in. Regenerate.
5531 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5532 (LIBGOMP_USE_PTHREADS): ...here; new define.
5533 * configure: Regenerate.
5534 * config.h.in: Likewise.
5535 * config/posix/affinity.c: Move to...
5536 * affinity.c: ...here (new file). Guard use of Pthreads-specific
5537 interface by LIBGOMP_USE_PTHREADS.
5538 * critical.c: Split out GOMP_atomic_{start,end} into...
5539 * atomic.c: ...here (new file).
5540 * env.c: Split out ICV definitions into...
5541 * icv.c: ...here (new file) and...
5542 * icv-device.c: ...here. New file.
5543 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5544 (gomp_destroy_lock_30): Ditto.
5545 (gomp_set_lock_30): Ditto.
5546 (gomp_unset_lock_30): Ditto.
5547 (gomp_test_lock_30): Ditto.
5548 (gomp_init_nest_lock_30): Ditto.
5549 (gomp_destroy_nest_lock_30): Ditto.
5550 (gomp_set_nest_lock_30): Ditto.
5551 (gomp_unset_nest_lock_30): Ditto.
5552 (gomp_test_nest_lock_30): Ditto.
5553 * lock.c: New.
5554 * config/nvptx/lock.c: New.
5555 * config/nvptx/bar.c: New.
5556 * config/nvptx/bar.h: New.
5557 * config/nvptx/doacross.h: New.
5558 * config/nvptx/error.c: New.
5559 * config/nvptx/icv-device.c: New.
5560 * config/nvptx/mutex.h: New.
5561 * config/nvptx/pool.h: New.
5562 * config/nvptx/proc.c: New.
5563 * config/nvptx/ptrlock.h: New.
5564 * config/nvptx/sem.h: New.
5565 * config/nvptx/simple-bar.h: New.
5566 * config/nvptx/target.c: New.
5567 * config/nvptx/task.c: New.
5568 * config/nvptx/team.c: New.
5569 * config/nvptx/time.c: New.
5570 * config/posix/simple-bar.h: New.
5571 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
5572 (gomp_num_teams_var): Declare.
5573 (struct gomp_thread_pool): Change threads_dock member to
5574 gomp_simple_barrier_t.
5575 [__nvptx__] (gomp_thread): New implementation.
5576 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5577 (gomp_thread_destructor): Ditto.
5578 (gomp_init_thread_affinity): Ditto.
5579 * team.c: Guard uses of Pthreads-specific interfaces by
5580 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
5581 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5582 * config/nvptx/alloc.c: Delete.
5583 * config/nvptx/barrier.c: Ditto.
5584 * config/nvptx/fortran.c: Ditto.
5585 * config/nvptx/iter.c: Ditto.
5586 * config/nvptx/iter_ull.c: Ditto.
5587 * config/nvptx/loop.c: Ditto.
5588 * config/nvptx/loop_ull.c: Ditto.
5589 * config/nvptx/ordered.c: Ditto.
5590 * config/nvptx/parallel.c: Ditto.
5591 * config/nvptx/priority_queue.c: Ditto.
5592 * config/nvptx/sections.c: Ditto.
5593 * config/nvptx/single.c: Ditto.
5594 * config/nvptx/splay-tree.c: Ditto.
5595 * config/nvptx/work.c: Ditto.
5596 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5597 -foffload=-lgfortran in addition to -lgfortran.
5598 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5599 * plugin/plugin-nvptx.c: Include <limits.h>.
5600 (struct targ_fn_descriptor): Add new fields.
5601 (struct ptx_device): Ditto. Set them...
5602 (nvptx_open_device): ...here.
5603 (nvptx_adjust_launch_bounds): New.
5604 (nvptx_host2dev): Allow NULL 'nvthd'.
5605 (nvptx_dev2host): Ditto.
5606 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5607 (link_ptx): Adjust log sizes.
5608 (nvptx_host2dev): Allow NULL 'nvthd'.
5609 (nvptx_dev2host): Ditto.
5610 (nvptx_set_clocktick): New. Use it...
5611 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
5612 fields.
5613 (GOMP_OFFLOAD_dev2dev): New.
5614 (nvptx_adjust_launch_bounds): New.
5615 (nvptx_stacks_size): New.
5616 (nvptx_stacks_alloc): New.
5617 (nvptx_stacks_free): New.
5618 (GOMP_OFFLOAD_run): New.
5619 (GOMP_OFFLOAD_async_run): New (stub).
5620
56b1c60e
MJ
56212016-11-23 Martin Jambor <mjambor@suse.cz>
5622
5623 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5624 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5625 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5626
b8d89b03 56272016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 5628 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
5629
5630 * plugin/hsa.h: New file.
5631 * plugin/hsa_ext_finalize.h: New file.
5632 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5633 header file unistd.h, and functions secure_getenv, __secure_getenv,
5634 getuid, geteuid, getgid and getegid.
5635 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5636 -D_GNU_SOURCE.
5637 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5638 Handle various cases of secure_getenv presence, add an implementation
5639 when we can test effective UID and GID.
5640 (struct hsa_runtime_fn_info): New structure.
5641 (hsa_runtime_fn_info hsa_fns): New variable.
5642 (hsa_runtime_lib): Likewise.
5643 (support_cpu_devices): Likewise.
5644 (init_enviroment_variables): Load newly introduced ENV
5645 variables.
5646 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5647 (hsa_fatal): Likewise.
5648 (DLSYM_FN): New macro.
5649 (init_hsa_runtime_functions): New function.
5650 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5651 structure. Depending on environment, also allow CPU devices.
5652 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5653 (get_kernarg_memory_region): Likewise.
5654 (GOMP_OFFLOAD_init_device): Likewise.
5655 (destroy_hsa_program): Likewise.
5656 (init_basic_kernel_info): New function.
5657 (GOMP_OFFLOAD_load_image): Use it.
5658 (create_and_finalize_hsa_program): Call hsa run-time functions via
5659 hsa_fns structure.
5660 (create_single_kernel_dispatch): Likewise.
5661 (release_kernel_dispatch): Likewise.
5662 (init_single_kernel): Likewise.
5663 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5664 (get_group_size): New function.
5665 (run_kernel): Likewise.
5666 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5667 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5668 structure.
5669 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5670 * testsuite/libgomp-test-support.exp.in: Likewise.
5671 * Makefile.in: Regenerated.
5672 * aclocal.m4: Likewise.
5673 * config.h.in: Likewise.
5674 * configure: Likewise.
5675 * testsuite/Makefile.in: Likewise.
5676
18d2ada8 56772016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 5678 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
5679
5680 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5681 mapping clauses to target constructs.
5682 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5683
84c1b9d3
MK
56842016-11-15 Matthias Klose <doko@ubuntu.com>
5685
5686 * configure: Regenerate.
5687
b4c3a85b
JJ
56882016-11-10 Jakub Jelinek <jakub@redhat.com>
5689
8ebd1b31
JJ
5690 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5691 * omp_lib.h.in (openmp_version): Likewise.
5692 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5693 of 201307.
5694 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5695
b4c3a85b
JJ
5696 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5697 (fib_wrapper): Add map(from: x) clause.
5698 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5699 (e_53_2): Likewise.
5700 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5701 (accum): Add map(tmp) clause.
5702 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5703 (accum): Add map(tofrom: tmp) clause.
5704 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5705 (gramSchmidt): Likewise.
5706 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5707 map(tofrom: sum) clause.
5708 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5709 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5710 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5711 only allowed on the loop iterator.
5712 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5713 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5714 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5715 * testsuite/libgomp.fortran/doacross1.f90: New test.
5716 * testsuite/libgomp.fortran/doacross3.f90: New test.
5717 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5718 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5719 * testsuite/libgomp.fortran/doacross2.f90: New test.
5720 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5721 #pragma omp atomic read.
5722 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5723 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5724
6668eb45
CP
57252016-11-02 Cesar Philippidis <cesar@codesourcery.com>
5726 Nathan Sidwell <nathan@acm.org>
5727
5728 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5729 to determine default geometry.
5730 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5731 dimension.
5732
f10e37a1
JJ
57332016-11-01 Jakub Jelinek <jakub@redhat.com>
5734
5735 * hashtab.h: Use standard GPLv3 with runtime exception
5736 boilerplate.
5737
015c7760
AH
57382016-10-27 Aldy Hernandez <aldyh@redhat.com>
5739
5740 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5741 size when allocating new thread.
5742
20a1e5b8
MP
57432016-09-14 Marek Polacek <polacek@redhat.com>
5744
5745 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5746
1cad9284
JJ
57472016-08-19 Jakub Jelinek <jakub@redhat.com>
5748
5749 PR fortran/71014
5750 * testsuite/libgomp.fortran/pr71014.f90: New test.
5751
2c71d454
CLT
57522016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
5753
5754 PR middle-end/70895
5755 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5756 firstprivate clauses.
5757 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5758 copy clauses.
5759 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5760 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5761 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5762 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5763 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5764 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5765 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5766 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5767 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5768 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5769 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5770 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5771
7c713714
CLT
57722016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
5773
5774 PR fortran/70598
5775 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5776
5c934396
JJ
57772016-08-08 Jakub Jelinek <jakub@redhat.com>
5778
5779 PR c++/58706
5780 * testsuite/libgomp.c++/pr58706.C: New test.
5781
9ef64248
TS
57822016-08-04 Thomas Schwinge <thomas@codesourcery.com>
5783
bbc79c0e
TS
5784 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5785 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5786 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5787 Likewise.
5788 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5789 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5790 Likewise.
5791 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5792
9ef64248
TS
5793 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5794 test, and don't hardcode -O0.
5795
c1311c86
NS
57962016-08-03 Nathan Sidwell <nathan@codesourcery.com>
5797
5798 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5799
b1c9c068
CP
58002016-07-15 Cesar Philippidis <cesar@codesourcery.com>
5801
5802 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5803 test.
5804
b4410f63
L
58052016-07-03 H.J. Lu <hongjiu.lu@intel.com>
5806
5807 PR middle-end/71734
5808 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5809 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5810
a8dbab92
JJ
58112016-07-01 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR fortran/71717
5814 * testsuite/libgomp.fortran/associate3.f90: New test.
5815
9b6a8d0f
JJ
58162016-06-17 Jakub Jelinek <jakub@redhat.com>
5817
5818 * testsuite/libgomp.c++/target-21.C: New test.
5819
283635f9
JJ
58202016-06-16 Jakub Jelinek <jakub@redhat.com>
5821
5822 * testsuite/libgomp.c++/target-20.C: New test.
5823
27d6ba88
TS
58242016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5825 Cesar Philippidis <cesar@codesourcery.com>
5826
5827 PR middle-end/71373
5828 * libgomp.oacc-c/nested-function-1.c: New file.
5829 * libgomp.oacc-c/nested-function-2.c: Likewise.
5830 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5831 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5832 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5833
4b1ffdb1
TS
58342016-06-10 Thomas Schwinge <thomas@codesourcery.com>
5835
5836 PR c/71381
5837 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5838 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5839 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5840
d821b794
CLT
58412016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5842
5843 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5844 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5845
3616a8c5
CP
58462016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5847
5848 PR c/70688
5eed9a88 5849 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 5850
7211a097
JJ
58512016-05-26 Jakub Jelinek <jakub@redhat.com>
5852
5853 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5854 instead of invalid schedule(static, 0).
5855 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5856
b4557008
CLT
58572016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5858
5859 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5860 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5861 parameter, use to set async stream around call to gomp_unmap_vars,
5862 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5863 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5864 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5865 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5866 (event_add): Add int parameter, initialize 'val' field when
5867 adding new ptx_event struct.
5868 (nvptx_evec): Adjust event_add() call arguments.
5869 (nvptx_host2dev): Likewise.
5870 (nvptx_dev2host): Likewise.
5871 (nvptx_wait_async): Likewise.
5872 (nvptx_wait_all_async): Likewise.
5873 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5874 pass to event_add() call.
5875 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5876 parameter.
5877 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5878 call openacc.register_async_cleanup_func() hook.
5879 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5880 * target.c (gomp_copy_from_async): Delete function.
5881 (gomp_map_vars): Remove async_refcount.
5882 (gomp_unmap_vars): Likewise.
5883 (gomp_load_image_to_device): Likewise.
5884 (omp_target_associate_ptr): Likewise.
5885 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5886 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5887 (gomp_copy_from_async): Remove.
5888
6ce13072
CLT
58892016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5890
5891 * target.c (gomp_device_copy): New function.
5892 (gomp_copy_host2dev): Likewise.
5893 (gomp_copy_dev2host): Likewise.
5894 (gomp_free_device_memory): Likewise.
5895 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5896 (gomp_map_pointer): Likewise.
5897 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5898 NULL value from alloc_func plugin hook.
5899 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5900 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5901 (gomp_unmap_vars): Likewise.
5902 (gomp_update): Adjust to call gomp_copy_dev2host and
5903 gomp_copy_host2dev functions.
5904 (gomp_unload_image_from_device): Handle false value from
5905 unload_image_func plugin hook.
5906 (gomp_init_device): Handle false value from init_device_func
5907 plugin hook.
5908 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5909 (omp_target_free): Adjust to call gomp_free_device_memory.
5910 (omp_target_memcpy): Handle return values from host2dev_func,
5911 dev2host_func, and dev2dev_func plugin hooks.
5912 (omp_target_memcpy_rect_worker): Likewise.
5913 (gomp_target_fini): Handle false value from fini_device_func
5914 plugin hook.
5915 * libgomp.h (struct gomp_device_descr): Adjust return type of
5916 init_device_func, fini_device_func, unload_image_func, free_func,
5917 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5918 * oacc-init.c (acc_shutdown_1): Handle false value from
5919 fini_device_func plugin hook.
5920 * oacc-host.c (host_init_device): Change return type to bool.
5921 (host_fini_device): Likewise.
5922 (host_unload_image): Likewise.
5923 (host_free): Likewise.
5924 (host_dev2host): Likewise.
5925 (host_host2dev): Likewise.
5926 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5927 (acc_memcpy_to_device): Likewise.
5928 (acc_memcpy_from_device): Likewise.
5929 (delete_copyout): Add libfnname parameter, handle free_func
5930 hook fatal error case.
5931 (acc_delete): Adjust delete_copyout call.
5932 (acc_copyout): Likewise.
5933 (update_dev_host): Move gomp_mutex_unlock to after
5934 host2dev/dev2host hook calls.
5935
5936 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5937 to 'hsa_error_msg', for clarity.
5938 (hsa_fatal): Likewise.
5939 (hsa_error): New function.
5940 (init_hsa_context): Change return type to bool, adjust to return
5941 false on error.
5942 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5943 return value.
5944 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5945 return false on error.
5946 (get_agent_info): Adjust to return NULL on error.
5947 (destroy_hsa_program): Change return type to bool, adjust to
5948 return false on error.
5949 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5950 (destroy_module): Change return type to bool, adjust to
5951 return false on error.
5952 (GOMP_OFFLOAD_unload_image): Likewise.
5953 (GOMP_OFFLOAD_fini_device): Likewise.
5954 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5955 (GOMP_OFFLOAD_free): Change to return false when called.
5956 (GOMP_OFFLOAD_dev2host): Likewise.
5957 (GOMP_OFFLOAD_host2dev): Likewise.
5958 (GOMP_OFFLOAD_dev2dev): Likewise.
5959
5960 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5961 (CUDA_CALL): Likewise.
5962 (CUDA_CALL_ASSERT): Likewise.
5963 (map_init): Change return type to bool, use CUDA_CALL* macros.
5964 (map_fini): Likewise.
5965 (init_streams_for_device): Change return type to bool, adjust
5966 call to map_init.
5967 (fini_streams_for_device): Change return type to bool, adjust
5968 call to map_fini.
5969 (select_stream_for_async): Release stream_lock before calls to
5970 GOMP_PLUGIN_fatal, adjust call to map_init.
5971 (nvptx_init): Use CUDA_CALL* macros.
5972 (nvptx_attach_host_thread_to_device): Change return type to bool,
5973 use CUDA_CALL* macros.
5974 (nvptx_open_device): Use CUDA_CALL* macros.
5975 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5976 macros.
5977 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5978 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5979 (nvptx_exec): Use CUDA_CALL* macros.
5980 (nvptx_alloc): Use CUDA_CALL* macros.
5981 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5982 (nvptx_host2dev): Likewise.
5983 (nvptx_dev2host): Likewise.
5984 (nvptx_wait): Use CUDA_CALL* macros.
5985 (nvptx_wait_async): Likewise.
5986 (nvptx_wait_all): Likewise.
5987 (nvptx_wait_all_async): Likewise.
5988 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5989 use CUDA_CALL* macros, adjust call to map_fini.
5990 (GOMP_OFFLOAD_init_device): Change return type to bool,
5991 adjust code accordingly.
5992 (GOMP_OFFLOAD_fini_device): Likewise.
5993 (GOMP_OFFLOAD_load_image): Adjust calls to
5994 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5995 use CUDA_CALL* macros.
5996 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5997 return code.
5998 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5999 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6000 handle error return.
6001 (GOMP_OFFLOAD_dev2host): Likewise.
6002 (GOMP_OFFLOAD_host2dev): Likewise.
6003 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6004 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6005
e46c7770
CP
60062016-05-24 Cesar Philippidis <cesar@codesourcery.com>
6007
6008 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6009 (acc_free): Likewise.
6010 (acc_memcpy_to_device): Likewise.
6011 (acc_memcpy_from_device): Likewise.
6012 (acc_deviceptr): Likewise.
6013 (acc_hostptr): Likewise.
6014 (acc_is_present): Likewise.
6015 (acc_map_data): Likewise.
6016 (acc_unmap_data): Likewise.
6017 (present_create_copy): Likewise.
6018 (delete_copyout): Likewise.
6019 (update_dev_host): Likewise.
6020 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6021 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6022 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6023 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6024 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6025 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6026 it only runs on nvptx targets.
6027 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6028 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6030 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6034 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6040 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6041 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6043 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6044 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6048 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6049 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6050
a5057543
MJ
60512016-05-23 Martin Jambor <mjambor@suse.cz>
6052
6053 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6054
e37288a6
CLT
60552016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
6056
6057 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6058 to gomp_init_targets_once.
6059 (acc_set_device_type): Remove !cached_base_dev condition on call to
6060 gomp_init_targets_once, move call to before acc_device_lock acquire,
6061 to avoid deadlock.
6062 (acc_get_device_num): Remove !cached_base_dev condition on call to
6063 gomp_init_targets_once.
6064 (acc_set_device_num): Likewise.
6065
51d9ed48
MJ
60662016-05-16 Martin Jambor <mjambor@suse.cz>
6067
92a285c1 6068 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 6069
5b37e866
NS
60702016-05-02 Nathan Sidwell <nathan@codesourcery.com>
6071
6072 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6073 expected partitioning.
6074
e7ff0319
CP
60752016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6076
6077 PR middle-end/70626
6078 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6079 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6080 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6081
c2bd3b69
AM
60822016-04-21 Alexander Monakov <amonakov@ispras.ru>
6083
6084 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6085 non-fatal.
6086
84311083
JJ
60872016-04-19 Jakub Jelinek <jakub@redhat.com>
6088
6089 PR middle-end/70680
6090 * testsuite/libgomp.c/pr70680-1.c: New test.
6091 * testsuite/libgomp.c/pr70680-2.c: New test.
6092
aadc043f
CP
60932016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6094
6095 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6096 pass parameter variables to subroutines.
6097
e387fc64
CP
60982016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6099
6100 PR middle-end/70643
6101 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6102
10c3c424
CP
61032016-04-13 Cesar Philippidis <cesar@codesourcery.com>
6104
6105 PR testsuite/68242
6106 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6107 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6108
27f9add3
TS
61092016-04-12 Thomas Schwinge <thomas@codesourcery.com>
6110
58d32aeb
TS
6111 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6112 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6113 GOACC_declare prototype.
6114
d97633ef
TS
6115 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6116 Merge this file, and...
6117 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6118 ... this file, and...
6119 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6120 ... this file, and...
6121 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6122 ... this file, and...
6123 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6124 ... this file, and...
6125 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6126 ... this file, and...
6127 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6128 ... this file, and...
6129 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6130 ... this file, and...
6131 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6132 ... this file, and...
6133 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6134 ... this file, and...
6135 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6136 ... this file, and...
6137 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6138 ... this file, and...
6139 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6140 ... this file into...
6141 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6142 file.
6143
27f9add3
TS
6144 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6145 Make failure observable.
6146
21f3a236
JJ
61472016-04-12 Jakub Jelinek <jakub@redhat.com>
6148
6149 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6150 field.
6151 * target.c (gomp_target_fallback_firstprivate,
6152 gomp_target_unshare_firstprivate): Removed.
6153 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6154 before waiting for dependencies.
6155 (gomp_target_task_fn): Don't copy firstprivate vars here.
6156 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6157 firstprivate_copies here.
6158 (gomp_create_target_task): Don't initialize firstprivate_copies field.
6159 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6160 explicit/implicit firstprivate.
6161
c42cfb5c
CP
61622016-04-08 Cesar Philippidis <cesar@codesourcery.com>
6163
6164 PR lto/70289
6165 PR ipa/70348
6166 PR tree-optimization/70373
6167 PR middle-end/70533
6168 PR middle-end/70534
6169 PR middle-end/70535
6170 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6171 test.
6172 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6173 test.
6174 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6175 test.
6176 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6177 test.
6178 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6179 test.
6180 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6181 test.
6182 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6183 test.
6184 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6185 test.
6186 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6187 test.
6188 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6189 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6190 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6191 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6192 test.
6193 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6194 test.
6195 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6196 test.
6197 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6198 test.
6199 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6200 coverage.
6201 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6202 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6203 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6204 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6205 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6206 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6207 coverage.
6208 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6209 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6210 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6211 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6212 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6213 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6214 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6215 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6216 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6217 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6218 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6219 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6220 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6221 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6222 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6223
2620c80d
TS
62242016-03-30 Thomas Schwinge <thomas@codesourcery.com>
6225 James Norris <jnorris@codesourcery.com>
6226 Nathan Sidwell <nathan@codesourcery.com>
6227 Julian Brown <julian@codesourcery.com>
6228 Cesar Philippidis <cesar@codesourcery.com>
6229 Chung-Lin Tang <cltang@codesourcery.com>
6230 Tom de Vries <tom@codesourcery.com>
6231
6232 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6233 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6234 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6235 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6236 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6237 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6238 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6239 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6241 XFAIL.
6242 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6243 Incorporate...
6244 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6245 file.
6246 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6247 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6250 Likewise.
6251 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6252 Likewise.
6253 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6255 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6256 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6257 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6258 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6259 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6260 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6261 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6262 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6263 Likewise.
6264 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6265 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6266 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6267 file...
6268 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6269 file into...
6270 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6271 file. Update.
6272 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6273 file.
6274 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6275 Likewise.
6276 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6277 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6278 ... this new file. Update.
6279 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6280 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6281 ... this new file. Update.
6282 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6283 file. Incorporate...
6284 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6285 file, and...
6286 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6287 file, and...
6288 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6289 file.
6290 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6291
ce83104b
TS
62922016-03-29 Thomas Schwinge <thomas@codesourcery.com>
6293
6294 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6295 set-torture-options.
6296
6e0df3b7
TS
62972016-03-24 Thomas Schwinge <thomas@codesourcery.com>
6298
6299 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6300 gcc-dg-runtest.
6301 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6302 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6303 -fno-builtin-acc_on_device instead of -O0.
6304 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6305 -O0.
6306 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6307 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6308 Likewise.
6309 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6310 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6311 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6312 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6313 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6314 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6315 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6316 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6317 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6318 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6319 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6320 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6321 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6322 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6323 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6324 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6325 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6326 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6327 Don't specify -O2.
6328 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6329 Likewise.
6330 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6331 Likewise.
6332
f9c8babb
ML
63332016-03-24 Martin Liska <mliska@suse.cz>
6334
6335 * plugin/plugin-hsa.c (packet_store_release): New function
6336 that is taken from the HSA runtime manual.
6337 (GOMP_OFFLOAD_run): Use the function.
6338
04833609
JJ
63392016-03-23 Jakub Jelinek <jakub@redhat.com>
6340
6341 PR c++/70376
6342 * testsuite/libgomp.c++/pr70376.C: New test.
6343
d79ee524
TV
63442016-03-23 Tom de Vries <tom@codesourcery.com>
6345
6346 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6347 initialization of lresult and lvresult.
6348 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6349
b6d1f2b5
JN
63502016-03-23 James Norris <jnorris@codesourcery.com>
6351 Daichi Fukuoka <dc-fukuoka@sgi.com>
6352
6353 PR libgomp/69414
6354 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6355 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6356 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6357 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6358
7397fce2
ML
63592016-03-23 Martin Liska <mliska@suse.cz>
6360
6361 PR hsa/70337
6362 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6363 argument just in case a dispatched kernel uses that argument.
6364
ee2e7d51
TS
63652016-03-16 Thomas Schwinge <thomas@codesourcery.com>
6366
6367 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6368 -ftree-parallelize-loops/-fopenacc changes.
6369 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6370 Likewise.
6371 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6372 Likewise.
6373 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6374 Likewise.
6375 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6376 Likewise.
6377 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6378 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6379
be9f7143
TS
63802016-03-13 Thomas Schwinge <thomas@codesourcery.com>
6381
6382 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6383 always_ld_library_path the path to libgcc_s.
6384
f6c1032d
CP
63852016-03-10 Cesar Philippidis <cesar@codesourcery.com>
6386
6387 PR testsuite/70009
6388 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6389
5a6452e6
TV
63902016-03-09 Tom de Vries <tom@codesourcery.com>
6391
6392 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6393 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6394 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6395 Same.
6396 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6397 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6398 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6399 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6400
96a71bd5
MJ
64012016-03-07 Martin Jambor <mjambor@suse.cz>
6402
6403 * testsuite/lib/libgomp.exp
6404 (check_effective_target_hsa_offloading_selected_nocache): New.
6405 (check_effective_target_hsa_offloading_selected): Likewise.
6406 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6407 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6408 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6409 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6410 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6411 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6412 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6413 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6414 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6415 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6416 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6417 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6418 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6419 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6420 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6421 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6422 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6423
02e0b5b2
MJ
64242016-03-07 Martin Jambor <mjambor@suse.cz>
6425
6426 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6427 non-shared memory accelerators.
6428 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6429 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6430 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6431 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6432 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6433 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6434 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6435 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6436 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6437
45548f30
MJ
64382016-03-07 Martin Jambor <mjambor@suse.cz>
6439
6440 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6441 ALWAYS_CFLAGS.
6442
da3d46cb
JJ
64432016-03-02 Jakub Jelinek <jakub@redhat.com>
6444
6445 PR libgomp/69555
6446 * testsuite/libgomp.c++/pr69555-1.C: New test.
6447 * testsuite/libgomp.c++/pr69555-2.C: New test.
6448
622174b2
KM
64492016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
6450 Martin Jambor <mjambor@suse.cz>
6451
6452 * testsuite/lib/libgomp.exp
6453 (check_effective_target_offload_device_shared_as): New proc.
6454 * testsuite/libgomp.c++/declare_target-1.C: New test.
6455
e6861a99
IV
64562016-02-25 Ilya Verbin <ilya.verbin@intel.com>
6457
6458 PR driver/68463
6459 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6460
f99c3557
TS
64612016-02-23 Thomas Schwinge <thomas@codesourcery.com>
6462
6463 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6464 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6465 dims.
6466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6467 -ftree-parallelize-loops/-fopenacc changes.
6468 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6469 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6470 Likewise.
6471 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6472 Likewise.
6473 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6474 Likewise.
6475 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6476 Likewise.
6477 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6478 Likewise.
6479 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6480 Likewise.
6481 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6482 Likewise.
6483 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6484 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6485 Likewise.
6486 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6487 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6488 Likewise.
6489 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6490 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6491 Likewise.
6492
d5ace3b5
CP
64932016-02-22 Cesar Philippidis <cesar@codesourcery.com>
6494
6495 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6496
f3609a89
JJ
64972016-02-19 Jakub Jelinek <jakub@redhat.com>
6498
6499 PR driver/69805
6500 * testsuite/libgomp.c/pr69805.c: New test.
6501
2175df99
TV
65022016-02-16 Tom de Vries <tom@codesourcery.com>
6503
6504 PR lto/67709
6505 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6506
17b6426c
TV
65072016-02-09 Tom de Vries <tom@codesourcery.com>
6508
6509 PR tree-optimization/69599
6510 * testsuite/libgomp.c/omp-nested-3.c: New test.
6511 * testsuite/libgomp.c/pr46032-2.c: New test.
6512 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6513 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6514
34df756c
TV
65152016-02-09 Tom de Vries <tom@codesourcery.com>
6516
6517 PR lto/69707
6518 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6519
5854ee30
AM
65202016-02-02 Alexander Monakov <amonakov@ispras.ru>
6521
6522 * testsuite/libgomp.c/target-31.c: Fix testcase.
6523
e70b6ad7
AM
65242016-02-02 Alexander Monakov <amonakov@ispras.ru>
6525
6526 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6527 clause.
6528 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6529 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6530 reduction and map clauses.
6531 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6532
bd78a45f
JN
65332016-02-02 James Norris <jnorris@codesourcery.com>
6534
6535 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6536
41d809d3
TS
65372016-02-02 Thomas Schwinge <thomas@codesourcery.com>
6538
18f60146
TS
6539 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6540 * oacc-parallel.c (GOACC_host_data): Remove function definition.
6541
1a06f5e6
TS
6542 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6543 cases.
6544
033ff3d1
TS
6545 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6546 variables.
6547 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6548 (hsa_kmt_lib): Set variables.
6549 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6550 always_ld_library_path.
6551 * Makefile.in: Regenerate.
6552 * configure: Likewise.
6553 * testsuite/Makefile.in: Likewise.
6554
4a88d9b7
TS
6555 * plugin/configfrag.ac (offload_additional_options)
6556 (offload_additional_lib_paths): Don't amend for hsa offloading.
6557 * configure: Regenerate.
6558
41d809d3
TS
6559 * plugin/configfrag.ac: Don't configure for offloading target if
6560 we don't build the corresponding plugin.
6561 * configure: Regenerate.
6562
b6adbb9f
NS
65632016-02-01 Nathan Sidwell <nathan@codesourcery.com>
6564
6565 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6566 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6567
8dfdb419
TV
65682016-01-26 Tom de Vries <tom@codesourcery.com>
6569
6570 PR tree-optimization/69110
6571 * testsuite/libgomp.c/pr69110.c: New test.
6572
02ef53f2
RB
65732016-01-25 Richard Biener <rguenther@suse.de>
6574
6575 PR lto/69393
6576 * testsuite/libgomp.c++/pr69393.C: New testcase.
6577
eb4048f2
IV
65782016-01-22 Ilya Verbin <ilya.verbin@intel.com>
6579
6580 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6581 function wasn't mapped to the device with non-shared memory.
6582
b235cdd5
IV
65832016-01-20 Ilya Verbin <ilya.verbin@intel.com>
6584
6585 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6586
b2b40051
MJ
65872016-01-19 Martin Jambor <mjambor@suse.cz>
6588 Martin Liska <mliska@suse.cz>
6589
6590 * plugin/Makefrag.am: Add HSA plugin requirements.
6591 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6592 (HSA_RUNTIME_LIB): Likewise.
6593 (HSA_RUNTIME_CPPFLAGS): Likewise.
6594 (HSA_RUNTIME_INCLUDE): New substitution.
6595 (HSA_RUNTIME_LIB): Likewise.
6596 (HSA_RUNTIME_LDFLAGS): Likewise.
6597 (hsa-runtime): New configure option.
6598 (hsa-runtime-include): Likewise.
6599 (hsa-runtime-lib): Likewise.
6600 (PLUGIN_HSA): New substitution variable.
6601 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6602 configure options.
6603 (PLUGIN_HSA_CPPFLAGS): Likewise.
6604 (PLUGIN_HSA_LDFLAGS): Likewise.
6605 (PLUGIN_HSA_LIBS): Likewise.
6606 Check that we have access to HSA run-time.
6607 * libgomp-plugin.h (offload_target_type): New element
6608 OFFLOAD_TARGET_TYPE_HSA.
6609 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6610 args.
6611 (bool gomp_create_target_task): Updated.
6612 (gomp_device_descr): Extra parameter of run_func and async_run_func,
6613 new field can_run_func.
6614 * libgomp_g.h (GOMP_target_ext): Update prototype.
6615 * oacc-host.c (host_run): Added a new parameter args.
6616 * target.c (calculate_firstprivate_requirements): New function.
6617 (copy_firstprivate_data): Likewise.
6618 (gomp_target_fallback_firstprivate): Use them.
6619 (gomp_target_unshare_firstprivate): New function.
6620 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6621 devices.
6622 (GOMP_target): Do host fallback for all shared memory devices. Do not
6623 pass any args to plugins.
6624 (GOMP_target_ext): Introduce device-specific argument parameter args.
6625 Allow host fallback if device shares memory. Do not remap data if
6626 device has shared memory.
6627 (gomp_target_task_fn): Likewise. Also treat shared memory devices
6628 like host fallback for mappings.
6629 (GOMP_target_data): Treat shared memory devices like host fallback.
6630 (GOMP_target_data_ext): Likewise.
6631 (GOMP_target_update): Likewise.
6632 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6633 gomp_create_target_task.
6634 (GOMP_target_enter_exit_data): Likewise.
6635 (omp_target_alloc): Treat shared memory devices like host fallback.
6636 (omp_target_free): Likewise.
6637 (omp_target_is_present): Likewise.
6638 (omp_target_memcpy): Likewise.
6639 (omp_target_memcpy_rect): Likewise.
6640 (omp_target_associate_ptr): Likewise.
6641 (gomp_load_plugin_for_device): Also load can_run.
6642 * task.c (GOMP_PLUGIN_target_task_completion): Free
6643 firstprivate_copies.
6644 (gomp_create_target_task): Accept new argument args and store it to
6645 ttask.
6646 * plugin/plugin-hsa.c: New file.
6647
5d7804a9
TV
66482016-01-18 Tom de Vries <tom@codesourcery.com>
6649
6650 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6651 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6652 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6653 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6654 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6655 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6656 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6657 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6658 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6659 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6660 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6661 Same.
6662 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6663 Same.
6664 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6665 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6666 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6667 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6668 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6669 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6670 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6671 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6672 Same.
6673 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6674
cb11f3cf
JJ
66752016-01-15 Jakub Jelinek <jakub@redhat.com>
6676
6677 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6678
33a126a6
CP
66792016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6680
6681 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6682
cdf6119d
JN
66832016-01-12 James Norris <jnorris@codesourcery.com>
6684
6685 * libgomp.texi: Updates for OpenACC.
6686
0d58938e
AM
66872016-01-11 Alexander Monakov <amonakov@ispras.ru>
6688
6689 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6690
95918b49
L
66912016-01-07 H.J. Lu <hongjiu.lu@intel.com>
6692
6693 PR fortran/66680
6694 * testsuite/libgomp.fortran/pr66680.f90: New test.
6695
8fc708b7
JJ
66962016-01-07 Jakub Jelinek <jakub@redhat.com>
6697
6698 PR middle-end/68960
6699 * testsuite/libgomp.c/pr68960.c: New test.
6700
e9b596c1
NS
67012016-01-06 Nathan Sidwell <nathan@acm.org>
6702
1a14faf2 6703 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
6704 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6705
21fa2a29
JJ
67062016-01-04 Jakub Jelinek <jakub@redhat.com>
6707
818ab71a
JJ
6708 Update copyright years.
6709
21fa2a29
JJ
6710 * libgomp.texi: Bump @copying's copyright year.
6711
9310efbc
NS
67122015-12-31 Nathan Sidwell <nathan@acm.org>
6713
6714 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6715 dg-additional-options syntax.
6716 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6717 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6719 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6720 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6721 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6722 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6723 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6725 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6726 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6727 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6728 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6729 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6730 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6734
4a38b02b
IV
67352015-12-15 Ilya Verbin <ilya.verbin@intel.com>
6736
6737 * libgomp.h (REFCOUNT_LINK): Define.
6738 (struct splay_tree_key_s): Add link_key.
6739 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6740 Replace target address of the pointer with target address of newly
6741 mapped object in the splay tree. Set link pointer on target to the
6742 device address of the mapped object.
6743 (gomp_unmap_vars): Restore target address of the pointer in the splay
6744 tree for REFCOUNT_LINK objects after unmapping.
6745 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6746 declare target link" objects.
6747 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6748 "omp declare target link" objects, which were mapped for the image.
6749 (gomp_exit_data): Restore target address of the pointer in the splay
6750 tree for REFCOUNT_LINK objects after unmapping.
6751 * testsuite/libgomp.c/target-link-1.c: New file.
6752
d84ffc0a
IV
67532015-12-14 Ilya Verbin <ilya.verbin@intel.com>
6754
6755 * libgomp.h (gomp_device_state): New enum.
6756 (struct gomp_device_descr): Replace is_initialized with state.
6757 (gomp_fini_device): Remove declaration.
6758 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6759 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6760 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6761 (acc_set_device_type): Use state instead of is_initialized.
6762 (acc_set_device_num): Likewise.
6763 * target.c (resolve_device): Use state instead of is_initialized.
6764 Do not initialize finalized device.
6765 (gomp_map_vars): Do nothing if device is finalized.
6766 (gomp_unmap_vars): Likewise.
6767 (gomp_update): Likewise.
6768 (GOMP_offload_register_ver): Use state instead of is_initialized.
6769 (GOMP_offload_unregister_ver): Likewise.
6770 (gomp_init_device): Likewise.
6771 (gomp_unload_device): Likewise.
6772 (gomp_fini_device): Remove.
6773 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6774 (GOMP_target): Go to host fallback if device is finalized.
6775 (GOMP_target_ext): Likewise.
6776 (gomp_exit_data): Do nothing if device is finalized.
6777 (gomp_target_task_fn): Go to host fallback if device is finalized.
6778 (gomp_target_fini): New static function.
6779 (gomp_target_init): Use state instead of is_initialized.
6780 Call gomp_target_fini at exit.
6781
76680678
TV
67822015-12-09 Tom de Vries <tom@codesourcery.com>
6783
6784 PR tree-optimization/68716
6785 * testsuite/libgomp.c/omp-nested-2.c: New test.
6786
ff7a55bf
TS
67872015-12-02 Thomas Schwinge <thomas@codesourcery.com>
6788
6789 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6790 target openacc_nvidia_accel_selected.
6791 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6792 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6794 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6795
37d5ad46
JB
67962015-12-01 Julian Brown <julian@codesourcery.com>
6797 James Norris <James_Norris@mentor.com>
6798
6799 * oacc-parallel.c (GOACC_host_data): New function.
6800 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6801 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6802 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6803 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6804 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6805 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6806 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6807
db941d7e
CP
68082015-11-30 James Norris <jnorris@codesourcery.com>
6809 Cesar Philippidis <cesar@codesourcery.com>
6810
6811 libgomp/
6812 * libgomp.oacc-fortran/routine-5.f90: New test.
6813 * libgomp.oacc-fortran/routine-7.f90: New test.
6814 * libgomp.oacc-fortran/routine-9.f90: New test.
6815
e0ca27c5
TV
68162015-11-30 Tom de Vries <tom@codesourcery.com>
6817
6818 PR tree-optimization/46032
6819 * testsuite/libgomp.c/pr46032.c: New test.
6820
aec17bfe
JJ
68212015-11-27 Jakub Jelinek <jakub@redhat.com>
6822
8e4e4719
JJ
6823 PR libgomp/68579
6824 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6825 (gomp_create_target_task): Call it before freeing
6826 GOMP_TARGET_TASK_DATA tasks.
6827
aec17bfe
JJ
6828 PR c/63326
6829 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6830 in between case label and OpenMP standalone directives.
6831 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6832
6cfe90e6
DE
68332015-11-26 David Edelsohn <dje.gcc@gmail.com>
6834
6835 * configure: Regenerate.
6836
0e65fd7d
JJ
68372015-11-26 Jakub Jelinek <jakub@redhat.com>
6838
6839 * testsuite/libgomp.c/target-35.c: New test.
6840
dc7a8b4b
JN
68412015-11-22 James Norris <jnorris@codesourcery.com>
6842 Cesar Philippidis <cesar@codesourcery.com>
6843
6844 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6845 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6846 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6847 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6848 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6849
48a78aee
JJ
68502015-11-20 Jakub Jelinek <jakub@redhat.com>
6851
6852 PR middle-end/68221
6853 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6854 * testsuite/libgomp.c/reduction-12.c: Likewise.
6855 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6856 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6857
2d256816
NS
68582015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6859
6860 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6861 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6862 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6863 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6864 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6865 and fix.
6866 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6867 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6868
33f47f42
NS
68692015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6870
6871 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6872 worker & gang cases.
6873 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6874
3d7bfee0
CP
68752015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6876
6877 * config/nvptx/priority_queue.c: New file.
6878
00b9bd52
JJ
68792015-11-14 Jakub Jelinek <jakub@redhat.com>
6880
6881 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6882 sections.
6883
e4606348
JJ
68842015-11-14 Jakub Jelinek <jakub@redhat.com>
6885 Aldy Hernandez <aldyh@redhat.com>
6886 Ilya Verbin <ilya.verbin@intel.com>
6887
6888 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6889 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6890 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6891 iterators or IV by chunk size.
6892 * parallel.c (gomp_resolve_num_threads): Don't assume that
6893 if thr->ts.team is non-NULL, then pool must be non-NULL.
6894 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6895 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6896 GOMP_PLUGIN_target_task_completion.
6897 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6898 * Makefile.in: Regenerate.
6899 * libgomp.h: Shuffle prototypes and forward definitions around so
6900 priority queues can be defined.
6901 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6902 (enum gomp_target_task_state): New enum.
6903 (struct gomp_target_task): Add state, tgt, task and team fields.
6904 (gomp_create_target_task): Change return type to bool, add
6905 state argument.
6906 (gomp_target_task_fn): Change return type to bool.
6907 (struct gomp_device_descr): Add async_run_func.
6908 (struct gomp_task): Remove children, next_child, prev_child,
6909 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6910 Add pnode field.
6911 (struct gomp_taskgroup): Remove children.
6912 Add taskgroup_queue.
6913 (struct gomp_team): Change task_queue type to a priority queue.
6914 (splay_compare): Define inline.
6915 (priority_queue_offset): New.
6916 (priority_node_to_task): New.
6917 (task_to_priority_node): New.
6918 * oacc-mem.c: Do not include splay-tree.h.
6919 * priority_queue.c: New file.
6920 * priority_queue.h: New file.
6921 * splay-tree.c: Do not include splay-tree.h.
6922 (splay_tree_foreach_internal): New.
6923 (splay_tree_foreach): New.
6924 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6925 (splay_tree_callback): Define typedef.
6926 * target.c (splay_compare): Move to libgomp.h.
6927 (GOMP_target): Don't adjust *thr in any way around running offloaded
6928 task.
6929 (GOMP_target_ext): Likewise. Handle target nowait.
6930 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6931 return value from gomp_create_target_task, if false, fallthrough
6932 as if no dependencies exist.
6933 (gomp_target_task_fn): Change return type to bool, return true
6934 if the task should have another part scheduled later. Handle
6935 target nowait.
6936 (gomp_load_plugin_for_device): Initialize async_run.
6937 * task.c (gomp_init_task): Initialize children_queue.
6938 (gomp_clear_parent_in_list): New.
6939 (gomp_clear_parent_in_tree): New.
6940 (gomp_clear_parent): Handle priorities.
6941 (GOMP_task): Likewise.
6942 (priority_queue_move_task_first,
6943 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6944 New functions.
6945 (gomp_create_target_task): Use priority queues. Change return type
6946 to bool, add state argument, return false if for async
6947 {{enter,exit} data,update} constructs no dependencies need to be
6948 waited for, handle target nowait. Set task->fn to NULL instead of
6949 gomp_target_task_fn.
6950 (verify_children_queue): Remove.
6951 (priority_list_upgrade_task): New.
6952 (priority_queue_upgrade_task): New.
6953 (verify_task_queue): Remove.
6954 (priority_list_downgrade_task): New.
6955 (priority_queue_downgrade_task): New.
6956 (gomp_task_run_pre): Use priority queues.
6957 Abstract code out to priority_queue_downgrade_task.
6958 (gomp_task_run_post_handle_dependers): Use priority queues.
6959 (gomp_task_run_post_remove_parent): Likewise.
6960 (gomp_task_run_post_remove_taskgroup): Likewise.
6961 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6962 tasks specially.
6963 (GOMP_taskwait): Likewise.
6964 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6965 priority-queue_upgrade_task.
6966 (GOMP_taskgroup_start): Use priority queues.
6967 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6968 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6969 barrier.
6970 * taskloop.c (GOMP_taskloop): Handle priorities.
6971 * team.c (gomp_new_team): Call priority_queue_init.
6972 (free_team): Call priority_queue_free.
6973 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6974 team created for target nowait in implicit parallel region.
6975 (gomp_team_start): For nested check, test thr->ts.level instead of
6976 thr->ts.team != NULL.
6977 * testsuite/libgomp.c/doacross-3.c: New test.
6978 * testsuite/libgomp.c/ordered-5.c: New test.
6979 * testsuite/libgomp.c/priority.c: New test.
6980 * testsuite/libgomp.c/target-31.c: New test.
6981 * testsuite/libgomp.c/target-32.c: New test.
6982 * testsuite/libgomp.c/target-33.c: New test.
6983 * testsuite/libgomp.c/target-34.c: New test.
6984
1d1ab74f
NS
69852015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6986
c5a64cfe
NS
6987 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6988
1d1ab74f
NS
6989 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6990 loop is sequential.
6991
dd3c1b14
NS
69922015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6993
6994 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6995 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6996
6e232ba4
JN
69972015-11-12 James Norris <jnorris@codesourcery.com>
6998 Joseph Myers <joseph@codesourcery.com>
6999
7000 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7001 * oacc-parallel.c (GOACC_declare): New function.
7002 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7003 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7004 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7005 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7006 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7007
fffeedeb
NS
70082015-11-12 Nathan Sidwell <nathan@codesourcery.com>
7009
7010 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7011
182190f2
NS
70122015-11-1 Nathan Sidwell <nathan@codesourcery.com>
7013
7014 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7015 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7016
36fa0f5f
NS
70172015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7018
d350c40c
NS
7019 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7020 inadvertent commit.
7021
70222015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7023
36fa0f5f
NS
7024 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7025 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7026 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7027 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7028 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7029
66a5f0b4
TS
70302015-11-06 Thomas Schwinge <thomas@codesourcery.com>
7031
7032 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7033 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7034
e01d41e5
JJ
70352015-11-05 Jakub Jelinek <jakub@redhat.com>
7036 Ilya Verbin <ilya.verbin@intel.com>
7037
7038 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7039 GOMP_loop_nonmonotonic_dynamic_start,
7040 GOMP_loop_nonmonotonic_guided_next,
7041 GOMP_loop_nonmonotonic_guided_start,
7042 GOMP_loop_ull_nonmonotonic_dynamic_next,
7043 GOMP_loop_ull_nonmonotonic_dynamic_start,
7044 GOMP_loop_ull_nonmonotonic_guided_next,
7045 GOMP_loop_ull_nonmonotonic_guided_start,
7046 GOMP_parallel_loop_nonmonotonic_dynamic,
7047 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7048 (GOMP_target_41): Renamed to ...
7049 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7050 arguments.
7051 (GOMP_target_data_41): Renamed to ...
7052 (GOMP_target_data_ext): ... this.
7053 (GOMP_target_update_41): Renamed to ...
7054 (GOMP_target_update_ext): ... this.
7055 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7056 GOMP_target_data_ext and GOMP_target_update_ext instead of
7057 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7058 Export GOMP_loop_nonmonotonic_dynamic_next,
7059 GOMP_loop_nonmonotonic_dynamic_start,
7060 GOMP_loop_nonmonotonic_guided_next,
7061 GOMP_loop_nonmonotonic_guided_start,
7062 GOMP_loop_ull_nonmonotonic_dynamic_next,
7063 GOMP_loop_ull_nonmonotonic_dynamic_start,
7064 GOMP_loop_ull_nonmonotonic_guided_next,
7065 GOMP_loop_ull_nonmonotonic_guided_start,
7066 GOMP_parallel_loop_nonmonotonic_dynamic and
7067 GOMP_parallel_loop_nonmonotonic_guided.
7068 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7069 GOMP_parallel_loop_nonmonotonic_guided,
7070 GOMP_loop_nonmonotonic_dynamic_start,
7071 GOMP_loop_nonmonotonic_guided_start,
7072 GOMP_loop_nonmonotonic_dynamic_next,
7073 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7074 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7075 GOMP_loop_ull_nonmonotonic_guided_start,
7076 GOMP_loop_ull_nonmonotonic_dynamic_next,
7077 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7078 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7079 functions.
7080 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
7081 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7082 Use gomp_map_val function.
7083 (gomp_target_fallback_firstprivate): New static function.
7084 (GOMP_target_41): Renamed to ...
7085 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7086 arguments. Move firstprivate fallback handling into a new
7087 function.
7088 (GOMP_target_data_41): Renamed to ...
7089 (GOMP_target_data_ext): ... this.
7090 (GOMP_target_update_41): Renamed to ...
7091 (GOMP_target_update_ext): ... this.
7092 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7093 gomp_map_0len_lookup instead of gomp_map_lookup.
7094 (omp_target_is_present): Use gomp_map_0len_lookup instead of
7095 gomp_map_lookup.
7096 * testsuite/libgomp.c/target-28.c: Likewise.
7097 * testsuite/libgomp.c/monotonic-1.c: New test.
7098 * testsuite/libgomp.c/monotonic-2.c: New test.
7099 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7100 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7101 * testsuite/libgomp.c/pr66199-5.c: New test.
7102 * testsuite/libgomp.c/pr66199-6.c: New test.
7103 * testsuite/libgomp.c/pr66199-7.c: New test.
7104 * testsuite/libgomp.c/pr66199-8.c: New test.
7105 * testsuite/libgomp.c/pr66199-9.c: New test.
7106 * testsuite/libgomp.c/reduction-11.c: New test.
7107 * testsuite/libgomp.c/reduction-12.c: New test.
7108 * testsuite/libgomp.c/reduction-13.c: New test.
7109 * testsuite/libgomp.c/reduction-14.c: New test.
7110 * testsuite/libgomp.c/reduction-15.c: New test.
7111 * testsuite/libgomp.c/target-12.c (main): Adjust for
7112 omp_target_is_present change for one-past-last element.
7113 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7114 the same var is both mapped and privatized.
7115 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7116 handling of zero-length array sections.
7117 * testsuite/libgomp.c/target-28.c: New test.
7118 * testsuite/libgomp.c/target-29.c: New test.
7119 * testsuite/libgomp.c/target-30.c: New test.
7120 * testsuite/libgomp.c/target-teams-1.c: New test.
7121 * testsuite/libgomp.c++/member-6.C: New test.
7122 * testsuite/libgomp.c++/member-7.C: New test.
7123 * testsuite/libgomp.c++/monotonic-1.C: New test.
7124 * testsuite/libgomp.c++/monotonic-2.C: New test.
7125 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7126 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7127 * testsuite/libgomp.c++/pr66199-3.C: New test.
7128 * testsuite/libgomp.c++/pr66199-4.C: New test.
7129 * testsuite/libgomp.c++/pr66199-5.C: New test.
7130 * testsuite/libgomp.c++/pr66199-6.C: New test.
7131 * testsuite/libgomp.c++/pr66199-7.C: New test.
7132 * testsuite/libgomp.c++/pr66199-8.C: New test.
7133 * testsuite/libgomp.c++/pr66199-9.C: New test.
7134 * testsuite/libgomp.c++/reduction-11.C: New test.
7135 * testsuite/libgomp.c++/reduction-12.C: New test.
7136 * testsuite/libgomp.c++/target-13.C: New test.
7137 * testsuite/libgomp.c++/target-14.C: New test.
7138 * testsuite/libgomp.c++/target-15.C: New test.
7139 * testsuite/libgomp.c++/target-16.C: New test.
7140 * testsuite/libgomp.c++/target-17.C: New test.
7141 * testsuite/libgomp.c++/target-18.C: New test.
7142 * testsuite/libgomp.c++/target-19.C: New test.
7143
ccc8282b
NS
71442015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7145
7146 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7147 and reduction copy.
7148 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7149 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7150 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7151 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7152 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7153 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7154 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7155 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7156 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7157 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7158 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7159 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7160 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7161 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7162
5d6823a2
NS
71632015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7164
7165 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7166 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7167 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7168 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7169 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7170 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7171 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7172 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7173
5c06742f
NS
71742015-11-03 Nathan Sidwell <nathan@codesourcery.com>
7175
7176 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7177 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7178 (GOMP_OFFLOAD_openacc_parallel): Likewise.
7179 * oacc-host.c (host_openacc_exec): Likewise.
7180 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7181
4bf9e5a8
TS
71822015-11-03 Julian Brown <julian@codesourcery.com>
7183 Thomas Schwinge <thomas@codesourcery.com>
7184
7185 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7186 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7187 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7188 Likewise.
7189 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7190 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7191
71922015-11-03 James Norris <jnorris@codesourcery.com>
7193
7194 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7195 file.
7196 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7197 Likewise.
7198 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7199 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7200 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7201 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7202 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7203
a0e701d8
NS
72042015-10-29 Nathan Sidwell <nathan@codesourcery.com>
7205
7206 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7207 compatibility.
7208 (enum acc_async_t): Reformat.
7209 (acc_on_device): Declare compatible with builtin and provide C++
7210 wrapper.
7211 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7212
41e977ac
TS
72132015-10-29 Thomas Schwinge <thomas@codesourcery.com>
7214 Cesar Philippidis <cesar@codesourcery.com>
7215
7216 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7217 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7218 ... this. Add a description of the test at the top of the file.
7219 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7220 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7221 ... this. Add a description of the test at the top of the file.
7222
e3091406
NS
72232015-10-28 Nathan Sidwell <nathan@codesourcery.com>
7224
7225 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7226 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7227 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7228 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7229 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7230 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7231
a1c1908b
NS
72322015-10-27 Nathan Sidwell <nathan@codesourcery.com>
7233
7234 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7235 dimensions.
7236
b3962a4a
TS
72372015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7238
7239 PR testsuite/68063
7240 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7241
88bae6f4
TS
72422015-10-27 James Norris <jnorris@codesourcery.com>
7243
7244 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7245 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7246
8baa7864
TS
72472015-10-26 Thomas Schwinge <thomas@codesourcery.com>
7248
bdeb752c
TS
7249 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7250 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7251
ecd4fd43
TS
7252 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7253 acc_device_nvidia usage.
7254 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7255 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7256 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7257
aa8b7d30
TS
7258 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7259 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7260
7c8f138d
TS
7261 PR libgomp/66518
7262 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7263
8baa7864
TS
7264 PR libgomp/65437
7265 PR libgomp/66518
7266 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7267 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7268
88ebcde5
TV
72692015-10-23 Tom de Vries <tom@codesourcery.com>
7270
7271 PR testsuite/68063
7272 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7273
9ef83c04
NS
72742015-10-20 Nathan Sidwell <nathan@codesourcery.com>
7275
7276 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7277 vector_length.
7278 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7279
3837c6d6
IV
72802015-10-14 Ilya Verbin <ilya.verbin@intel.com>
7281 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
7282
7283 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7284 to 0 when mapnum is 0.
7285
ac8a1965
SH
72862015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
7287
7288 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7289 Cast to int from int32_t.
7290
d9a6bd32
JJ
72912015-10-13 Jakub Jelinek <jakub@redhat.com>
7292 Aldy Hernandez <aldyh@redhat.com>
7293 Ilya Verbin <ilya.verbin@intel.com>
7294
7295 * config/linux/affinity.c (omp_get_place_num_procs,
7296 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7297 * config/linux/doacross.h: New file.
7298 * config/posix/affinity.c (omp_get_place_num_procs,
7299 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7300 * config/posix/doacross.h: New file.
7301 * env.c: Include gomp-constants.h.
7302 (struct gomp_task_icv): Rename run_sched_modifier to
7303 run_sched_chunk_size.
7304 (gomp_max_task_priority_var): New variable.
7305 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7306 (handle_omp_display_env): Change _OPENMP value from 201307 to
7307 201511. Print OMP_MAX_TASK_PRIORITY.
7308 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7309 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7310 chunk_size and run_sched_modifier to run_sched_chunk_size.
7311 (omp_get_max_task_priority, omp_get_initial_device,
7312 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7313 omp_get_partition_place_nums): New functions.
7314 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7315 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7316 to chunk_size.
7317 (omp_get_num_places_, omp_get_place_num_procs_,
7318 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7319 omp_get_place_proc_ids_8_, omp_get_place_num_,
7320 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7321 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7322 omp_get_max_task_priority_): New functions.
7323 * libgomp_g.h (GOMP_loop_doacross_static_start,
7324 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7325 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7326 GOMP_loop_ull_doacross_dynamic_start,
7327 GOMP_loop_ull_doacross_guided_start,
7328 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7329 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7330 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7331 GOMP_target_data_41, GOMP_target_update_41,
7332 GOMP_target_enter_exit_data): New prototypes.
7333 (GOMP_task): Add prototype argument.
7334 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7335 (struct gomp_doacross_work_share): New type.
7336 (struct gomp_work_share): Add doacross field.
7337 (struct gomp_task_icv): Rename run_sched_modifier to
7338 run_sched_chunk_size.
7339 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7340 GOMP_TASK_UNDEFERRED. Add comments.
7341 (struct gomp_task_depend_entry): Add comments.
7342 (struct gomp_task): Likewise.
7343 (struct gomp_taskgroup): Likewise.
7344 (struct gomp_target_task): New type.
7345 (struct gomp_team): Add comment.
7346 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7347 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7348 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7349 (struct target_var_desc): New type.
7350 (struct target_mem_desc): Adjust comment. Use struct
7351 target_var_desc instead of splay_tree_key for list.
7352 (REFCOUNT_INFINITY): Define.
7353 (struct splay_tree_key_s): Remove copy_from field.
7354 (struct gomp_device_descr): Add dev2dev_func field.
7355 (enum gomp_map_vars_kind): New enum.
7356 (gomp_map_vars): Add one argument.
7357 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7358 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7359 omp_get_place_num_procs, omp_get_place_num_procs_,
7360 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7361 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7362 omp_get_place_num_, omp_get_partition_num_places,
7363 omp_get_partition_num_places_, omp_get_partition_place_nums,
7364 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7365 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7366 omp_target_free, omp_target_is_present, omp_target_memcpy,
7367 omp_target_memcpy_rect, omp_target_associate_ptr and
7368 omp_target_disassociate_ptr.
7369 (GOMP_4.0.2): Renamed to ...
7370 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7371 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7372 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7373 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7374 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7375 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7376 GOMP_loop_ull_doacross_guided_start,
7377 GOMP_loop_ull_doacross_runtime_start,
7378 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7379 GOMP_doacross_ull_wait.
7380 * libgomp.texi: Document omp_get_max_task_priority.
7381 Rename modifier argument to chunk_size for omp_set_schedule and
7382 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7383 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7384 to run_sched_chunk_size renaming.
7385 (GOMP_loop_ordered_runtime_start): Likewise.
7386 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7387 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7388 GOMP_parallel_loop_runtime_start): New functions.
7389 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7390 to run_sched_chunk_size renaming.
7391 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7392 GOMP_loop_doacross_guided_start): New functions or aliases.
7393 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7394 run_sched_modifier to run_sched_chunk_size renaming.
7395 (GOMP_loop_ull_ordered_runtime_start): Likewise.
7396 (gomp_loop_ull_doacross_static_start,
7397 gomp_loop_ull_doacross_dynamic_start,
7398 gomp_loop_ull_doacross_guided_start,
7399 GOMP_loop_ull_doacross_runtime_start): New functions.
7400 (GOMP_loop_ull_doacross_static_start,
7401 GOMP_loop_ull_doacross_dynamic_start,
7402 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7403 * oacc-mem.c (acc_map_data, present_create_copy,
7404 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7405 to gomp_map_vars.
7406 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7407 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7408 instead of false to gomp_map_vars.
7409 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
7410 * omp.h.in (omp_lock_hint_t): New type.
7411 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7412 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7413 omp_get_place_num, omp_get_partition_num_places,
7414 omp_get_partition_place_nums, omp_get_initial_device,
7415 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7416 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7417 omp_target_associate_ptr, omp_target_disassociate_ptr): New
7418 prototypes.
7419 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7420 (omp_lock_hint_none, omp_lock_hint_uncontended,
7421 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7422 omp_lock_hint_speculative): New parameters.
7423 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7424 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7425 omp_get_place_num, omp_get_partition_num_places,
7426 omp_get_partition_place_nums, omp_get_initial_device,
7427 omp_get_max_task_priority): New interfaces.
7428 (omp_set_schedule, omp_get_schedule): Rename modifier argument
7429 to chunk_size.
7430 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
7431 (omp_lock_hint_none, omp_lock_hint_uncontended,
7432 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7433 omp_lock_hint_speculative): New parameters.
7434 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7435 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7436 omp_get_place_num, omp_get_partition_num_places,
7437 omp_get_partition_place_nums, omp_get_initial_device,
7438 omp_get_max_task_priority): New functions and subroutines.
7439 * ordered.c: Include stdarg.h and string.h.
7440 (MAX_COLLAPSED_BITS): Define.
7441 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7442 gomp_doacross_ull_init, GOMP_doacross_ull_post,
7443 GOMP_doacross_ull_wait): New functions.
7444 * target.c: Include errno.h.
7445 (resolve_device): If device is not initialized, call
7446 gomp_init_device on it.
7447 (gomp_map_lookup): New function.
7448 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7449 Don't bump refcount if REFCOUNT_INFINITY. Handle
7450 GOMP_MAP_ALWAYS_TO_P.
7451 (get_kind): Rename is_openacc argument to short_mapkind.
7452 (gomp_map_pointer): Use gomp_map_lookup.
7453 (gomp_map_fields_existing): New function.
7454 (gomp_map_vars): Rename is_openacc argument to short_mapkind
7455 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
7456 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7457 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7458 Adjust for tgt->list changed type and copy_from living in there.
7459 (gomp_copy_from_async): Adjust for tgt->list changed type and
7460 copy_from living in there.
7461 (gomp_unmap_vars): Likewise.
7462 (gomp_update): Likewise. Rename is_openacc argument to
7463 short_mapkind. Don't fail if object is not mapped.
7464 (gomp_load_image_to_device): Initialize refcount to
7465 REFCOUNT_INFINITY.
7466 (gomp_target_fallback): New function.
7467 (gomp_get_target_fn_addr): Likewise.
7468 (GOMP_target): Adjust gomp_map_vars caller, use
7469 gomp_get_target_fn_addr and gomp_target_fallback.
7470 (GOMP_target_41): New function.
7471 (gomp_target_data_fallback): New function.
7472 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7473 (GOMP_target_data_41): New function.
7474 (GOMP_target_update): Adjust gomp_update caller.
7475 (GOMP_target_update_41): New function.
7476 (gomp_exit_data, GOMP_target_enter_exit_data,
7477 gomp_target_task_fn, omp_target_alloc, omp_target_free,
7478 omp_target_is_present, omp_target_memcpy,
7479 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7480 omp_target_associate_ptr, omp_target_disassociate_ptr,
7481 gomp_load_plugin_for_device): New functions.
7482 * task.c: Include gomp-constants.h. Include taskloop.c
7483 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7484 (gomp_task_handle_depend): New function.
7485 (GOMP_task): Use it. Add priority argument. Use
7486 gomp-constant.h constants instead of hardcoded numbers.
7487 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7488 (gomp_create_target_task): New function.
7489 (verify_children_queue, verify_taskgroup_queue,
7490 verify_task_queue): New functions.
7491 (gomp_task_run_pre): Call verify_*_queue functions.
7492 If an upcoming tied task is about to leave the sibling or
7493 taskgroup queues in an invalid state, adjust appropriately.
7494 Remove taskgroup argument. Add comments.
7495 (gomp_task_run_post_handle_dependers): Add comments.
7496 (gomp_task_run_post_remove_parent): Likewise.
7497 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7498 (GOMP_taskwait): Likewise. Add comments.
7499 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7500 problem such that the first non parent_depends_on task does not
7501 end up at the end of the children queue.
7502 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7503 GOMP_TASK_UNDEFERRED.
7504 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7505 * taskloop.c: New file.
7506 * testsuite/lib/libgomp.exp
7507 (check_effective_target_offload_device_nonshared_as): New proc.
7508 * testsuite/libgomp.c/affinity-2.c: New test.
7509 * testsuite/libgomp.c/doacross-1.c: New test.
7510 * testsuite/libgomp.c/doacross-2.c: New test.
7511 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7512 Add map clause to target.
7513 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7514 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7515 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7516 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7517 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7518 Likewise.
7519 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7520 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7521 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7522 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7523 not defined. Use those where needed.
7524 * testsuite/libgomp.c/for-4.c: New test.
7525 * testsuite/libgomp.c/for-5.c: New test.
7526 * testsuite/libgomp.c/for-6.c: New test.
7527 * testsuite/libgomp.c/linear-1.c: New test.
7528 * testsuite/libgomp.c/ordered-4.c: New test.
7529 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7530 only allowed on the loop iterator.
7531 * testsuite/libgomp.c/pr66199-3.c: New test.
7532 * testsuite/libgomp.c/pr66199-4.c: New test.
7533 * testsuite/libgomp.c/reduction-7.c: New test.
7534 * testsuite/libgomp.c/reduction-8.c: New test.
7535 * testsuite/libgomp.c/reduction-9.c: New test.
7536 * testsuite/libgomp.c/reduction-10.c: New test.
7537 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7538 map(tofrom:s).
7539 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7540 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7541 * testsuite/libgomp.c/target-11.c: New test.
7542 * testsuite/libgomp.c/target-12.c: New test.
7543 * testsuite/libgomp.c/target-13.c: New test.
7544 * testsuite/libgomp.c/target-14.c: New test.
7545 * testsuite/libgomp.c/target-15.c: New test.
7546 * testsuite/libgomp.c/target-16.c: New test.
7547 * testsuite/libgomp.c/target-17.c: New test.
7548 * testsuite/libgomp.c/target-18.c: New test.
7549 * testsuite/libgomp.c/target-19.c: New test.
7550 * testsuite/libgomp.c/target-20.c: New test.
7551 * testsuite/libgomp.c/target-21.c: New test.
7552 * testsuite/libgomp.c/target-22.c: New test.
7553 * testsuite/libgomp.c/target-23.c: New test.
7554 * testsuite/libgomp.c/target-24.c: New test.
7555 * testsuite/libgomp.c/target-25.c: New test.
7556 * testsuite/libgomp.c/target-26.c: New test.
7557 * testsuite/libgomp.c/target-27.c: New test.
7558 * testsuite/libgomp.c/taskloop-1.c: New test.
7559 * testsuite/libgomp.c/taskloop-2.c: New test.
7560 * testsuite/libgomp.c/taskloop-3.c: New test.
7561 * testsuite/libgomp.c/taskloop-4.c: New test.
7562 * testsuite/libgomp.c++/ctor-13.C: New test.
7563 * testsuite/libgomp.c++/doacross-1.C: New test.
7564 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7565 Replace offload_device with offload_device_nonshared_as.
7566 * testsuite/libgomp.c++/for-12.C: New test.
7567 * testsuite/libgomp.c++/for-13.C: New test.
7568 * testsuite/libgomp.c++/for-14.C: New test.
7569 * testsuite/libgomp.c++/linear-1.C: New test.
7570 * testsuite/libgomp.c++/member-1.C: New test.
7571 * testsuite/libgomp.c++/member-2.C: New test.
7572 * testsuite/libgomp.c++/member-3.C: New test.
7573 * testsuite/libgomp.c++/member-4.C: New test.
7574 * testsuite/libgomp.c++/member-5.C: New test.
7575 * testsuite/libgomp.c++/ordered-1.C: New test.
7576 * testsuite/libgomp.c++/reduction-5.C: New test.
7577 * testsuite/libgomp.c++/reduction-6.C: New test.
7578 * testsuite/libgomp.c++/reduction-7.C: New test.
7579 * testsuite/libgomp.c++/reduction-8.C: New test.
7580 * testsuite/libgomp.c++/reduction-9.C: New test.
7581 * testsuite/libgomp.c++/reduction-10.C: New test.
7582 * testsuite/libgomp.c++/reference-1.C: New test.
7583 * testsuite/libgomp.c++/simd14.C: New test.
7584 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7585 * testsuite/libgomp.c++/target-5.C: New test.
7586 * testsuite/libgomp.c++/target-6.C: New test.
7587 * testsuite/libgomp.c++/target-7.C: New test.
7588 * testsuite/libgomp.c++/target-8.C: New test.
7589 * testsuite/libgomp.c++/target-9.C: New test.
7590 * testsuite/libgomp.c++/target-10.C: New test.
7591 * testsuite/libgomp.c++/target-11.C: New test.
7592 * testsuite/libgomp.c++/target-12.C: New test.
7593 * testsuite/libgomp.c++/taskloop-1.C: New test.
7594 * testsuite/libgomp.c++/taskloop-2.C: New test.
7595 * testsuite/libgomp.c++/taskloop-3.C: New test.
7596 * testsuite/libgomp.c++/taskloop-4.C: New test.
7597 * testsuite/libgomp.c++/taskloop-5.C: New test.
7598 * testsuite/libgomp.c++/taskloop-6.C: New test.
7599 * testsuite/libgomp.c++/taskloop-7.C: New test.
7600 * testsuite/libgomp.c++/taskloop-8.C: New test.
7601 * testsuite/libgomp.c++/taskloop-9.C: New test.
7602 * testsuite/libgomp.fortran/affinity1.f90: New test.
7603 * testsuite/libgomp.fortran/affinity2.f90: New test.
7604
1f600fea
TV
76052015-10-13 Tom de Vries <tom@codesourcery.com>
7606
7607 PR tree-optimization/67476
7608 * testsuite/libgomp.c/autopar-3.c: New test.
7609 * testsuite/libgomp.c/autopar-4.c: New test.
7610 * testsuite/libgomp.c/autopar-5.c: New test.
7611 * testsuite/libgomp.c/autopar-6.c: New test.
7612 * testsuite/libgomp.c/autopar-7.c: New test.
7613 * testsuite/libgomp.c/autopar-8.c: New test.
7614
058a654b
JN
76152015-10-12 James Norris <jnorris@codesourcery.com>
7616
7617 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7618 initializer.
7619
9e531d37
DM
76202015-10-09 David Malcolm <dmalcolm@redhat.com>
7621
7622 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7623 using load_gcc_lib.
7624
113020dc
TS
76252015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7626
7627 * oacc-ptx.h: Remove file, moving its content into...
7628 * config/nvptx/fortran.c: ... here...
7629 * config/nvptx/oacc-init.c: ..., here...
7630 * config/nvptx/oacc-parallel.c: ..., and here.
7631 * config/nvptx/openacc.f90: New file.
7632 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7633 (link_ptx): Don't link in predefined bits of PTX code.
7634
cc3cd79b
NS
76352015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7636 Bernd Schmidt <bernds@codesourcery.com>
7637
7638 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7639 (struct targ_ptx_obj): New.
7640 (nvptx_tdata): Move earlier, change data format.
7641 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7642 objects.
7643 (GOMP_OFFLOAD_load_image): Adjust.
7644
4e2a5450
TS
76452015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7646
7647 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7648 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7651 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7652 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7653 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7654 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7655 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7656 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7685 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7686 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7687 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7688 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7689 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7690 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7691 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7692 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7693 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7694 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7695 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7696 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7697 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7698 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7699 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7700 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7701 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7702 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7703 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7704 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7705 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7706 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7707 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7708 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7709 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7710
164453bb
NS
77112015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7712
7713 * oacc-init.c (acc_on_device): Force optimization level.
7714
a12a0437
NS
77152015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7716
7717 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7718 (cuda_errlist): Delete.
7719 (cuda_error): Reimplement.
7720
3e32ee19
NS
77212015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7722
7723 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7724 array.
7725 * libgomp.map (GOACC_parallel_keyed): New.
7726 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7727 all callers.
7728 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7729 and take keyed varargs list. Adjust call to exec_func.
7730 (GOACC_parallel): Force host fallback.
7731 * libgomp_g.h (GOACC_parallel): Remove.
7732 (GOACC_parallel_keyed): Declare.
7733 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 7734 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
7735 (nvptx_exec): Lose separate geometry args, take array. Process
7736 dynamic dimensions and adjust.
7737 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7738 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7739 data.
7740 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7741 passing.
7742 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7743 passing.
7744
6bb4c3e2
CLT
77452015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
7746
7747 PR libgomp/67141
7748 * oacc-int.h (goacc_host_init): Add declaration.
7749 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7750 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7751
74032f47 77522015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 7753 Sebastian Pop <s.pop@samsung.com>
74032f47 7754
93d90219 7755 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
7756 match o/p.
7757 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7758 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7759 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7760 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7761 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7762
97875f4a
JJ
77632015-09-03 Jakub Jelinek <jakub@redhat.com>
7764
7765 * configure.tgt: Add missing ;; in between nvptx and rtems
7766 snippets.
7767
06441dd5
SH
77682015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7769
7770 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7771 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7772 (gomp_thread_pool_reservoir): Add priority member.
7773 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7774 priority.
7775 (parse_thread_pools): Likewise.
7776 * team.c (gomp_team_start): Call configuration provided
7777 gomp_adjust_thread_attr(). Destroy thread attributes if
7778 necessary.
7779 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7780
66c59f92
SH
77812015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7782
7783 * config/posix/pool.h: New.
7784 * config/rtems/pool.h: Likewise.
7785 * config/rtems/proc.c: Likewise.
7786 * libgomp.h (gomp_thread_destructor): Declare.
7787 * team.c: Include configuration provided "pool.h".
7788 (gomp_get_thread_pool): Define in configuration.
7789 (gomp_team_end): Call configuration defined
7790 gomp_release_thread_pool().
7791
13c41b2e
SH
77922015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7793
7794 * config/rtems/bar.c: New.
7795 * config/rtems/bar.h: Likewise.
7796 * config/rtems/mutex.c: Likewise.
7797 * config/rtems/mutex.h: Likewise.
7798 * config/rtems/sem.c: Likewise.
7799 * config/rtems/sem.h: Likewise.
7800 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7801 <sys/lock.h> header file.
7802 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7803 supported by Newlib.
7804 * configure: Regenerate.
7805
7892ec67
SH
78062015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
7807
7808 * team.c (gomp_new_thread_pool): Delete and move content to ...
7809 (gomp_get_thread_pool): ... new function. Allocate and
7810 initialize thread pool on demand.
7811 (get_last_team): Use gomp_get_thread_pool().
7812 (gomp_team_start): Delete thread pool initialization.
7813
1b96e9a4
TV
78142015-09-03 Tom de Vries <tom@codesourcery.com>
7815
7816 PR tree-optimization/65637
7817 * testsuite/libgomp.c/autopar-2.c: New test.
7818
3ff2d74e
TV
78192015-08-29 Tom de Vries <tom@codesourcery.com>
7820
7821 PR tree-optimization/46193
7822 * testsuite/libgomp.c/pr46193.c: New test.
7823
2a21ff19
NS
78242015-08-24 Nathan Sidwell <nathan@codesourcery.com>
7825
7826 libgomp/
7827 * libgomp.map: Add 4.0.2 version.
7828 * target.c (offload_image_descr): Add version field.
7829 (gomp_load_image_to_device): Add version argument. Adjust plugin
7830 call. Improve load mismatch diagnostic.
7831 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7832 call.
7833 (GOMP_offload_regster): Make stub function, move bulk to ...
7834 (GOMP_offload_register_ver): ... here. Process version argument.
7835 (GOMP_offload_unregister): Make stub function, move bulk to ...
7836 (GOMP_offload_unregister_ver): ... here. Process version argument.
7837 (gomp_init_device): Process version field.
7838 (gomp_unload_device): Process version field.
7839 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7840 macros. Check plugin version.
7841 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7842 loader and unloader types.
7843 * oacc-host.c: Include gomp-constants.h.
7844 (host_version): New.
7845 (host_load_image, host_unload_image): Adjust.
7846 (host_dispatch): Add host_version.
7847 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7848 (GOMP_OFFLOAD_version): New.
7849 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7850 (GOMP_OFFLOAD_unload_image): Likewise.
7851 * plugin/plugin-host.c: Include gomp-constants.h.
7852 (GOMP_OFFLOAD_version): New.
7853 (GOMP_OFFLOAD_load_image): Add version arg.
7854 (GOMP_OFFLOAD_unload_image): Likewise.
7855
1358a747
TV
78562015-08-24 Tom de Vries <tom@codesourcery.com>
7857
7858 PR tree-optimization/65468
7859 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7860
6be5c241
TV
78612015-08-24 Tom de Vries <tom@codesourcery.com>
7862
7863 PR tree-optimization/65468
7864 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7865
bfe7ac89
JV
78662015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7867
7868 PR libgomp/66761
7869 PR libgomp/67303
7870 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7871 (gomp_iter_guided_next): Idem.
7872 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7873 (gomp_iter_ull_guided_next): Idem.
7874 * config/linux/wait.h (do_spin): Idem.
7875
b97e78b7
TS
78762015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7877
7878 * libgomp-plugin.h (enum offload_target_type): Remove
7879 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7880 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7881 * openacc.h (enum acc_device_t): Likewise.
7882 * openacc_lib.h: Likewise.
7883 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7884 (acc_on_device): Just use __builtin_acc_on_device.
7885 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7886 of acc_on_device builtin.
7887 * plugin/plugin-host.h: Remove file.
7888 * plugin/plugin-host.c: Likewise, but salvage some content into...
7889 * oacc-host.c: ... this file.
7890 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7891 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7892 * Makefile.in: Regenerate.
7893 * configure: Likewise.
7894 * testsuite/lib/libgomp.exp
7895 (check_effective_target_openacc_host_nonshm_selected): Remove.
7896 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7897 ACC_DEVICE_TYPE=host_nonshm.
7898 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7899 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7900 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7901 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7902 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7903 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7904
44a7d18d
TS
79052015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7906 Jakub Jelinek <jakub@redhat.com>
7907
7908 * config/nvptx/affinity.c: New file.
7909 * config/nvptx/alloc.c: Likewise.
7910 * config/nvptx/bar.c: Likewise.
7911 * config/nvptx/barrier.c: Likewise.
7912 * config/nvptx/critical.c: Likewise.
7913 * config/nvptx/env.c: Likewise.
7914 * config/nvptx/error.c: Likewise.
7915 * config/nvptx/fortran.c: Likewise.
7916 * config/nvptx/iter.c: Likewise.
7917 * config/nvptx/iter_ull.c: Likewise.
7918 * config/nvptx/libgomp-plugin.c: Likewise.
7919 * config/nvptx/lock.c: Likewise.
7920 * config/nvptx/loop.c: Likewise.
7921 * config/nvptx/loop_ull.c: Likewise.
7922 * config/nvptx/mutex.c: Likewise.
7923 * config/nvptx/oacc-async.c: Likewise.
7924 * config/nvptx/oacc-cuda.c: Likewise.
7925 * config/nvptx/oacc-host.c: Likewise.
7926 * config/nvptx/oacc-init.c: Likewise.
7927 * config/nvptx/oacc-mem.c: Likewise.
7928 * config/nvptx/oacc-parallel.c: Likewise.
7929 * config/nvptx/oacc-plugin.c: Likewise.
7930 * config/nvptx/omp-lock.h: Likewise.
7931 * config/nvptx/ordered.c: Likewise.
7932 * config/nvptx/parallel.c: Likewise.
7933 * config/nvptx/proc.c: Likewise.
7934 * config/nvptx/ptrlock.c: Likewise.
7935 * config/nvptx/sections.c: Likewise.
7936 * config/nvptx/sem.c: Likewise.
7937 * config/nvptx/single.c: Likewise.
7938 * config/nvptx/splay-tree.c: Likewise.
7939 * config/nvptx/target.c: Likewise.
7940 * config/nvptx/task.c: Likewise.
7941 * config/nvptx/team.c: Likewise.
7942 * config/nvptx/time.c: Likewise.
7943 * config/nvptx/work.c: Likewise.
7944 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7945 * configure: Regenerate.
7946 * configure.tgt (config_path): Set to "nvptx" for target
7947 nvptx*-*-*.
7948
96a2d174
TS
79492015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7950
7951 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7952
9ebddeb0
NS
79532015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7954
7955 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7956 (cuda_errlist): Constify.
7957 (errmsg): Move into ...
7958 (cuda_error): ... here. Make smaller.
7959 (_XSTR, _STR): Delete.
7960 (cuda_synames): Delete.
7961 (verify_device_library): Delete.
7962 (nvptx_init): Don't call it.
7963
12efb1d7
TV
79642015-07-28 Tom de Vries <tom@codesourcery.com>
7965
7966 * testsuite/libgomp.c/uns-outer-4.c: New test.
7967
710ee218
CP
79682015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7969
7970 * testsuite/libgomp.c/pr66714.c: New test.
7971
27c4ac7d
MB
79722015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7973
7974 PR libgomp/66950
7975 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7976 (fib_ref): New function.
7977 (fib): Correct corner cases in the recursion.
7978 (main): Replace the non-simd loop with fib_ref call.
7979 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7980 subroutine.
7981 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7982 for the last array element value. Replace the non-simd loop with
7983 fib_ref call. Remove redundant b_ref array. Remove the comparison
7984 of the last array element with according Fibonacci sequence element.
7985 (fib): Correct corner cases in the recursion.
7986
22be2349
NS
79872015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7988
7989 * target.c (gomp_offload_image_to_device): Rename to ...
7990 (gomp_load_image_to_device): ... here.
7991 (GOMP_offload_register): Adjust call.
7992 (gomp_init_device): Likewise.
7993 (gomp_unload_image_from_device): New. Broken out of ...
7994 (GOMP_offload_unregister): ... here. Call it.
7995 (gomp_unload_device): New.
7996 * libgomp.h (gomp_unload_device): Declare.
7997 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7998 mem maps.
7999
f3e9a059
NS
80002015-07-20 Nathan Sidwell <nathan@codesourcery.com>
8001
a091118d
NS
8002 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8003 wait=-specific if.
8004 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8005 !=0 condition.
8006 (goacc_waits): Move !num_waits handling to ...
8007 (GOACC_wait): ... here, the only caller that might have zero waits.
8008
f3e9a059
NS
8009 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8010 (struct ptx_image_data): Move earlier, add fns field.
8011 (struct ptx_device): Add images and image_lock fields.
8012 (ptx_images, ptx_image_lock): Delete.
8013 (nvptx_open_device): Initialize images and image_lock fields.
8014 (nvptx_close_device): Destroy image_lock.
8015 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8016 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8017 fields.
8018
afb2d80b
NS
80192015-07-17 Nathan Sidwell <nathan@codesourcery.com>
8020
896c28a7
NS
8021 * target.c (GOMP_offload_register): Use int for device type arg.
8022 (GOMP_offload_unregister): Likewise.
8023
ebe4a560
NS
8024 * target.c (struct_offload_image_descr): Constify host_table.
8025 (gomp_offload_image_to_device): Likewise.
8026 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8027
afb2d80b
NS
8028 * libgomp.h (gomp_device_descr): Constify target data arguments.
8029 * target.c (struct offload_image_descr): Constify target_data.
8030 (gomp_offload_image_to_device): Likewise.
8031 (GOMP_offload_register): Likewise.
93d90219 8032 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
8033 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8034 GOMP_OFFLOAD_unload_image): Constify target data.
8035 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8036 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8037
a4cb876d
NS
80382015-07-16 Nathan Sidwell <nathan@codesourcery.com>
8039
8040 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8041 Workaround driver library const error.
8042 (struct nvptx_tdata, nvptx_tdata_t): New.
8043 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8044 type.
8045
28ef6a27
MB
80462015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
8047
8048 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8049 of EPS parameter from integer to real.
8050 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8051 type of EPS parameter from integer to real.
8052
6dba0113
SH
80532015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
8054
8055 * team.c (get_last_team): New.
8056 (gomp_new_team): Recycle last non-nested team if possible.
8057 (gomp_team_end): Move team work share list free lock destruction
8058 to ...
8059 (free_team): ... here.
8060
4c1cb4da
MB
80612015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
8062
8063 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8064 and ref from int to double. Replaced their comparison with
8065 an inequality of their difference and EPS.
8066 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8067 comparison of pri and a reference number with an inequality of their
8068 difference and EPS.
8069 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8070 the comparison of sum and sum_ref with an inequality of their
8071 difference and EPS.
8072 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8073 the comparison of pri and a reference number with an inequality of
8074 their difference and EPS.
8075
343587dc
MB
80762015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
8077
8078 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8079 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8080 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8081 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8082 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8083 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8084 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8085 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8086 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8087 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8088 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8089 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8090 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8091 variables.
8092 (vec_mult): Likewise. Add #pragma omp taskwait.
8093 (main): Adjust caller.
8094 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8095 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8096 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8097 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8098 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8099 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8100 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8101 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8102 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8103 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8104 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8105 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8106 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8107 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8108 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8109 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8110 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8111 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8112 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8113 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8114 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8115 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8116 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8117 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8118 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8119 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8120 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8121 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8122 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8123 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8124 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8125 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8126 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8127 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8128 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8129 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8130 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8131 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8132 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8133 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8134 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8135 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8136 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8137 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8138 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8139 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8140 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8141 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8142 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8143 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8144 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8145 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8146 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8147 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8148 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8149 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8150 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8151 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8152 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8153 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8154 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8155 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8156 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8157 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8158 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8159 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8160 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8161 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8162 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8163 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8164 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8165 (vec_mult): Add !$omp taskwait.
8166 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8167 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8168 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8169 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8170 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8171 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8172 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8173 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8174 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8175 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8176 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8177 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8178 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8179 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8180 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8181 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8182 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8183 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8184 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8185 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8186 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8187 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8188 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8189 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8190 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8191 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8192 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8193 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8194 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8195 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8196 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8197 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8198 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8199 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8200 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8201 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8202 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8203 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8204 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8205 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8206 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8207 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8208 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8209 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8210 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8211 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8212 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8213 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8214 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8215 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8216 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8217 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8218 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8219 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8220 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8221 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8222 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8223 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8224 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8225 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8226 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8227 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8228 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8229 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8230 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8231 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8232 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8233
9f620bf1
TV
82342015-07-10 Tom de Vries <tom@codesourcery.com>
8235
8236 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8237 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8238
a92defda
TS
82392015-07-08 Thomas Schwinge <thomas@codesourcery.com>
8240
8241 PR libgomp/65099
8242 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8243 in a 64-bit configuration.
8244 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8245 offloading testing if no such device is available.
8246 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8247 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8248
cadb53a5
TV
82492015-07-08 Tom de Vries <tom@codesourcery.com>
8250
8251 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8252 second call to f.
8253 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8254
712cb0bb
TV
82552015-07-07 Tom de Vries <tom@codesourcery.com>
8256
8257 PR tree-optimization/66642
8258 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8259 iteration count case.
8260 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8261 function, factor out of ...
8262 (main): ... here. Test low iteration count case.
8263
e5210c77
SH
82642015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
8265
8266 * libgomp.h (gomp_thread_pool): Comment last_team field.
8267
f70360e7
UB
82682015-07-02 Uros Bizjak <ubizjak@gmail.com>
8269
8270 * testsuite/libgomp.c++/pr66702-1.C: Require
8271 vect_simd_clones effective target.
8272 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8273
b451c271
TV
82742015-06-30 Tom de Vries <tom@codesourcery.com>
8275
8276 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8277 already set. Use DEFAULT_CFLAGS in dg-runtest.
8278 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8279 "-O2".
8280
f8e89d9f
TV
82812015-06-30 Tom de Vries <tom@codesourcery.com>
8282
8283 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8284 already set. Use DEFAULT_CFLAGS in dg-runtest.
8285 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8286 * testsuite/libgomp.c++/pr64824.C: Same.
8287 * testsuite/libgomp.c++/pr64868.C: Same.
8288 * testsuite/libgomp.c++/pr66199-1.C: Same.
8289 * testsuite/libgomp.c++/pr66199-2.C: Same.
8290 * testsuite/libgomp.c++/target-2.C: Same.
8291 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8292 -std=<standard> option.
8293 * testsuite/libgomp.c++/udr-11.C: Same.
8294 * testsuite/libgomp.c++/udr-12.C: Same.
8295 * testsuite/libgomp.c++/udr-13.C: Same.
8296 * testsuite/libgomp.c++/udr-14.C: Same.
8297 * testsuite/libgomp.c++/udr-15.C: Same.
8298 * testsuite/libgomp.c++/udr-16.C: Same.
8299 * testsuite/libgomp.c++/udr-17.C: Same.
8300 * testsuite/libgomp.c++/udr-18.C: Same.
8301 * testsuite/libgomp.c++/udr-19.C: Same.
8302 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8303 * testsuite/libgomp.c++/simd-1.C: Same.
8304 * testsuite/libgomp.c++/simd-2.C: Same.
8305 * testsuite/libgomp.c++/simd-3.C: Same.
8306 * testsuite/libgomp.c++/simd-4.C: Same.
8307 * testsuite/libgomp.c++/simd-5.C: Same.
8308 * testsuite/libgomp.c++/simd-6.C: Same.
8309 * testsuite/libgomp.c++/simd-7.C: Same.
8310 * testsuite/libgomp.c++/simd-8.C: Same.
8311 * testsuite/libgomp.c++/simd-9.C: Same.
8312 * testsuite/libgomp.c++/simd10.C: Same.
8313 * testsuite/libgomp.c++/simd11.C: Same.
8314 * testsuite/libgomp.c++/simd12.C: Same.
8315 * testsuite/libgomp.c++/simd13.C: Same.
8316
3446fe48
JJ
83172015-06-30 Jakub Jelinek <jakub@redhat.com>
8318
8319 PR middle-end/66702
8320 * testsuite/libgomp.c++/pr66702-1.C: New test.
8321 * testsuite/libgomp.c++/pr66702-2.C: New test.
8322
8a36714a
TV
83232015-06-30 Tom de Vries <tom@codesourcery.com>
8324
8325 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8326 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8327 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8328 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8329
4f75d608
TV
83302015-06-30 Tom de Vries <tom@codesourcery.com>
8331
8332 PR tree-optimization/66652
8333 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8334 using restrict pointers.
8335 (main): Add arguments to calls to f.
8336 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8337
6d9d1eeb
AT
83382015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
8339
8340 * configure.ac: Fix check for header <sys/sysctl.h>.
8341 * configure: Regenerate.
8342 * config.h.in: Likewise.
8343
1222f22b
TV
83442015-06-23 Tom de Vries <tom@codesourcery.com>
8345
8346 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8347 abort.
8348 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8349
d7efbbf6
TS
83502015-06-19 Thomas Schwinge <thomas@codesourcery.com>
8351
bfcd036f
TS
8352 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8353 acc_device_nvidia.
8354
d7efbbf6
TS
8355 PR libgomp/66518
8356 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8357 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8358
d7bfc710
TV
83592015-06-15 Tom de Vries <tom@codesourcery.com>
8360
8361 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8362 dg-additional-options for any remaining options.
8363 * testsuite/libgomp.c/atomic-2.c: Same.
8364 * testsuite/libgomp.c/atomic-4.c: Same.
8365 * testsuite/libgomp.c/atomic-5.c: Same.
8366 * testsuite/libgomp.c/atomic-6.c: Same.
8367 * testsuite/libgomp.c/autopar-1.c: Same.
8368 * testsuite/libgomp.c/copyin-1.c: Same.
8369 * testsuite/libgomp.c/copyin-2.c: Same.
8370 * testsuite/libgomp.c/copyin-3.c: Same.
8371 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8372 * testsuite/libgomp.c/nestedfn-5.c: Same.
8373 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8374 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8375 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8376 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8377 * testsuite/libgomp.c/pr32362-1.c: Same.
8378 * testsuite/libgomp.c/pr32362-2.c: Same.
8379 * testsuite/libgomp.c/pr32362-3.c: Same.
8380 * testsuite/libgomp.c/pr39591-1.c: Same.
8381 * testsuite/libgomp.c/pr39591-2.c: Same.
8382 * testsuite/libgomp.c/pr39591-3.c: Same.
8383 * testsuite/libgomp.c/pr58392.c: Same.
8384 * testsuite/libgomp.c/pr58756.c: Same.
8385 * testsuite/libgomp.c/simd-1.c: Same.
8386 * testsuite/libgomp.c/simd-10.c: Same.
8387 * testsuite/libgomp.c/simd-11.c: Same.
8388 * testsuite/libgomp.c/simd-12.c: Same.
8389 * testsuite/libgomp.c/simd-13.c: Same.
8390 * testsuite/libgomp.c/simd-14.c: Same.
8391 * testsuite/libgomp.c/simd-15.c: Same.
8392 * testsuite/libgomp.c/simd-2.c: Same.
8393 * testsuite/libgomp.c/simd-3.c: Same.
8394 * testsuite/libgomp.c/simd-4.c: Same.
8395 * testsuite/libgomp.c/simd-5.c: Same.
8396 * testsuite/libgomp.c/simd-6.c: Same.
8397 * testsuite/libgomp.c/simd-7.c: Same.
8398 * testsuite/libgomp.c/simd-8.c: Same.
8399 * testsuite/libgomp.c/simd-9.c: Same.
8400
fb5b5352
TV
84012015-06-15 Tom de Vries <tom@codesourcery.com>
8402
8403 * testsuite/libgomp.c/pr35625.c: Fix typo.
8404
ca431bef
TV
84052015-06-15 Tom de Vries <tom@codesourcery.com>
8406
8407 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8408 in dg-options.
8409 * testsuite/libgomp.c/atomic-3.c: Same.
8410 * testsuite/libgomp.c/debug-1.c: Same.
8411 * testsuite/libgomp.c/nqueens-1.c: Same.
8412 * testsuite/libgomp.c/pr26171.c: Same.
8413 * testsuite/libgomp.c/pr48591.c: Same.
8414 * testsuite/libgomp.c/pr64824.c: Same.
8415 * testsuite/libgomp.c/pr64868.c: Same.
8416 * testsuite/libgomp.c/pr66133.c: Same.
8417 * testsuite/libgomp.c/pr66199-1.c: Same.
8418 * testsuite/libgomp.c/pr66199-2.c: Same.
8419 * testsuite/libgomp.c/target-8.c: Same.
8420
0d8a9e20
TV
84212015-06-15 Tom de Vries <tom@codesourcery.com>
8422
8423 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8424 -std={gnu99,c99}.
8425 * testsuite/libgomp.c/for-1.c: Same.
8426 * testsuite/libgomp.c/for-2.c: Same.
8427 * testsuite/libgomp.c/for-3.c: Same.
8428 * testsuite/libgomp.c/pr35625.c: Same.
8429 * testsuite/libgomp.c/pr39154.c: Same.
8430 * testsuite/libgomp.c/simd-16.c: Same.
8431 * testsuite/libgomp.c/simd-17.c: Same.
8432
a6860be9
TV
84332015-06-13 Tom de Vries <tom@codesourcery.com>
8434
8435 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8436
ab3306d2
TV
84372015-06-13 Tom de Vries <tom@codesourcery.com>
8438
8439 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8440 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8441 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8442 (N): Define.
8443 (main): Use N instead of hardcoded constants.
8444
7c82d827
TV
84452015-06-05 Tom de Vries <tom@codesourcery.com>
8446
8447 merge from gomp4 branch:
8448 2015-05-28 Tom de Vries <tom@codesourcery.com>
8449
8450 PR tree-optimization/65443
8451 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8452 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8453 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8454
c469078d
BRF
84552015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8456
8457 * testsuite/libgomp.graphite/bounds.c: Adjust for
8458 cleanup-tree-dump removal.
8459 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8460 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8461 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8462 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8463 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8464 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8465 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8466 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8467 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8468 * testsuite/libgomp.graphite/pr41118.c: Likewise.
8469
bb3caa35
UB
84702015-05-28 Uros Bizjak <ubizjak@gmail.com>
8471
8472 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8473 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8474 (futex_wake) [!__x86_64__]: Ditto.
8475
9fb5fd44
JB
84762015-05-28 Julian Brown <julian@codesourcery.com>
8477
8478 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8479 function comment. Only call gomp_fatal if new argument is true.
8480 (acc_dev_num_out_of_range): New function.
8481 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8482 acc_dev_num_out_of_range as appropriate.
8483 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
8484 (acc_get_device_num, acc_set_device_num): Update calls to
8485 resolve_device.
9fb5fd44
JB
8486 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8487 output.
8488
32eaed93
JB
84892015-05-28 Julian Brown <julian@codesourcery.com>
8490
8491 PR libgomp/65742
32eaed93
JB
8492 * oacc-init.c (plugin/plugin-host.h): Include.
8493 (acc_on_device): Check whether we're in an offloaded region for
8494 host_nonshm
8495 plugin. Don't use __builtin_acc_on_device.
8496 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8497 nonshm_exec flag in thread-local data.
8498 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8499 data for host_nonshm plugin.
8500 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8501 for host_nonshm plugin.
8502 * plugin/plugin-host.h: New.
8503
ea023bcf
UB
85042015-05-27 Uros Bizjak <ubizjak@gmail.com>
8505
8ed501f1
UB
8506 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8507
85082015-05-27 Uros Bizjak <ubizjak@gmail.com>
8509
8510 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8511 Declare as int.
8512 (FUTEX_PRIVATE_FLAG): Remove L suffix.
8513 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8514 Declare as int.
8515
85162015-05-27 Uros Bizjak <ubizjak@gmail.com>
8517
bb3caa35 8518 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 8519
1716efeb
CLT
85202015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
8521
8522 * target.c (gomp_map_pointer): New function abstracting out
8523 GOMP_MAP_POINTER handling.
8524 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8525 gomp_map_pointer().
8526
41b37d5e
JJ
85272015-05-19 Jakub Jelinek <jakub@redhat.com>
8528
8529 PR middle-end/66199
8530 * testsuite/libgomp.c/pr66199-1.c: New test.
8531 * testsuite/libgomp.c/pr66199-2.c: New test.
8532 * testsuite/libgomp.c++/pr66199-1.C: New test.
8533 * testsuite/libgomp.c++/pr66199-2.C: New test.
8534 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8535 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8536
c8319826
JB
85372015-05-19 Julian Brown <julian@codesourcery.com>
8538
8539 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8540 on cuInit failure.
8541
b37dddbc
JJ
85422015-05-13 Jakub Jelinek <jakub@redhat.com>
8543
8544 PR middle-end/66133
8545 * testsuite/libgomp.c/pr66133.c: New test.
8546
55fba601
MH
85472015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
8548
8549 * Makefile.in: Regenerated with automake-1.11.6.
8550 * aclocal.m4: Likewise.
8551 * config.h.in: Likewise.
8552 * configure: Likewise.
8553 * testsuite/Makefile.in: Likewise.
8554
1be0899d
JM
85552015-05-08 Jason Merrill <jason@redhat.com>
8556
8557 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8558 _Complex.
8559
8560 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8561
d2463960
JB
85622015-05-06 Julian Brown <julian@codesourcery.com>
8563
8564 * oacc-init.c (acc_device_lock): Add explanatory comment.
8565 (resolve_device): Add comment about locking requirement.
8566 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8567 gomp_init_device and gomp_fini_device calls.
8568 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8569 (acc_get_device_num, acc_set_device_num): Add locking around
8570 resolve_device and gomp_init_device calls.
8571
e38fdba4
JB
85722015-05-06 Julian Brown <julian@codesourcery.com>
8573
8574 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8575 goacc_thread_lock on error paths.
8576 * oacc-mem.c (lookup_host): Remove locking from function. Note
8577 locking requirement for caller in function comment.
8578 (lookup_dev): Likewise.
8579 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8580 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8581 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8582 Add locking.
8583
ae8ffbbb
TS
85842015-05-05 Thomas Schwinge <thomas@codesourcery.com>
8585
8586 PR testsuite/65205
8587 PR libgomp/65993
8588 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8589 don't expect "0x" prefix for "%p" format specifier, don't expect
8590 "(nil)" for NULL pointer.
8591 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8592 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8593 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8594 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8595 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8596 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8597 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8598 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8599 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8600 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8601 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8602 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8603 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8604 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8605 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8606 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8607 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8608 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8609 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8610 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8611 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8612 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8613 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8614 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8615 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8616 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8617 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8618 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8619 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8620 accurately specify what we're looking for.
8621 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8622 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8623 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8624 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8625 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8626
1309f1d2
JN
86272015-04-30 James Norris <jnorris@codesourcery.com>
8628
8629 PR testsuite/65205
8630 * testsuite/lib/libgomp.exp
8631 (check_effective_target_openacc_host_selected)
8632 (check_effective_target_openacc_host_nonshm_selected): New
8633 procedures.
8634 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8635 dg-shouldfail.
8636 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8637 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8638 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8639 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8640 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8641 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8642 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8643 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8644 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8645 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8646 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8647 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8648 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8649 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8650 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8651 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8652 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8653 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8654 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8655 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8656 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8657 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8658 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8659 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8660 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8661 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8662 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8663 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8664 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8665 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8666 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8667 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8668 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8669 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8670 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8671 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8672 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8673 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8674 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8675 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8676 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8677 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8678 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8679
d93bdab5
JB
86802015-04-08 Julian Brown <julian@codesourcery.com>
8681
8682 * libgomp.h (target_mem_desc: Remove mem_map field.
8683 (acc_dispatch_t): Remove open_device_func, close_device_func,
8684 get_device_num_func, set_device_num_func, target_data members.
8685 Change create_thread_data_func argument to device number instead of
8686 generic pointer.
8687 * oacc-async.c (assert.h): Include.
8688 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8689 (acc_wait_all, acc_wait_all_async): Use current host thread's
8690 active device, not base_dev.
8691 * oacc-cuda.c (acc_get_current_cuda_device)
8692 (acc_get_current_cuda_context, acc_get_cuda_stream)
8693 (acc_set_cuda_stream): Likewise.
8694 * oacc-host.c (host_dispatch): Don't set open_device_func,
8695 close_device_func, get_device_num_func or set_device_num_func.
8696 * oacc-init.c (base_dev, init_key): Remove.
8697 (cached_base_dev): New.
8698 (name_of_acc_device_t): New.
8699 (acc_init_1): Initialise default-numbered device, not zeroth.
8700 (acc_shutdown_1): Close all devices of a given type.
8701 (goacc_destroy_thread): Don't use base_dev.
8702 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8703 (goacc_attach_host_thread_to_device): New.
8704 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8705 (acc_get_num_devices): Don't use base_dev.
8706 (acc_set_device_type): Reimplement.
8707 (acc_get_device_type): Don't use base_dev.
8708 (acc_get_device_num): Tweak logic.
8709 (acc_set_device_num): Likewise.
8710 (acc_on_device): Use acc_get_device_type.
8711 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8712 (goacc_lazy_initialize): Reimplement with acc_init and
8713 goacc_attach_host_thread_to_device.
8714 * oacc-int.h (goacc_thread): Add base_dev field.
8715 (base_dev): Remove extern declaration.
8716 (goacc_attach_host_thread_to_device): Add prototype.
8717 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8718 base_dev.
8719 (acc_free): Likewise.
8720 (acc_memcpy_to_device): Likewise.
8721 (acc_memcpy_from_device): Likewise.
8722 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8723 goacc_lazy_initialize (throughout).
8724 (GOACC_parallel): Use tgt_offset to locate target functions.
8725 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8726 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8727 (gomp_load_plugin_for_device): Remove open_device, close_device,
8728 get_device_num, set_device_num openacc hook initialisation. Don't set
8729 openacc.target_data.
8730 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8731 (GOMP_OFFLOAD_openacc_close_device)
8732 (GOMP_OFFLOAD_openacc_get_device_num)
8733 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8734 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8735 to int.
8736 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8737 (instantiated_devices, ptx_dev_lock): New.
8738 (struct ptx_image_data): New.
8739 (ptx_devices, ptx_images, ptx_image_lock): New.
8740 (fini_streams_for_device): Reorder cuStreamDestroy call.
8741 (nvptx_get_num_devices): Remove forward declaration.
8742 (nvptx_init): Change return type to bool.
8743 (nvptx_fini): Remove.
8744 (nvptx_attach_host_thread_to_device): New.
8745 (nvptx_open_device): Return struct ptx_device* instead of void*.
8746 (nvptx_close_device): Change argument type to struct ptx_device*,
8747 return type to void.
8748 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8749 (kernel_target_data, kernel_host_table): Remove static globals.
8750 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8751 (GOMP_OFFLOAD_init_device): Reimplement.
8752 (GOMP_OFFLOAD_fini_device): Likewise.
8753 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8754 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8755 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8756 (GOMP_OFFLOAD_openacc_open_device)
8757 (GOMP_OFFLOAD_openacc_close_device)
8758 (GOMP_OFFLOAD_openacc_set_device_num)
8759 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8760 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8761 (device number).
8762
8763 testsuite/
8764 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8765
a51df54e
IV
87662015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8767
8768 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8769 * libgomp.h (struct gomp_memory_mapping): Remove.
8770 (struct target_mem_desc): Change type of mem_map from
8771 gomp_memory_mapping * to splay_tree_s *.
8772 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8773 Add load_image_func, unload_image_func.
8774 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8775 Remove offload_regions_registered.
8776 (gomp_init_tables): Remove.
8777 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8778 to splay_tree_s *.
8779 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8780 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8781 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8782 offload_regions_registered.
8783 Initialize load_image_func, unload_image_func, mem_map.root.
8784 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8785 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8786 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8787 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8788 gomp_memory_mapping *. Use dev's lock and splay_tree.
8789 (lookup_dev): Use dev's lock.
8790 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8791 (acc_is_present): Likewise.
8792 (acc_map_data): Likewise.
8793 (acc_unmap_data): Likewise. Use dev's lock.
8794 (present_create_copy): Likewise.
8795 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8796 (update_dev_host): Likewise.
8797 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8798 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8799 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8800 (GOMP_OFFLOAD_get_table): Remove
8801 (GOMP_OFFLOAD_load_image): New function.
8802 (GOMP_OFFLOAD_unload_image): New function.
8803 * target.c (register_lock): New mutex for offload image registration.
8804 (num_devices): Do not guard with PLUGIN_SUPPORT.
8805 (gomp_realloc_unlock): New static function.
8806 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8807 before gomp_fatal.
8808 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8809 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8810 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8811 mem_map's.
8812 (gomp_unmap_vars): Likewise.
8813 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8814 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8815 (gomp_offload_image_to_device): New static function.
8816 (GOMP_offload_register): Add mutex lock.
8817 Call gomp_offload_image_to_device for all initialized devices.
8818 Replace gomp_realloc with gomp_realloc_unlock.
8819 (GOMP_offload_unregister): New function.
8820 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8821 get_table_func from the plugin with calls to init_device_func and
8822 gomp_offload_image_to_device.
8823 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8824 to splay_tree_s *.
8825 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8826 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8827 (GOMP_target_data): Do not call gomp_init_tables.
8828 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8829 (gomp_load_plugin_for_device): Replace register_image and get_table
8830 with load_image and unload_image in DLSYM ().
8831 (gomp_register_images_for_device): Remove function.
8832 (gomp_target_init): Do not initialize current_device.mem_map.*,
8833 current_device.offload_regions_registered.
8834 Remove call to gomp_register_images_for_device.
8835 Do not free offload_images and num_offload_images.
8836
6c384511
JJ
88372015-03-30 Jakub Jelinek <jakub@redhat.com>
8838
8839 PR fortran/65597
8840 * testsuite/libgomp.fortran/pr65597.f90: New test.
8841
3e8165a5
TV
88422015-03-27 Tom de Vries <tom@codesourcery.com>
8843
8844 PR testsuite/65594
8845 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8846 (init, check): New function.
8847 (foo): Change return type to void.
8848 (main): Call init and check.
8849
4d688c9a
TV
88502015-03-27 Tom de Vries <tom@codesourcery.com>
8851
8852 PR testsuite/65594
8853 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8854 (foo): Use M for non-inner loops to scale down test-case.
8855
01c0b3b0
KT
88562015-03-25 Kai Tietz <ktietz@redhat.com>
8857
8858 PR libgomp/64972
8859 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8860 (GOACC_data_start): Likewise.
8861 * target.c (gomp_map_vars): Likewise.
8862
844d9a76
JDA
88632015-03-21 John David Anglin <danglin@gcc.gnu.org>
8864
8865 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8866 hppa*-*-hpux*.
8867
9b65e171
JJ
88682015-03-19 Jakub Jelinek <jakub@redhat.com>
8869
8870 * testsuite/libgomp.c/target-10.c: New test.
8871 * testsuite/libgomp.c++/target-4.C: New test.
8872
db397e2e
IV
88732015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8874
8875 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8876 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8877
cd93945d
SH
88782015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8879
8880 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8881 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8882 (pthread.h): Check for this header file.
8883 * configure: Regenerate.
8884
05deba9f
TV
88852015-02-25 Tom de Vries <tom@codesourcery.com>
8886
8887 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8888 (check_reduction_op, check_reduction_macro, max, min):
8889 Declare.
8890 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8891 function.
8892 (main): Use new functions.
8893
196904d8
IT
88942015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8895
8896 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8897 char * for variables holding dlerror return values.
8898 (DLSYM_OPT): Ditto.
8899
a2818955
TS
89002015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8901
8902 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8903
26f93312
TS
89042015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8905 Cesar Philippidis <cesar@codesourcery.com>
8906
8907 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8908 GOACC_ctaid, and GOACC_nctaid routines.
8909
fa01ffcc
JJ
89102015-02-11 Jakub Jelinek <jakub@redhat.com>
8911
8912 PR c/64824
8913 * testsuite/libgomp.c/atomic-18.c: New test.
8914 * testsuite/libgomp.c++/atomic-16.C: New test.
8915
4886ec8e
JJ
89162015-02-04 Jakub Jelinek <jakub@redhat.com>
8917
8918 PR c/64824
8919 PR c/64868
8920 * testsuite/libgomp.c/pr64824.c: New test.
8921 * testsuite/libgomp.c/pr64868.c: New test.
8922 * testsuite/libgomp.c++/pr64824.C: New test.
8923 * testsuite/libgomp.c++/pr64868.C: New test.
8924
02d3e45e
DE
89252015-02-01 David Edelsohn <dje.gcc@gmail.com>
8926
8927 PR libgomp/64635
8928 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8929 Link with -lpthread.
8930 * config/aix/plugin-suffix.h: Delete.
8931
b5f7a6ca
JH
89322015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8933
8934 PR libgomp/64635
8935 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8936 (*-*-darwin*): Use config_path "bsd darwin posix".
8937 (*-*-hpux*): Use config_path "hpux posix".
8938 * target.c: Add include of plugin-suffix.h and use
8939 SONAME_SUFFIX macro.
8940 * config/aix/plugin-suffix.h: New file.
8941 * config/darwin/plugin-suffix.h: New file.
8942 * config/hpux/plugin-suffix.h: New file.
8943 * config/posix/plugin-suffix.h: New file.
8944
b8910447
JJ
89452015-01-23 Jakub Jelinek <jakub@redhat.com>
8946
8947 PR middle-end/64734
8948 * libgomp.c/pr64734.c: New test.
8949
a0c88d06
TV
89502015-01-23 Tom de Vries <tom@codesourcery.com>
8951
8952 PR libgomp/64672
8953 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8954
1506ae0e
TV
89552015-01-23 Tom de Vries <tom@codesourcery.com>
8956
8957 PR libgomp/64707
8958 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8959 dg-options.
8960
128b26dc
TS
89612015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8962
bed62c21 8963 PR libgomp/64625
128b26dc
TS
8964 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8965 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8966 formal parameter. Update all users.
8967 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8968 Document unused formal parameter.
8969
6e36114c
TS
89702015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8971
8972 * oacc-parallel.c: Don't include <alloca.h>.
8973 (GOACC_parallel): Use gomp_alloca instead of alloca.
8974
973e9808
GP
89752015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8976
8977 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8978
41dbbb37
TS
89792015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8980 James Norris <jnorris@codesourcery.com>
8981 Tom de Vries <tom@codesourcery.com>
8982 Julian Brown <julian@codesourcery.com>
8983 Cesar Philippidis <cesar@codesourcery.com>
8984 Nathan Sidwell <nathan@codesourcery.com>
8985 Tobias Burnus <burnus@net-b.de>
8986
8987 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8988 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8989 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8990 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8991 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8992 Include $(top_srcdir)/plugin/Makefrag.am.
8993 (nodist_libsubinclude_HEADERS): Add openacc.h.
8994 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8995 openacc.f90, openacc.mod, openacc_kinds.mod.
8996 (omp_lib.mod): Generalize into...
8997 (%.mod): ... this new rule.
8998 (openacc_kinds.mod, openacc.mod): New rules.
8999 * plugin/configfrag.ac: New file.
9000 * configure.ac: Move plugin/offloading support into it. Include
9001 it. Instantiate testsuite/libgomp-test-support.pt.exp.
9002 * plugin/Makefrag.am: New file.
9003 * testsuite/Makefile.am (OFFLOAD_TARGETS)
9004 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9005 export.
9006 (libgomp-test-support.exp): New rule.
9007 (all-local): Depend on it.
9008 * Makefile.in: Regenerate.
9009 * testsuite/Makefile.in: Regenerate.
9010 * config.h.in: Likewise.
9011 * configure: Likewise.
9012 * configure.tgt: Harden shell syntax.
9013 * env.c: Include "oacc-int.h".
9014 (parse_acc_device_type): New function.
9015 (gomp_debug_var, goacc_device_type, goacc_device_num): New
9016 variables.
9017 (initialize_env): Initialize those. Call
9018 goacc_runtime_initialize.
9019 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9020 (gomp_fatal): Call gomp_vfatal.
9021 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9022 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9023 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9024 (splay_tree_node, splay_tree, splay_tree_key)
9025 (struct target_mem_desc, struct splay_tree_key_s)
9026 (struct gomp_memory_mapping, struct acc_dispatch_t)
9027 (struct gomp_device_descr, gomp_acc_insert_pointer)
9028 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9029 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9030 (gomp_free_memmap, gomp_fini_device): New declarations.
9031 (gomp_vdebug, gomp_debug): New macros.
9032 Include "splay-tree.h".
9033 * libgomp.map (OACC_2.0): New symbol version. Use for
9034 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9035 acc_set_device_type_h_, acc_get_device_type,
9036 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9037 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9038 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9039 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9040 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9041 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9042 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9043 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9044 acc_copyin_array_h_, acc_present_or_copyin,
9045 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9046 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9047 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9048 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9049 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9050 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9051 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9052 acc_update_device, acc_update_device_32_h_,
9053 acc_update_device_64_h_, acc_update_device_array_h_,
9054 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9055 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9056 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9057 acc_is_present_64_h_, acc_is_present_array_h_,
9058 acc_memcpy_to_device, acc_memcpy_from_device,
9059 acc_get_current_cuda_device, acc_get_current_cuda_context,
9060 acc_get_cuda_stream, acc_set_cuda_stream.
9061 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
9062 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9063 GOACC_update, GOACC_wait, GOACC_get_thread_num,
9064 GOACC_get_num_threads.
9065 (GOMP_PLUGIN_1.0): New symbol version. Use for
9066 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9067 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9068 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9069 GOMP_PLUGIN_acc_thread.
9070 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9071 environment variable.
9072 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9073 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9074 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9075 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9076 (splay_tree_remove): New declarations.
9077 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9078 (splay_tree_remove, splay_tree_lookup): Move into...
9079 * splay-tree.c: ... this new file.
9080 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9081 (splay_tree_node, splay_tree, splay_tree_key)
9082 (struct target_mem_desc, struct splay_tree_key_s)
9083 (struct gomp_device_descr): Don't declare.
9084 (num_devices_openmp): New variable.
9085 (gomp_get_num_devices ): Use it.
9086 (gomp_init_targets_once): New function.
9087 (gomp_get_num_devices ): Use it.
9088 (get_kind, gomp_copy_from_async, gomp_free_memmap)
9089 (gomp_fini_device, gomp_register_image_for_device): New functions.
9090 (gomp_map_vars): Add devaddrs parameter.
9091 (gomp_update): Add mm parameter.
9092 (gomp_init_device): Move most of it into...
9093 (gomp_init_tables): ... this new function.
9094 (gomp_register_images_for_device): Remove function.
9095 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9096 Make them hidden instead of static.
9097 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9098 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9099 (GOMP_target_end_data, GOMP_target_update)
9100 (gomp_load_plugin_for_device, gomp_target_init): Update for
9101 OpenACC changes.
9102 * oacc-async.c: New file.
9103 * oacc-cuda.c: Likewise.
9104 * oacc-host.c: Likewise.
9105 * oacc-init.c: Likewise.
9106 * oacc-int.h: Likewise.
9107 * oacc-mem.c: Likewise.
9108 * oacc-parallel.c: Likewise.
9109 * oacc-plugin.c: Likewise.
9110 * oacc-plugin.h: Likewise.
9111 * oacc-ptx.h: Likewise.
9112 * openacc.f90: Likewise.
9113 * openacc.h: Likewise.
9114 * openacc_lib.h: Likewise.
9115 * plugin/plugin-host.c: Likewise.
9116 * plugin/plugin-nvptx.c: Likewise.
9117 * libgomp-plugin.c: Likewise.
9118 * libgomp-plugin.h: Likewise.
9119 * libgomp_target.h: Remove file after merging content into the
9120 former file. Update all users.
9121 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9122 (offload_targets_s, offload_targets_s_openacc): New variables.
9123 (check_effective_target_openacc_nvidia_accel_present)
9124 (check_effective_target_openacc_nvidia_accel_selected): New
9125 procedures.
9126 (libgomp_init): Update for OpenACC changes.
9127 * testsuite/libgomp-test-support.exp.in: New file.
9128 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9129 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9130 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9131 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9132 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9133 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9134 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9135 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9136 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9137 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9138 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9139 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9140 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9141 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9142 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9143 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9144 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9145 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9146 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9147 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9148 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9149 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9150 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9151 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9152 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9153 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9154 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9155 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9156 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9157 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9158 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9159 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9160 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9161 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9162 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9163 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9164 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9165 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9166 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9167 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9168 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9169 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9170 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9171 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9172 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9173 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9174 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9175 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9176 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9177 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9178 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9179 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9180 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9181 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9182 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9183 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9184 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9185 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9186 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9187 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9188 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9189 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9190 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9191 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9192 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9193 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9194 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9195 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9196 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9197 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9199 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9200 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9201 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9202 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9203 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9204 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9205 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9206 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9207 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9208 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9209 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9210 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9211 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9212 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9213 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9214 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9215 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9216 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9217 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9218 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9219 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9220 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9221 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9222 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9223 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9224 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9225 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9226 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9227 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9228 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9229 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9230 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9231 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9232 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9233 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9234 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9235 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9236 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9237 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9238 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9239 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9240 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9241 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9242 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9243 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9244 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9245 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9246 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9247 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9248 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9249 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9250 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9251 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9252 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9253 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9254 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9255 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9256 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9257 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9258 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9259 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9260 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9261 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9262 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9263 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9264 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9265 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9266 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9267 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9268 Likewise.
9269 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9270 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9271 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9272 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9273 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9274 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9275 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9276 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9277 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9278 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9279 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9280 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9281 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9282 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9283 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9284 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9285 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9286 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9287 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9288 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9289 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9290 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9291 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9292 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9293 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9294 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9295 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9296 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9297 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9298 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9299 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9300 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9301 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9302 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9303 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9304 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9305 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9306 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9307 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9308 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9309 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9310 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9311 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9312 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9313 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9314 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9315 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9316 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9317 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9318 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9319 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9320 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9321 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9322 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9323 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9324 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9325 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9326 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9327 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9328 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9329
f1f3453e
TS
93302015-01-10 Thomas Schwinge <thomas@codesourcery.com>
9331 Julian Brown <julian@codesourcery.com>
9332 David Malcolm <dmalcolm@redhat.com>
9333
9334 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9335 to "GNU Offloading and Multi Processing Runtime Library". Change
9336 all users.
9337 * configure: Regenerate.
9338 * libgomp.texi: Update.
9339
f9a0eca4
TS
93402015-01-08 Thomas Schwinge <thomas@codesourcery.com>
9341
b335ef4e
TS
9342 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9343 "$tgt_dir/lib32".
9344 * configure: Regenerate.
9345
f9a0eca4
TS
9346 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9347 "intelmic" in $offload_targets.
9348
b67cd4e3
JJ
93492015-01-05 Jakub Jelinek <jakub@redhat.com>
9350
5624e564
JJ
9351 Update copyright years.
9352
b67cd4e3
JJ
9353 * libgomp.texi: Bump @copying's copyright year.
9354
3b41b583
KT
93552014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9356
9357 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 9358 Move load of target-supports.exp earlier.
3b41b583 9359
2354caec
IV
93602014-12-10 Ilya Verbin <ilya.verbin@intel.com>
9361
9362 * testsuite/libgomp.c/target-9.c: New test.
9363
f50eecba
VR
93642014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
9365
9366 * config.h.in: Regenerate.
9367 * configure: Regenerate.
9368 * configure.ac: Add GCC_CHECK_EMUTLS.
9369 * libgomp.h: Add check for USE_EMUTLS: this case
9370 is equal to HAVE_TLS.
9371 * team.c: Likewise.
9372
68bc9270
UB
93732014-12-03 Uros Bizjak <ubizjak@gmail.com>
9374
9375 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9376
476ff787
AT
93772014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
9378 Ilya Verbin <ilya.verbin@intel.com>
9379
9380 * testsuite/libgomp.c/target-critical-1.c: New test.
9381
31a30e62
JJ
93822014-11-26 Jakub Jelinek <jakub@redhat.com>
9383
9384 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 9385 to dg-options unless expensive testing is on.
31a30e62
JJ
9386 (TESTITERS): Define to N if not defined.
9387 (main): Use TESTITERS instead of N.
9388 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9389 dg-additional-options depending on whether expensive testing is on.
9390 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9391 Decrease N to 100000 and CHUNKSZ to 10000.
9392
3f9e8f13
JJ
93932014-11-24 Jakub Jelinek <jakub@redhat.com>
9394
9395 PR fortran/63938
31a30e62
JJ
9396 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9397 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 9398
c8451a46
SE
93992014-11-21 Steve Ellcey <sellcey@imgtec.com>
9400
9401 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9402
a699d672
L
94032014-11-21 H.J. Lu <hongjiu.lu@intel.com>
9404
9405 PR bootstrap/63784
9406 * configure: Regenerated.
9407
4a19f719
UB
94082014-11-19 Uros Bizjak <ubizjak@gmail.com>
9409
9410 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9411 vect_simd_clones effective target.
9412 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9413
b1bf6c52
JJ
94142014-11-14 Jakub Jelinek <jakub@redhat.com>
9415
9416 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9417 of 32 as block_size.
9418 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9419 instead of 32 as block_size.
9420
d64ae614
AT
94212014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
9422 Ilya Verbin <ilya.verbin@intel.com>
9423
9424 * Makefile.in: Regenerate.
9425 * configure: Regenerate.
9426 * configure.ac: Set up offload_additional_options,
9427 offload_additional_lib_paths and offload_targets.
9428 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9429 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9430 * testsuite/Makefile.in: Regenerate.
9431 * testsuite/lib/libgomp.exp (libgomp_init): Append
9432 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
9433 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
9434 build directory to LD_LIBRARY_PATH for intelmic offload targets.
9435
122d7303
AT
94362014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
9437 Ilya Verbin <ilya.verbin@intel.com>
9438 Kirill Yukhin <kirill.yukhin@intel.com>
9439 Ilya Tocar <ilya.tocar@intel.com>
9440
9441 * testsuite/lib/libgomp.exp
9442 (check_effective_target_offload_device): New.
9443 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9444 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9445 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9446 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9447 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9448 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9449 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9450 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9451 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9452 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9453 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9454 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9455 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9456 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9457 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9458 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9459 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9460 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9461 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9462 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9463 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9464 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9465 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9466 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9467 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9468 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9469 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9470 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9471 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9472 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9473 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9474 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9475 * testsuite/libgomp.c/target-7.c: Fix test.
9476 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9477 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9478 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9479 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9480 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9481 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9482 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9483 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9484 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9485 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9486 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9487 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9488 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9489 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9490 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9491 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9492 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9493 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9494 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9495 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9496 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9497 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9498 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9499 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9500 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9501 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9502 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9503 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9504 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9505 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9506 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9507
1df3f842
JJ
95082014-11-13 Jakub Jelinek <jakub@redhat.com>
9509 Ilya Verbin <ilya.verbin@intel.com>
9510 Thomas Schwinge <thomas@codesourcery.com>
9511 Andrey Turetskiy <andrey.turetskiy@intel.com>
9512
9513 * libgomp.map (GOMP_4.0.1): New symbol version.
9514 Add GOMP_offload_register.
9515 * libgomp_target.h: New file.
9516 * splay-tree.h: New file.
9517 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9518 (gomp_target_init): New forward declaration.
9519 (gomp_is_initialized): New static variable.
9520 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9521 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9522 New structures.
9523 (offload_images, num_offload_images, devices, num_devices): New static
9524 variables.
9525 (splay_compare): New static function.
9526 (struct gomp_device_descr): New structure.
9527 (gomp_get_num_devices): Call gomp_target_init.
9528 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9529 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9530 (GOMP_offload_register): New function.
9531 (GOMP_target): Arrange for host callback to be performed in a separate
9532 initial thread and contention group, inheriting ICVs from
9533 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
9534 Add device initialization and lookup for target function in splay tree.
9535 (GOMP_target_data): Add device initialization and call gomp_map_vars.
9536 (GOMP_target_end_data): Call gomp_unmap_vars.
9537 (GOMP_target_update): Add device initialization and call gomp_update.
9538 (gomp_load_plugin_for_device, gomp_register_images_for_device)
9539 (gomp_target_init): New static functions.
9540
85c64bbe
BS
95412014-11-13 Bernd Schmidt <bernds@codesourcery.com>
9542 Thomas Schwinge <thomas@codesourcery.com>
9543 Ilya Verbin <ilya.verbin@intel.com>
9544 Andrey Turetskiy <andrey.turetskiy@intel.com>
9545
9546 * config.h.in: Regenerate.
9547 * configure: Regenerate.
9548 * configure.ac: Check for libdl, required for plugin support.
9549 (PLUGIN_SUPPORT): Define if plugins are supported.
9550 (enable_offload_targets): Support Intel MIC targets.
9551 (OFFLOAD_TARGETS): List of target names suitable for offloading.
9552
ebf6d33b
FXC
95532014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9554
9555 PR target/63610
9556 * configure: Regenerate.
9557
8c768629
RO
95582014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9559
9560 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9561
c1d62412
MP
95622014-10-06 Marek Polacek <polacek@redhat.com>
9563
9564 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9565 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9566 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9567 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9568
44a0c6cb
MP
95692014-10-06 Marek Polacek <polacek@redhat.com>
9570
9571 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9572 * testsuite/libgomp.c/nqueens-1.c: Likewise.
9573 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9574 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9575 * testsuite/libgomp.c/pr36802-2.c: Likewise.
9576 * testsuite/libgomp.c/pr36802-3.c: Likewise.
9577 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9578 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9579 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9580 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9581 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9582 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9583 * testsuite/libgomp.c/omp-single-1.c: Likewise.
9584 * testsuite/libgomp.c/omp-single-2.c: Likewise.
9585 * testsuite/libgomp.c/omp_matvec.c: Likewise.
9586 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9587 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9588 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
9589 declarations.
9590
5771c391
JJ
95912014-10-03 Jakub Jelinek <jakub@redhat.com>
9592
9593 PR libgomp/61200
9594 * testsuite/libgomp.c/pr61200.c: New test.
9595
bce16b88
JJ
95962014-09-18 Jakub Jelinek <jakub@redhat.com>
9597
9598 PR c++/63248
9599 * testsuite/libgomp.c++/pr63248.C: New test.
9600
3696163c
JJ
96012014-08-04 Jakub Jelinek <jakub@redhat.com>
9602
9603 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9604 is not zero, but taskgroup->children is NULL and there are
9605 any task->children, schedule those instead of waiting.
9606 * testsuite/libgomp.c/depend-6.c: New test.
9607 * testsuite/libgomp.c/depend-7.c: New test.
9608 * testsuite/libgomp.c/depend-8.c: New test.
9609 * testsuite/libgomp.c/depend-9.c: New test.
9610 * testsuite/libgomp.c/depend-10.c: New test.
9611
0494285a
JJ
96122014-08-01 Jakub Jelinek <jakub@redhat.com>
9613
9614 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9615 (struct gomp_taskwait): New type.
9616 (struct gomp_task): Add taskwait and parent_depends_on, remove
9617 in_taskwait and taskwait_sem fields.
9618 (gomp_finish_task): Don't destroy taskwait_sem.
9619 * task.c (gomp_init_task): Don't init in_taskwait, instead init
9620 taskwait and parent_depends_on.
9621 (GOMP_task): For if (0) tasks with depend clause that depend on
9622 earlier tasks don't defer them, instead call
9623 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9624 Initialize redundant_out field, for redundant out entries just
9625 move them at the end of linked list instead of removing them
9626 completely, and set redundant_out flag instead of redundant.
9627 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9628 that task.
9629 (gomp_task_run_post_handle_dependers): If parent is in
9630 gomp_task_maybe_wait_for_dependencies and newly runnable task
9631 is not parent_depends_on, queue it in parent->children linked
9632 list after all runnable tasks with parent_depends_on set.
9633 Adjust for addition of taskwait indirection.
9634 (gomp_task_run_post_remove_parent): If parent is in
9635 gomp_task_maybe_wait_for_dependencies and task to be removed
9636 is parent_depends_on, decrement n_depend and if needed awake
9637 parent. Adjust for addition of taskwait indirection.
9638 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9639 (gomp_task_maybe_wait_for_dependencies): New function.
9640 * testsuite/libgomp.c/depend-5.c: New test.
9641
60ab4b44
TB
96422014-07-13 Tobias Burnus <burnus@net-b.de>
9643
9644 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 9645 with TS 18508/Fortran 2015.
60ab4b44 9646
773ec47f
MP
96472014-07-06 Marek Polacek <polacek@redhat.com>
9648
9649 PR c/6940
9650 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9651
f707da16
JJ
96522014-07-03 Jakub Jelinek <jakub@redhat.com>
9653
9654 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9655 matches regex $lang_source_re, add $lang_include_flags to options.
9656 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9657 * testsuite/libgomp.c++/c++.exp: Likewise.
9658 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9659 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9660 ALWAYS_CFLAGS.
9661 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9662
07b6c044
TS
96632014-07-03 Thomas Schwinge <thomas@codesourcery.com>
9664
9665 * testsuite/libgomp.fortran/fortran.exp: Explain
9666 gfortran-dg-runtest usage.
9667
da6f124d
JJ
96682014-06-25 Jakub Jelinek <jakub@redhat.com>
9669
9670 * testsuite/libgomp.fortran/simd5.f90: New test.
9671 * testsuite/libgomp.fortran/simd6.f90: New test.
9672 * testsuite/libgomp.fortran/simd7.f90: New test.
9673
b46ebd6c
JJ
96742014-06-24 Jakub Jelinek <jakub@redhat.com>
9675
56ad0e38
JJ
9676 * testsuite/libgomp.c/for-2.c: Define SC to static for
9677 #pragma omp for simd testing.
9678 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9679 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9680 SC macro.
9681 * testsuite/libgomp.c/simd-14.c: New test.
9682 * testsuite/libgomp.c/simd-15.c: New test.
9683 * testsuite/libgomp.c/simd-16.c: New test.
9684 * testsuite/libgomp.c/simd-17.c: New test.
9685 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9686 #pragma omp for simd testing.
9687 * testsuite/libgomp.c++/simd10.C: New test.
9688 * testsuite/libgomp.c++/simd11.C: New test.
9689 * testsuite/libgomp.c++/simd12.C: New test.
9690 * testsuite/libgomp.c++/simd13.C: New test.
9691
b46ebd6c
JJ
9692 * testsuite/libgomp.fortran/aligned1.f03: New test.
9693 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9694 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9695 tasks with !$omp parallel !$omp single.
9696 * testsuite/libgomp.fortran/target8.f90: New test.
9697 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9698 not to use trim in the combiner, instead call elemental function.
9699 (fn): New elemental function.
9700 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9701 Make elemental.
9702 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9703 omp_in): Likewise.
9704 * testsuite/libgomp.fortran/udr12.f90: New test.
9705 * testsuite/libgomp.fortran/udr13.f90: New test.
9706 * testsuite/libgomp.fortran/udr14.f90: New test.
9707 * testsuite/libgomp.fortran/udr15.f90: New test.
9708
f014c653
JJ
97092014-06-18 Jakub Jelinek <jakub@redhat.com>
9710
9711 * omp_lib.f90.in (openmp_version): Set to 201307.
9712 * omp_lib.h.in (openmp_version): Likewise.
9713 * testsuite/libgomp.c/target-8.c: New test.
9714 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9715 and inbranch clauses.
9716 * testsuite/libgomp.fortran/depend-3.f90: New test.
9717 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9718 openmp_version.
9719 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9720 * testsuite/libgomp.fortran/target1.f90: New test.
9721 * testsuite/libgomp.fortran/target2.f90: New test.
9722 * testsuite/libgomp.fortran/target3.f90: New test.
9723 * testsuite/libgomp.fortran/target4.f90: New test.
9724 * testsuite/libgomp.fortran/target5.f90: New test.
9725 * testsuite/libgomp.fortran/target6.f90: New test.
9726 * testsuite/libgomp.fortran/target7.f90: New test.
9727
92d28cbb
JJ
97282014-06-10 Jakub Jelinek <jakub@redhat.com>
9729
9730 PR fortran/60928
9731 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9732 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9733 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9734 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9735 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9736 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9737 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9738 * testsuite/libgomp.fortran/associate1.f90: New test.
9739 * testsuite/libgomp.fortran/associate2.f90: New test.
9740 * testsuite/libgomp.fortran/procptr1.f90: New test.
9741
5f23671d
JJ
97422014-06-06 Jakub Jelinek <jakub@redhat.com>
9743
9744 * testsuite/libgomp.fortran/simd1.f90: New test.
9745 * testsuite/libgomp.fortran/udr1.f90: New test.
9746 * testsuite/libgomp.fortran/udr2.f90: New test.
9747 * testsuite/libgomp.fortran/udr3.f90: New test.
9748 * testsuite/libgomp.fortran/udr4.f90: New test.
9749 * testsuite/libgomp.fortran/udr5.f90: New test.
9750 * testsuite/libgomp.fortran/udr6.f90: New test.
9751 * testsuite/libgomp.fortran/udr7.f90: New test.
9752 * testsuite/libgomp.fortran/udr8.f90: New test.
9753 * testsuite/libgomp.fortran/udr9.f90: New test.
9754 * testsuite/libgomp.fortran/udr10.f90: New test.
9755 * testsuite/libgomp.fortran/udr11.f90: New test.
9756
0389fbb5
UB
97572014-05-27 Uros Bizjak <ubizjak@gmail.com>
9758
9759 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9760 vect_simd_clones effective target.
9761 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9762
decaaec8
JJ
97632014-05-21 Jakub Jelinek <jakub@redhat.com>
9764
9765 PR middle-end/61252
9766 * testsuite/libgomp.c++/simd-9.C: New test.
9767
72832460
UB
97682014-05-18 Uros Bizjak <ubizjak@gmail.com>
9769
9770 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9771 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9772 texts according to their @menu entry positions.
9773
dd2fc525
JJ
97742014-05-11 Jakub Jelinek <jakub@redhat.com>
9775
9776 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9777 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9778 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9779 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9780 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9781 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9782 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9783 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9784 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9785 * testsuite/libgomp.fortran/depend-1.f90: New test.
9786 * testsuite/libgomp.fortran/depend-2.f90: New test.
9787 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9788 * testsuite/libgomp.fortran/simd1.f90: New test.
9789 * testsuite/libgomp.fortran/simd2.f90: New test.
9790 * testsuite/libgomp.fortran/simd3.f90: New test.
9791 * testsuite/libgomp.fortran/simd4.f90: New test.
9792 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9793
95782571
JJ
97942014-05-02 Jakub Jelinek <jakub@redhat.com>
9795
9796 * testsuite/libgomp.c/simd-10.c: New test.
9797 * testsuite/libgomp.c/simd-11.c: New test.
9798 * testsuite/libgomp.c/simd-12.c: New test.
9799 * testsuite/libgomp.c/simd-13.c: New test.
9800
f7468577
JJ
98012014-04-24 Jakub Jelinek <jakub@redhat.com>
9802
42056eac
JJ
9803 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9804 atomic type clauses in any order and optional comma in between.
9805 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9806 * testsuite/libgomp.c/atomic-17.c: Likewise.
9807
f7468577
JJ
9808 * testsuite/libgomp.c/simd-7.c: New test.
9809 * testsuite/libgomp.c/simd-8.c: New test.
9810 * testsuite/libgomp.c/simd-9.c: New test.
9811 * testsuite/libgomp.c/loop-16.c: New test.
9812
ab18f2f5
RH
98132014-04-02 Richard Henderson <rth@redhat.com>
9814
9815 * config/linux/futex.h (futex_wait): Get error value from errno.
9816 (futex_wake): Likewise.
9817
8bcc90b0
JJ
98182014-03-25 Jakub Jelinek <jakub@redhat.com>
9819
9820 PR c++/60331
9821 * testsuite/libgomp.c++/udr-11.C: New test.
9822 * testsuite/libgomp.c++/udr-12.C: New test.
9823 * testsuite/libgomp.c++/udr-13.C: New test.
9824 * testsuite/libgomp.c++/udr-14.C: New test.
9825 * testsuite/libgomp.c++/udr-15.C: New test.
9826 * testsuite/libgomp.c++/udr-16.C: New test.
9827 * testsuite/libgomp.c++/udr-17.C: New test.
9828 * testsuite/libgomp.c++/udr-18.C: New test.
9829 * testsuite/libgomp.c++/udr-19.C: New test.
9830
18d73c7f
RS
98312014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9832
9833 Update copyright years
9834
f9030485
RS
98352014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9836
9837 * hashtab.h: Use the standard form for the copyright notice.
9838
98db73df
TB
98392014-01-02 Tobias Burnus <burnus@net-b.de>
9840
9841 * libgomp.texi: Bump @copying's copyright year.
9842
ae246f7f
AT
98432013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9844
93d90219 9845 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
9846 alloca () with __builtin_alloca ().
9847 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9848 * testsuite/libgomp.c/lock-3.c: Likewise.
9849 * testsuite/libgomp.c/pr48591.c: Likewise.
9850
fa00a5fe
JJ
98512013-12-17 Jakub Jelinek <jakub@redhat.com>
9852
9853 PR testsuite/59534
9854 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9855 comparisons.
9856
e9792e1d
JJ
98572013-12-16 Jakub Jelinek <jakub@redhat.com>
9858
9859 PR libgomp/58756
9860 * testsuite/libgomp.c/pr58756.c: New test.
9861
cab37c89
JJ
98622013-12-12 Jakub Jelinek <jakub@redhat.com>
9863
9864 PR libgomp/59467
9865 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9866 !$omp parallel.
9867
de14871c
TS
98682013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9869
1707a5de
TS
9870 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9871 ALWAYS_CFLAGS.
9872 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9873 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9874 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9875 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9876 Likewise.
9877
70f05c43
TS
9878 * libgomp_g.h: Include <stddef.h> for size_t.
9879
de14871c
TS
9880 * libgomp.spec.in: Update comment about libgomp's dependencies.
9881 * configure.ac: Likewise.
9882 * configure: Regenerate.
9883
83fd6c5b
TB
98842013-10-16 Tobias Burnus <burnus@net-b.de>
9885
9886 * libgomp.texi: (Runtime Library Routines): Update references for
9887 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9888 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9889 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9890 (Environment Variables): Update references for OpenMP 4.0. Add
9891 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9892 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9893 order.
9894
c8673881
JJ
98952013-10-14 Jakub Jelinek <jakub@redhat.com>
9896
9897 * env.c (parse_bind_var): Initialize value to avoid
9898 (false positive) warning.
9899
f89163fd
JJ
99002013-10-12 Jakub Jelinek <jakub@redhat.com>
9901
9902 PR libgomp/58691
9903 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9904 to check variable.
9905 (gomp_init_num_threads): Move i variable declaration into
9906 #ifdef CPU_ALLOC_SIZE block.
9907 * config/linux/affinity.c (gomp_affinity_init_level): Test
9908 gomp_places_list_len == 0 rather than gomp_places_list == 0
9909 when checking for topology reading error.
9910 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9911 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9912 gomp_places_list, only parse env var and always return false.
9913 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9914 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9915 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9916 and either of these variables were parsed correctly into a places
9917 list.
9918
1d340638
TS
99192013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9920 Jakub Jelinek <jakub@redhat.com>
9921
9922 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9923 of 5 loopfn matches.
9924 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9925 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9926 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9927 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9928 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9929 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9930 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9931 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9932
71a81c21
TS
99332013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9934
bd87f731
TS
9935 * Makefile.am (omp_lib.mod): Streamline rule.
9936 * Makefile.in: Regenerate.
9937
f5745bed
TS
9938 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9939 exceptions.
9940
b5512c66
TS
9941 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9942 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9943 * testsuite/libgomp.fortran/lib2.f: Likewise.
9944 * testsuite/libgomp.fortran/lib3.f: Likewise.
9945
451c19c4
TS
9946 * configure.ac: Typo fix.
9947 * configure: Regenerate.
9948
86a6016d
TS
9949 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9950 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9951
71a81c21
TS
9952 * omp.h.in: Don't touch the user's namespace.
9953
acf0174b
JJ
99542013-10-11 Jakub Jelinek <jakub@redhat.com>
9955 Tobias Burnus <burnus@net-b.de>
9956 Richard Henderson <rth@redhat.com>
9957
9958 * target.c: New file.
9959 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9960 * Makefile.in: Regenerated.
9961 * libgomp_g.h (GOMP_task): Add depend argument.
9962 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9963 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9964 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9965 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9966 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9967 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9968 GOMP_taskgroup_start, GOMP_taskgroup_end,
9969 GOMP_parallel_sections): New prototypes.
9970 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9971 (omp_is_initial_device_): New function.
9972 (ULP, STR1, STR2, ialias_redirect): Removed.
9973 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9974 omp_set_default_device_8_, omp_get_default_device_,
9975 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9976 functions.
9977 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9978 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9979 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9980 @@GOMP_4.0.
9981 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9982 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9983 omp_set_default_device, omp_set_default_device_,
9984 omp_set_default_device_8_, omp_get_default_device,
9985 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9986 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9987 omp_get_team_num_): Export @@OMP_4.0.
9988 * team.c (struct gomp_thread_start_data): Add place field.
9989 (gomp_thread_start): Clear thr->thread_pool and
9990 thr->task before returning. Use gomp_team_barrier_wait_final
9991 instead of gomp_team_barrier_wait. Initialize thr->place.
9992 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9993 team_cancelled and task_queued_count fields.
9994 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9995 before calling pthread_exit.
9996 (gomp_free_thread): No longer static. Use
9997 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9998 (gomp_team_start): Add flags argument. Set
9999 thr->thread_pool->threads_busy to nthreads immediately after creating
10000 new pool. Use gomp_managed_threads_lock instead of
10001 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
10002 (gomp_team_end): Use gomp_managed_threads_lock instead of
10003 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
10004 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 10005 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
10006 rather than thr->ts.work_share.
10007 (initialize_team): Don't call gomp_sem_init here.
10008 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10009 caller.
10010 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10011 * env.c (gomp_global_icv): Add default_device_var, target_data and
10012 bind_var initializers.
10013 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10014 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10015 gomp_places_list_len): New variables.
10016 (parse_bind_var, parse_one_place, parse_places_var): New functions.
10017 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10018 sized places.
10019 (gomp_cancel_var): New global variable.
10020 (parse_int): New function.
10021 (handle_omp_display_env): New function.
10022 (initialize_env): Use it. Initialize default_device_var.
10023 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
10024 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
10025 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
10026 been successfully parsed (and call gomp_init_affinity in that case).
10027 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10028 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10029 omp_get_team_num, omp_is_initial_device): New functions.
10030 * libgomp.h: Include stdlib.h.
10031 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10032 Define.
10033 (struct target_mem_desc): Forward declare.
10034 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10035 and thread_limit_var fields.
10036 (gomp_get_num_devices): New prototype.
10037 (gomp_cancel_var): New extern decl.
10038 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10039 team_cancelled and task_queued_count fields. Add comments about
10040 task_{,queued_,running_}count.
10041 (gomp_cancel_kind): New enum.
10042 (gomp_work_share_end_cancel): New prototype.
10043 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10044 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10045 and depend fields.
10046 (struct gomp_taskgroup): New type.
10047 (struct gomp_task_depend_entry,
10048 struct gomp_dependers_vec): New types.
10049 (gomp_finish_task): Free depend_hash if non-NULL.
10050 (struct gomp_team_state): Add place_partition_off
10051 and place_partition_len fields.
10052 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10053 gomp_places_list_len): New extern decls.
10054 (struct gomp_thread): Add place field.
10055 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10056 (gomp_init_thread_affinity): Add place argument.
10057 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10058 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10059 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10060 gomp_affinity_init_level, gomp_affinity_print_place): New
10061 prototypes.
10062 (gomp_team_start): Add flags argument.
10063 (gomp_thread_limit_var, gomp_remaining_threads_count,
10064 gomp_remaining_threads_lock): Remove.
10065 (gomp_managed_threads_lock): New variable.
10066 (struct gomp_thread_pool): Add threads_busy field.
10067 (gomp_free_thread): New prototype.
10068 * task.c: Include hashtab.h.
10069 (hash_entry_type): New typedef.
10070 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10071 (gomp_init_task): Clear dependers, depend_hash, depend_count,
10072 copy_ctors_done and taskgroup fields.
10073 (GOMP_task): Add depend argument, handle depend clauses. If
10074 gomp_team_barrier_cancelled or if it's taskgroup has been
10075 cancelled, don't queue or start new tasks. Set copy_ctors_done
10076 field if needed. Initialize taskgroup field. If copy_ctors_done
10077 and already cancelled, don't discard the task. If taskgroup is
10078 non-NULL, enqueue the task into taskgroup queue. Increment
10079 num_children field in taskgroup. Increment task_queued_count.
10080 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10081 gomp_task_run_post_remove_taskgroup): New inline functions.
10082 (gomp_task_run_post_handle_depend_hash,
10083 gomp_task_run_post_handle_dependers,
10084 gomp_task_run_post_handle_depend): New functions.
10085 (GOMP_taskwait): Use them. If more than one new tasks
10086 have been queued, wake other threads if needed.
10087 (gomp_barrier_handle_tasks): Likewise. If
10088 gomp_team_barrier_cancelled, don't start any new tasks, just free
10089 all tasks.
10090 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10091 * omp_lib.f90.in
10092 (omp_proc_bind_kind, omp_proc_bind_false,
10093 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10094 omp_proc_bind_spread): New params.
10095 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10096 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10097 omp_get_team_num, omp_is_initial_device): New interfaces.
10098 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10099 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10100 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10101 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10102 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10103 useless use omp_lib_kinds.
10104 * omp.h.in (omp_proc_bind_t): New typedef.
10105 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10106 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10107 omp_get_team_num, omp_is_initial_device): New prototypes.
10108 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10109 through to gomp_team_start.
10110 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10111 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10112 Adjust gomp_parallel_loop_start callers.
10113 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10114 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10115 GOMP_loop_end_cancel): New functions.
10116 (GOMP_parallel_end): Add ialias_redirect.
10117 * hashtab.h: New file.
10118 * libgomp.texi (Environment Variables): Minor cleanup,
10119 update section refs to OpenMP 4.0rc2.
10120 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10121 environment variables.
10122 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10123 team->work_shares_to_free to thr->ts.work_share before calling
10124 free_work_share.
10125 (gomp_work_share_end_cancel): New function.
10126 * config/linux/proc.c: Include errno.h.
10127 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10128 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10129 sizeof (cpu_set_t) to determine number of iterations. Fix up check
10130 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
10131 gomp_cpuset_size is sizeof (cpu_set_t).
10132 (gomp_init_num_threads): Initialize gomp_cpuset_size,
10133 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10134 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10135 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
10136 contain any logical CPUs.
10137 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10138 is NULL. Use gomp_cpusetp instead of &cpuset and pass
10139 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10140 pthread_getaffinity_np. Check gomp_places_list instead of
10141 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
10142 * config/linux/bar.c (gomp_barrier_wait_end,
10143 gomp_barrier_wait_last): Use BAR_* defines.
10144 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
10145 from state where needed. Set work_share_cancelled to 0 on last
10146 thread.
10147 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10148 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10149 functions.
10150 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10151 Add cpusetsize argument.
10152 (gomp_cpuset_size, gomp_cpusetp): Declare.
10153 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10154 (affinity_counter): Remove.
10155 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10156 if CPU_ALLOC_SIZE isn't defined.
10157 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10158 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10159 bind current thread to the first place.
10160 (gomp_init_thread_affinity): Rewritten. Add place argument, just
10161 pthread_setaffinity_np to gomp_places_list[place].
10162 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10163 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10164 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10165 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10166 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10167 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10168 (gomp_barrier_t): Add awaited_final field.
10169 (gomp_barrier_init): Initialize awaited_final field.
10170 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10171 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10172 prototypes.
10173 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
10174 defines.
10175 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10176 gomp_team_barrier_cancelled): New inline functions.
10177 (gomp_barrier_last_thread,
10178 gomp_team_barrier_set_task_pending,
10179 gomp_team_barrier_clear_task_pending,
10180 gomp_team_barrier_set_waiting_for_tasks,
10181 gomp_team_barrier_waiting_for_tasks,
10182 gomp_team_barrier_done): Use BAR_* defines.
10183 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10184 (gomp_barrier_wait_end): Use BAR_* defines.
10185 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10186 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10187 Use BAR_* defines.
10188 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10189 gomp_team_barrier_cancel): New functions.
10190 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10191 argument.
10192 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10193 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10194 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10195 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10196 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10197 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10198 (gomp_barrier_t): Add cancellable field.
10199 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10200 gomp_team_barrier_cancel): New prototypes.
10201 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10202 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10203 gomp_team_barrier_cancelled): New inline functions.
10204 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10205 gomp_team_barrier_set_task_pending,
10206 gomp_team_barrier_clear_task_pending,
10207 gomp_team_barrier_set_waiting_for_tasks,
10208 gomp_team_barrier_waiting_for_tasks,
10209 gomp_team_barrier_done): Use BAR_* defines.
10210 * barrier.c (GOMP_barrier_cancel): New function.
10211 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10212 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10213 omp_proc_bind_spread): New params.
10214 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10215 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10216 omp_get_team_num, omp_is_initial_device): New externals.
10217 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10218 New functions.
10219 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10220 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10221 infinity. If not nested, just return minimum of max_num_threads
10222 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10223 to the returned value. Otherwise, don't update atomically
10224 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10225 (GOMP_parallel_end): Adjust for thread_limit now being in
10226 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10227 infinity. Adjust threads_busy in the pool rather than
10228 gomp_remaining_threads_count. Remember team->nthreads and call
10229 gomp_team_end before adjusting threads_busy, if not nested
10230 afterwards, just set it to 1 non-atomically. Add ialias.
10231 (GOMP_parallel_start): Adjust gomp_team_start caller.
10232 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10233 * testsuite/libgomp.c/affinity-1.c: New test.
10234 * testsuite/libgomp.c/atomic-15.c: New test.
10235 * testsuite/libgomp.c/atomic-16.c: New test.
10236 * testsuite/libgomp.c/atomic-17.c: New test.
10237 * testsuite/libgomp.c/cancel-for-1.c: New test.
10238 * testsuite/libgomp.c/cancel-for-2.c: New test.
10239 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10240 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10241 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10242 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10243 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10244 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10245 * testsuite/libgomp.c/depend-1.c: New test.
10246 * testsuite/libgomp.c/depend-2.c: New test.
10247 * testsuite/libgomp.c/depend-3.c: New test.
10248 * testsuite/libgomp.c/depend-4.c: New test.
10249 * testsuite/libgomp.c/for-1.c: New test.
10250 * testsuite/libgomp.c/for-1.h: New file.
10251 * testsuite/libgomp.c/for-2.c: New test.
10252 * testsuite/libgomp.c/for-2.h: New file.
10253 * testsuite/libgomp.c/for-3.c: New test.
10254 * testsuite/libgomp.c/pr58392.c: New test.
10255 * testsuite/libgomp.c/simd-1.c: New test.
10256 * testsuite/libgomp.c/simd-2.c: New test.
10257 * testsuite/libgomp.c/simd-3.c: New test.
10258 * testsuite/libgomp.c/simd-4.c: New test.
10259 * testsuite/libgomp.c/simd-5.c: New test.
10260 * testsuite/libgomp.c/simd-6.c: New test.
10261 * testsuite/libgomp.c/target-1.c: New test.
10262 * testsuite/libgomp.c/target-2.c: New test.
10263 * testsuite/libgomp.c/target-3.c: New test.
10264 * testsuite/libgomp.c/target-4.c: New test.
10265 * testsuite/libgomp.c/target-5.c: New test.
10266 * testsuite/libgomp.c/target-6.c: New test.
10267 * testsuite/libgomp.c/target-7.c: New test.
10268 * testsuite/libgomp.c/taskgroup-1.c: New test.
10269 * testsuite/libgomp.c/thread-limit-1.c: New test.
10270 * testsuite/libgomp.c/thread-limit-2.c: New test.
10271 * testsuite/libgomp.c/thread-limit-3.c: New test.
10272 * testsuite/libgomp.c/udr-1.c: New test.
10273 * testsuite/libgomp.c/udr-2.c: New test.
10274 * testsuite/libgomp.c/udr-3.c: New test.
10275 * testsuite/libgomp.c++/affinity-1.C: New test.
10276 * testsuite/libgomp.c++/atomic-10.C: New test.
10277 * testsuite/libgomp.c++/atomic-11.C: New test.
10278 * testsuite/libgomp.c++/atomic-12.C: New test.
10279 * testsuite/libgomp.c++/atomic-13.C: New test.
10280 * testsuite/libgomp.c++/atomic-14.C: New test.
10281 * testsuite/libgomp.c++/atomic-15.C: New test.
10282 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10283 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10284 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10285 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10286 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10287 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10288 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10289 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10290 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10291 * testsuite/libgomp.c++/cancel-test.h: New file.
10292 * testsuite/libgomp.c++/for-9.C: New test.
10293 * testsuite/libgomp.c++/for-10.C: New test.
10294 * testsuite/libgomp.c++/for-11.C: New test.
10295 * testsuite/libgomp.c++/simd-1.C: New test.
10296 * testsuite/libgomp.c++/simd-2.C: New test.
10297 * testsuite/libgomp.c++/simd-3.C: New test.
10298 * testsuite/libgomp.c++/simd-4.C: New test.
10299 * testsuite/libgomp.c++/simd-5.C: New test.
10300 * testsuite/libgomp.c++/simd-6.C: New test.
10301 * testsuite/libgomp.c++/simd-7.C: New test.
10302 * testsuite/libgomp.c++/simd-8.C: New test.
10303 * testsuite/libgomp.c++/target-1.C: New test.
10304 * testsuite/libgomp.c++/target-2.C: New test.
10305 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10306 * testsuite/libgomp.c++/target-3.C: New test.
10307 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10308 * testsuite/libgomp.c++/udr-1.C: New test.
10309 * testsuite/libgomp.c++/udr-2.C: New test.
10310 * testsuite/libgomp.c++/udr-3.C: New test.
10311 * testsuite/libgomp.c++/udr-4.C: New test.
10312 * testsuite/libgomp.c++/udr-5.C: New test.
10313 * testsuite/libgomp.c++/udr-6.C: New test.
10314 * testsuite/libgomp.c++/udr-7.C: New test.
10315 * testsuite/libgomp.c++/udr-8.C: New test.
10316 * testsuite/libgomp.c++/udr-9.C: New test.
10317
bd599dea
JJ
103182013-09-20 Jakub Jelinek <jakub@redhat.com>
10319
10320 PR testsuite/57605
10321 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10322 ALWAYS_CFLAGS.
10323
3cbe17f7
AM
103242013-09-20 Alan Modra <amodra@gmail.com>
10325
10326 * configure: Regenerate.
10327
4befd127
JJ
103282013-09-19 Jakub Jelinek <jakub@redhat.com>
10329
10330 * testsuite/libgomp.c/sections-2.c: New test.
10331
946c8f7b
MS
103322013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
10333
10334 * testsuite/libgomp.fortran/strassen.f90:
10335 Add dg-skip-if aarch64_tiny.
10336
1ef3b58e
IS
103372013-06-20 Iain Sandoe <iain@codesourcery.com>
10338 Cesar Philippidis <cesar@codesourcery.com>
10339
10340 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10341 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10342 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10343 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10344 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10345 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10346 Use dg-runtest rather than gfortran-dg-runtest.
10347
9275f73a
TS
103482013-06-10 Thomas Schwinge <thomas@codesourcery.com>
10349
10350 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10351 Linux-based x86 systems to cover all GNU systems.
10352 * testsuite/libgomp.c/lock-3.c: Likewise.
10353 * testsuite/libgomp.c/pr48591.c: Likewise.
10354
492992e2
TS
103552013-06-06 Thomas Schwinge <thomas@codesourcery.com>
10356
48df3acb
TS
10357 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10358 GNU/Hurd, as done for Linux-based systems.
10359
492992e2
TS
10360 * config/posix/ptrlock.h: Fix comment.
10361
4fed6b25
TB
103622013-05-27 Tobias Burnus <burnus@net-b.de>
10363
10364 PR fortran/57423
10365 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10366 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10367 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10368 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10369 omp_destroy_nest_lock): Correct arguments to match the one in
10370 the OpenMP spec.
10371 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10372 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10373 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10374 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10375
5a0f4dd3
JJ
103762013-05-16 Jakub Jelinek <jakub@redhat.com>
10377
10378 * testsuite/libgomp.c/loop-13.c: New test.
10379 * testsuite/libgomp.c/loop-14.c: New test.
10380 * testsuite/libgomp.c/loop-15.c: New test.
10381 * testsuite/libgomp.c++/loop-13.C: New test.
10382 * testsuite/libgomp.c++/loop-14.C: New test.
10383 * testsuite/libgomp.c++/loop-15.C: New test.
10384
6d840d99
JJ
103852013-02-06 Jakub Jelinek <jakub@redhat.com>
10386
10387 PR middle-end/56217
10388 * testsuite/libgomp.c++/pr56217.C: New test.
10389
bed8d8a6
AM
103902013-02-01 Alan Modra <amodra@gmail.com>
10391
10392 * task.c (GOMP_task, GOMP_taskwait): Comment.
10393
3b35cd04
DV
103942013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
10395 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
10396
10397 PR libgomp/55561
10398 * config/linux/wait.h (do_spin): Use atomic load for addr.
10399 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10400 for intptr and ptrlock.
10401 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10402 for ptrlock.
10403
9a647288
AM
104042013-01-22 Alan Modra <amodra@gmail.com>
10405
10406 PR libgomp/51376
10407 PR libgomp/56073
10408 * task.c (GOMP_task): Revert 2011-12-09 change.
10409 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
10410 barrier to read task->children..
10411 (gomp_barrier_handle_tasks): ..and matching atomic store with
10412 release barrier here when setting parent->children to NULL.
10413
f34dea03
JJ
104142013-01-16 Jakub Jelinek <jakub@redhat.com>
10415 Tobias Burnus <burnus@net-b.de>
10416
10417 PR driver/55884
10418 * testsuite/libgomp.fortran/fortran.exp: Use
10419 -fintrinsic-modules-path= instead of
10420 -fintrinsic-modules-path.
10421
8129609c
RS
104222013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
10423
10424 Update copyright years.
10425
aa86bf1e
TB
104262012-12-19 Tobias Burnus <burnus@net-b.de>
10427
10428 * testsuite/libgomp.fortran/fortran.exp: Set
10429 -fintrinsic-modules-path.
10430
2865ea66
TB
104312012-12-19 Tobias Burnus <burnus@net-b.de>
10432
10433 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10434 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10435
4c5ba8d0
JJ
104362012-11-21 Jakub Jelinek <jakub@redhat.com>
10437
10438 PR libgomp/55411
10439 * team.c (gomp_free_thread): Decrease gomp_managed_threads
10440 if pool had any threads_used.
10441
e9f958c2
JH
104422012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
10443
10444 * testsuite/libgomp.c++/pr24455.C: Use
10445 -Wl,-undefined,dynamic_lookup on darwin.
10446
a57d75dc
DE
104472012-11-07 David Edelsohn <dje.gcc@gmail.com>
10448
10449 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10450
c6c08485
DH
104512012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
10452
10453 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10454
c1f37c00
IB
104552012-10-23 Ian Bolton <ian.bolton@arm.com>
10456 Jim MacArthur <jim.macarthur@arm.com>
10457 Marcus Shawcroft <marcus.shawcroft@arm.com>
10458 Nigel Stephens <nigel.stephens@arm.com>
10459 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10460 Richard Earnshaw <rearnsha@arm.com>
10461 Sofiane Naci <sofiane.naci@arm.com>
10462 Stephen Thomas <stephen.thomas@arm.com>
10463 Tejas Belagod <tejas.belagod@arm.com>
10464 Yufeng Zhang <yufeng.zhang@arm.com>
10465
10466 * configure.tgt: Add AArch64.
10467
7c424acd
JM
104682012-10-04 Jason Merrill <jason@redhat.com>
10469
10470 * testsuite/libgomp.c++/tls-init1.C: New.
10471
6608378b
DE
104722012-09-14 David Edelsohn <dje.gcc@gmail.com>
10473
10474 * configure: Regenerated.
10475
c24dbebb
CLT
104762012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
10477
10478 * config/linux/mips/futex.h (sys_futex0): Change to static
10479 function with noinline, nomips16 attributes under MIPS16. Adjust
10480 asm statement to place 'li v0,SYS_futex' immediately before
10481 syscall insn.
10482
3d3949df
SL
104832012-07-04 Sandra Loosemore <sandra@codesourcery.com>
10484
10485 * libgomp.texi (Library Index): Renamed from "Index" to prevent
10486 conflict with index.html on case-insensitive file systems.
10487
68a12ef3
UB
104882012-07-03 Uros Bizjak <ubizjak@gmail.com>
10489
10490 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10491 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10492
33ad93b9 104932012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
10494 Michael Matz <matz@suse.de>
10495 Tobias Grosser <tobias@grosser.es>
10496 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
10497
10498 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10499 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10500 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10501 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10502
e6fdc918
AS
105032012-06-28 Andreas Schwab <schwab@linux-m68k.org>
10504
10505 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10506
62e0a1ed
RG
105072012-06-22 Richard Guenther <rguenther@suse.de>
10508
10509 Merge from graphite branch
10510 2012-01-13 Tobias Grosser <tobias@grosser.es>
10511
10512 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10513 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10514
26127932
JJ
105152012-06-07 Jakub Jelinek <jakub@redhat.com>
10516
10517 PR middle-end/53580
10518 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10519 use GOMP_barrier () call instead.
10520 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10521 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10522 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10523 call GOMP_barrier instead.
10524 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10525
43fa5db5
JJ
105262012-06-06 Jakub Jelinek <jakub@redhat.com>
10527
10528 PR libgomp/52993
10529 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10530 argument to memset call.
10531
e6d5f8c9
L
105322012-05-16 H.J. Lu <hongjiu.lu@intel.com>
10533
10534 * configure: Regenerated.
10535
559d990c
MLI
105362012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10537
10538 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10539
b9c23a61
L
105402012-03-31 H.J. Lu <hongjiu.lu@intel.com>
10541
10542 PR bootstrap/52812
10543 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10544
c140ddf3
JJ
105452012-03-22 Jakub Jelinek <jakub@redhat.com>
10546
10547 PR middle-end/52547
10548 * testsuite/libgomp.c/pr52547.c: New test.
10549
6a26a74d
BRF
105502012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10551
10552 * testsuite/lib/libgomp.exp: load fortran-modules.exp
10553
b24513a1
RO
105542012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10555
10556 * configure.tgt (mips-sgi-irix6*): Remove.
10557
5c30094f
RO
105582012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10559
10560 * configure.tgt (alpha*-dec-osf*): Remove.
10561
10562 * config/osf/sem.h: Remove.
10563 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10564
a339c9d6
EB
105652012-02-29 Eric Botcazou <ebotcazou@adacore.com>
10566
10567 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10568
cc2de92d
RO
105692012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10570
10571 PR libstdc++/52188
10572 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10573 Remove ENABLE_SYMVERS_SOL2.
10574 * configure: Regenerate.
10575 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10576 (PREPROCESS): New variable.
10577 (libgomp.ver): New target.
10578 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10579 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10580 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10581 Use libgomp.ver.
10582 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10583 * Makefile.in: Regenerate.
10584
dd552284
WL
105852012-02-14 Walter Lee <walt@tilera.com>
10586
10587 * configure.tgt: Handle tilegx and tilepro.
10588 * config/linux/tile/futex.h: New file.
10589
31432e21
RG
105902012-02-08 Richard Guenther <rguenther@suse.de>
10591
10592 PR tree-optimization/46886
10593 * testsuite/libgomp.c/pr46886.c: New testcase.
10594
b9264b5f
MK
105952012-01-25 Matthias Klose <doko@ubuntu.com>
10596
10597 * config/linux/arm: Remove empty directory.
10598 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10599
fbf7be80
AM
106002011-12-09 Alan Modra <amodra@gmail.com>
10601
10602 PR libgomp/51376
10603 * task.c (GOMP_taskwait): Don't access task->children outside of
10604 task_lock mutex region.
10605 (GOMP_task): Likewise.
10606
5de62d00
JJ
106072011-12-06 Jakub Jelinek <jakub@redhat.com>
10608
10609 PR libgomp/51132
10610 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10611 to file scope.
10612 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10613 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10614 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10615 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10616 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10617
45608a43
AM
106182011-12-02 Alan Modra <amodra@gmail.com>
10619
10620 * config/linux/affinity.c: Use atomic rather than sync builtin.
10621 * config/linux/lock.c: Likewise.
10622 * config/linux/ptrlock.h: Likewise.
10623 * config/linux/ptrlock.c: Likewise.
10624 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10625 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10626 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10627 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10628 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10629 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10630 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10631 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10632 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10633 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10634
ab6dd406
AM
106352011-11-30 Alan Modra <amodra@gmail.com>
10636
10637 PR libgomp/51298
10638 * config/linux/bar.h: Use atomic rather than sync builtins.
10639 * config/linux/bar.c: Likewise. Add missing acquire
10640 synchronisation on generation field.
10641 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10642 double unlock.
10643
b40c885f
AM
106442011-11-30 Alan Modra <amodra@gmail.com>
10645
10646 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10647 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10648 * config/linux/mutex.h: Use atomic rather than sync builtins.
10649 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10650 * config/linux/omp-lock.h: Comment fix.
10651 * config/linux/arm/mutex.h: Delete.
10652 * config/linux/powerpc/mutex.h: Delete.
10653 * config/linux/ia64/mutex.h: Delete.
10654 * config/linux/mips/mutex.h: Delete.
10655
3e348fcc
AM
106562011-11-30 Alan Modra <amodra@gmail.com>
10657
10658 PR libgomp/51249
10659 * config/linux/sem.h: Rewrite.
10660 * config/linux/sem.c: Rewrite.
10661
cef86eb2
RH
106622011-11-28 Richard Henderson <rth@redhat.com>
10663
10664 * libgomp.h (enum memmodel): New.
10665
c6084f68
AT
106662011-11-21 Andreas Tobler <andreast@fgznet.ch>
10667
10668 * configure: Regenerate.
10669
06fe026c
MK
106702011-10-10 Matthias Klose <doko@ubuntu.com>
10671
10672 * config/posix95: Remove empty directory.
10673
a6c975bd
JJ
106742011-08-26 Jakub Jelinek <jakub@redhat.com>
10675
10676 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10677
c26dffff
JJ
106782011-08-19 Jakub Jelinek <jakub@redhat.com>
10679
10680 PR fortran/49792
10681 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10682 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10683
ddaad3c8
RO
106842011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10685
10686 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10687
98d03683
RO
106882011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10689
10690 PR libgomp/49965
10691 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10692
e0b23d9f
UB
106932011-08-03 Uros Bizjak <ubizjak@gmail.com>
10694
10695 * config/linux/proc.h: New.
10696 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10697 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10698 (gomp_init_num_threads): Update call to cpuset_popcount.
10699 (get_num_procs): Ditto.
10700 * config/linux/affinity.c (gomp_init_affinity): Call
10701 gomp_cpuset_popcount.
10702
20906c66
JJ
107032011-08-02 Jakub Jelinek <jakub@redhat.com>
10704
10705 PR fortran/42041
10706 PR fortran/46752
10707 * omp.h.in (omp_in_final): New prototype.
10708 * omp_lib.f90.in (omp_in_final): New interface.
10709 (omp_integer_kind, omp_logical_kind): Remove
10710 and replace all its uses in the module with 4.
10711 (openmp_version): Change to 201107.
10712 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10713 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10714 kind for the parameters.
10715 (omp_in_final): New external.
10716 (openmp_version): Change to 201107.
10717 * task.c (omp_in_final): New function.
10718 (gomp_init_task): Initialize final_task.
10719 (GOMP_task): Remove unused attribute from flags. Handle final
10720 tasks.
10721 (GOMP_taskyield): New function.
10722 (omp_in_final): Return true if if (false) or final (true) task
10723 or descendant of final (true).
10724 * fortran.c (omp_in_final_): New function.
10725 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10726 (GOMP_3.0): Export GOMP_taskyield.
10727 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10728 variables.
10729 (parse_unsigned_long_list): New function.
10730 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10731 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10732 even if parse_affinity returned false.
10733 * config/linux/affinity.c (gomp_init_affinity): Handle
10734 gomp_cpu_affinity_len == 0.
10735 * libgomp_g.h (GOMP_taskyield): New prototype.
10736 * libgomp.h (struct gomp_task): Add final_task field.
10737 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10738 * team.c (gomp_team_start): Override new task's nthreads_var icv
10739 if list form OMP_NUM_THREADS has been used and it has value for
10740 the new nesting level.
10741
10742 * testsuite/libgomp.c/atomic-11.c: New test.
10743 * testsuite/libgomp.c/atomic-12.c: New test.
10744 * testsuite/libgomp.c/atomic-13.c: New test.
10745 * testsuite/libgomp.c/atomic-14.c: New test.
10746 * testsuite/libgomp.c/reduction-6.c: New test.
10747 * testsuite/libgomp.c/task-5.c: New test.
10748 * testsuite/libgomp.c++/atomic-2.C: New test.
10749 * testsuite/libgomp.c++/atomic-3.C: New test.
10750 * testsuite/libgomp.c++/atomic-4.C: New test.
10751 * testsuite/libgomp.c++/atomic-5.C: New test.
10752 * testsuite/libgomp.c++/atomic-6.C: New test.
10753 * testsuite/libgomp.c++/atomic-7.C: New test.
10754 * testsuite/libgomp.c++/atomic-8.C: New test.
10755 * testsuite/libgomp.c++/atomic-9.C: New test.
10756 * testsuite/libgomp.c++/task-8.C: New test.
10757 * testsuite/libgomp.c++/reduction-4.C: New test.
10758 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10759 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10760 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10761 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10762 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10763 * testsuite/libgomp.fortran/pointer1.f90: New test.
10764 * testsuite/libgomp.fortran/pointer2.f90: New test.
10765 * testsuite/libgomp.fortran/task4.f90: New test.
10766
107672011-08-02 Tobias Burnus <burnus@net-b.de>
10768
10769 * libgomp.texi: Update OpenMP spec references to 3.1.
10770 (omp_in_final,OMP_PROC_BIND): New sections.
10771 (OMP_NUM_THREADS): Document that the value can be now a list.
10772 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10773
c01ecafc
L
107742011-08-02 H.J. Lu <hongjiu.lu@intel.com>
10775
10776 * config/linux/x86/futex.h: Check __x86_64__ instead of
10777 __LP64__.
10778
25142650
JJ
107792011-07-29 Jakub Jelinek <jakub@redhat.com>
10780
10781 PR middle-end/49897
10782 PR middle-end/49898
10783 * testsuite/libgomp.c/pr49897-1.c: New test.
10784 * testsuite/libgomp.c/pr49897-2.c: New test.
10785 * testsuite/libgomp.c/pr49898-1.c: New test.
10786 * testsuite/libgomp.c/pr49898-2.c: New test.
10787
f53d712f
L
107882011-07-28 H.J. Lu <hongjiu.lu@intel.com>
10789
10790 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10791 for ia32 instead of ilp32.
10792
10793 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10794 * testsuite/libgomp.c/atomic-6.c: Likewise.
10795
3689198d
SP
107962011-07-23 Sebastian Pop <sebastian.pop@amd.com>
10797
10798 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10799 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10800
1a79cb73
RO
108012011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10802
10803 PR libgomp/45351
10804 * config/osf/sem.h: New file.
10805 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10806
c1f51484
RO
108072011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10808
10809 PR target/49541
10810 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10811 ldflags.
10812
bfee0724
JJ
108132011-07-15 Jakub Jelinek <jakub@redhat.com>
10814
10815 * config/linux/wait.h (do_spin): New inline, largely copied
10816 from do_wait, just don't do futex_wait here, instead return true if
10817 it should be done.
10818 (do_wait): Implement using do_spin.
10819 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10820 to prototype.
10821 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10822 __sync_bool_compare_and_swap, pass the oldval to
10823 gomp_mutex_lock_slow.
10824 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10825 If all mutex contenders are just spinning and not sleeping, don't
10826 change state to 2 unnecessarily. Optimize the loop when state has
10827 already become 2 to use just one atomic operation per loop instead
10828 of two.
10829 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10830 to prototype.
10831 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10832 __sync_bool_compare_and_swap, pass the oldval to
10833 gomp_mutex_lock_slow.
10834
fb79f500
JJ
108352011-06-22 Jakub Jelinek <jakub@redhat.com>
10836
10837 PR libgomp/49490
10838 * iter.c (gomp_iter_static_next): For chunk size 0
10839 only use n ceil/ nthreads size for the first
10840 n % nthreads threads in the team instead of
10841 all threads except for the last few ones which
10842 get less work or none at all.
10843 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10844 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10845 chunk argument, set run_sched_modifier to 0 for static
10846 resp. 1 for other kinds. If chunk argument is 0
10847 and not static, set value to 1.
10848
4577f730
JJ
108492011-05-19 Jakub Jelinek <jakub@redhat.com>
10850
ea93a47b
JJ
10851 PR c++/49043
10852 * testsuite/libgomp.c++/pr49043.C: New test.
10853
4577f730
JJ
10854 PR c++/48869
10855 * testsuite/libgomp.c++/pr48869.C: New test.
10856
e7385332
JJ
108572011-05-06 Jakub Jelinek <jakub@redhat.com>
10858
10859 PR fortran/48894
10860 * fortran.c: Include limits.h.
10861 (TO_INT): Define.
10862 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10863 *set.
10864 (omp_set_num_threads_8_, omp_set_schedule_8_,
10865 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10866 omp_get_team_size_8_): Use TO_INT macro.
10867 * testsuite/libgomp.fortran/pr48894.f90: New test.
10868
20790697
JJ
108692011-04-13 Jakub Jelinek <jakub@redhat.com>
10870
10871 PR middle-end/48591
10872 * testsuite/libgomp.c/pr48591.c: New test.
10873
bf382f5f
RO
108742011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10875
10876 PR bootstrap/48135
10877 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10878 * configure: Regenerate.
10879
113a53c1
JJ
108802011-02-27 Jakub Jelinek <jakub@redhat.com>
10881
10882 PR fortran/47886
10883 * testsuite/libgomp.fortran/task3.f90: New test.
10884
0024f1af
TB
108852011-02-24 Tobias Burnus <burnus@net-b.de>
10886
10887 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10888
21e1e594
JJ
108892011-02-23 Jakub Jelinek <jakub@redhat.com>
10890
10891 PR libgomp/47854
10892 * libgomp.texi (omp_get_wtime): Don't say time in the past
10893 must be Unix Epoch.
10894
67962076
JJ
108952011-02-18 Jakub Jelinek <jakub@redhat.com>
10896
10897 PR libgomp/47804
10898 * testsuite/libgomp.fortran/fortran.exp: Check for both
10899 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10900 but $blddir != "", still append ${blddir}/${lang_library_path}
10901 to ld_library_path.
10902
3808007c
TB
109032011-02-16 Tobias Burnus <burnus@net-b.de>
10904
10905 PR libgomp/47758
10906 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10907 of libquadmath.a before adding its libpath to ldflags.
10908
53b4d41d
JJ
109092011-02-14 Jakub Jelinek <jakub@redhat.com>
10910
10911 PR libgomp/47731
10912 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10913 to FUTEX_WAIT futex syscall.
10914 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10915
029c8f3e
RW
109162011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10917
10918 * configure: Regenerate.
10919
bddd6626
BK
109202011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10921
10922 PR libstdc++/36104
10923 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10924
f1d4ab26
GP
109252011-01-16 Gerald Pfeifer
10926
10927 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10928
2b503136
JJ
109292010-12-14 Jakub Jelinek <jakub@redhat.com>
10930
10931 PR fortran/46874
10932 * libgomp.fortran/allocatable6.f90: New test.
10933
c0f9d583
RO
109342010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10935
10936 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10937 * configure: Regenerate.
10938
7de6ba7a
DK
109392010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10940
10941 PR target/40125
10942 PR lto/46695
10943 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10944 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10945 * aclocal.m4: Regenerate.
10946 * configure: Regenerate.
10947 * Makefile.in: Regenerate.
10948 * testsuite/Makefile.in: Regenerate.
10949
b7516041
JJ
109502010-12-02 Jakub Jelinek <jakub@redhat.com>
10951
edaadf74
JJ
10952 PR fortran/46753
10953 * libgomp.fortran/pr46753.f90: New test.
10954
4c698cf8
JJ
10955 PR libgomp/43706
10956 * env.c (initialize_env): Default to spin count 300000
10957 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10958 is specified.
10959
b7516041
JJ
10960 PR libgomp/45240
10961 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10962 at the end if sync builtins aren't supported.
10963
6b43a34c
RO
109642010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10965
10966 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10967
950691fa
RO
109682010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10969
10970 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10971
fb9041ea
IS
109722010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10973
10974 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10975
1ec601bf
FXC
109762010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10977 Tobias Burnus <burnus@net-b.de>
10978
10979 PR fortran/32049
3e348fcc 10980 * configure.ac:
1ec601bf
FXC
10981 * configure: Regenerate.
10982
d213e92e
MS
109832010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10984
10985 * config/linux/futex.h: New.
10986 * config/linux/arm/mutex.h: New.
10987 * configure.tgt (arm*-*-linux*): Add config path.
10988
89d5c66f
SP
109892010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10990
10991 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10992
87350d4a
TB
109932010-09-23 Tobias Burnus <burnus@net-b.de>
10994
10995 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10996 Change Fortran datatype to LOGICAL.
10997 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10998 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10999
75bc9e5e
RW
110002010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11001
11002 * configure: Regenerate.
11003
acb5c916
JJ
110042010-07-26 Jakub Jelinek <jakub@redhat.com>
11005
11006 * libgomp.texi: Add function keyword to a couple of Fortran
11007 interfaces, use integer instead of int for Fortran.
11008
6a2ba183
AH
110092010-07-26 Aldy Hernandez <aldyh@redhat.com>
11010
11011 * libgomp.texi: Fix spelling and pasto problems throughout.
11012 Adjust prototypes to match code.
11013
df161b69
TB
110142010-07-24 Tobias Burnus <burnus@net-b.de>
11015
11016 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11017 silence -fwhole-file warning.
11018
16c9d3b1
RO
110192010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11020
11021 * configure.tgt (*-*-solaris2.[56]*): Removed.
11022
6d28b933
RO
110232010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11024
11025 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11026 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11027 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11028 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11029 targetting solaris2*.
11030 * configure: Regenerate.
11031 * config.h.in: Regenerate.
11032
11033 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11034 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11035 Add libgomp_version_dep.
11036 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11037 versioning.
11038 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11039 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11040 * Makefile.in: Regenerate.
11041
11042 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11043 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11044 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11045 to common block, protected by
11046 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11047
07a67d6a
GP
110482010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
11049
11050 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
11051
dbd34b89
IS
110522010-06-09 Iain Sandoe <iains@gcc.gnu.org>
11053
11054 PR bootstrap/43170
11055 * configure: Regenerate.
11056
13917ae3
RW
110572010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11058
11059 PR other/43620
11060 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11061 * configure: Regenerate.
11062 * Makefile.in: Regenerate.
11063 * testsuite/Makefile.in: Regenerate.
11064
b83a701b
JJ
110652010-04-26 Jakub Jelinek <jakub@redhat.com>
11066
11067 PR c/43893
11068 * testsuite/libgomp.c/pr43893.c: New test.
11069 * testsuite/libgomp.c++/pr43893.C: New test.
11070
78db7d92
JJ
110712010-04-21 Jakub Jelinek <jakub@redhat.com>
11072
11073 PR middle-end/43570
11074 * testsuite/libgomp.fortran/vla8.f90: New test.
11075
5221d7a9
JJ
110762010-04-20 Jakub Jelinek <jakub@redhat.com>
11077
e4ba7a60
JJ
11078 PR libgomp/43706
11079 * config/linux/affinity.c (gomp_init_affinity): Decrease
11080 gomp_available_cpus if affinity mask confines the process to fewer
11081 CPUs.
11082 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11083 non-NULL, just return gomp_available_cpus.
11084
5221d7a9
JJ
11085 PR libgomp/43569
11086 * sections.c (gomp_sections_init): Initialize ws->mode.
11087
289a9f86
UB
110882010-04-14 Uros Bizjak <ubizjak@gmail.com>
11089
11090 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11091 not unused bar variable.
11092 * configure: Regenerate.
11093
4d9e8446
RW
110942010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11095
11096 * Makefile.in: Regenerate.
11097 * aclocal.m4: Regenerate.
11098 * testsuite/Makefile.in: Regenerate.
11099
80f046cc
JJ
111002010-03-22 Jakub Jelinek <jakub@redhat.com>
11101
11102 PR libgomp/42942
11103 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11104 (initialize_env): Adjust callers.
11105 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11106 when the argument is 0.
11107
11108 * testsuite/libgomp.c/pr42942.c: New test.
11109
b58543c3
SP
111102010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
11111
11112 PR middle-end/42644
11113 PR middle-end/42130
11114 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11115 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11116
41d1138f
RO
111172010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11118
11119 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11120 * testsuite/libgomp.c++/task-6.C: Likewise.
11121
6684eb28
SE
111222010-01-28 Steve Ellcey <sje@cup.hp.com>
11123
11124 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11125
2122aa97
PB
111262010-01-26 Paolo Bonzini <bonzini@gnu.org>
11127
11128 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11129 * configure: Regenerate.
11130
057dd91d
JJ
111312010-01-26 Jakub Jelinek <jakub@redhat.com>
11132
11133 PR fortran/42866
11134 * testsuite/libgomp.fortran/allocatable5.f90: New test.
11135
d0709b6a
PB
111362010-01-20 Paolo Bonzini <bonzini@gnu.org>
11137
11138 * configure.ac: Test for executability of GFORTRAN.
11139 * configure: Regenerate.
11140
b9497ab5
RO
111412010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11142
11143 * configure: Regenerate.
11144
45de5648
L
111452010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11146
11147 PR libgomp/42602
11148 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11149
e74003a1
RG
111502010-01-03 Richard Guenther <rguenther@suse.de>
11151
11152 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11153
1b3abda8
SP
111542009-12-23 Sebastian Pop <sebpop@gmail.com>
11155
11156 * testsuite/libgomp.graphite/pr4118.c: New.
11157
e19977d3
IS
111582009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11159
11160 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11161 for darwin, protect the test with require-effective-target tls_runtime.
11162 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11163
1d32a772
IS
111642009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11165
11166 PR target/41605
11167 * testsuite/lib/libgomp.exp: Provide -B options to allow for
11168 link spec %s substitutions for static libraries.
11169
deb109b2
JH
111702009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
11171
11172 PR testsuite/42135
11173 * libgomp.graphite/force-parallel-2.c: Reduce array size.
11174
43e02a8a
RW
111752009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11176
11177 * Makefile.in: Regenerate.
11178 * configure: Regenerate.
11179 * testsuite/Makefile.in: Regenerate.
11180
17f35e23
DK
111812009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
11182
11183 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11184 settings for LC_ALL and LANG.
11185
281e33e1
JJ
111862009-11-25 Jakub Jelinek <jakub@redhat.com>
11187
11188 PR fortran/42162
11189 * testsuite/libgomp.fortran/pr42162.f90: New test.
11190
2b32c27d
JJ
111912009-11-13 Jakub Jelinek <jakub@redhat.com>
11192
11193 PR middle-end/42029
281e33e1 11194 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 11195
89c74f4a
JJ
111962009-10-26 Jakub Jelinek <jakub@redhat.com>
11197
11198 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11199 *s. Accept ld version without text in ()s.
11200 * configure: Regenerated.
11201
7e06c3d6
EB
112022009-10-22 Razya Ladelsky <razya@il.ibm.com>
11203
11204 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11205
0046b1a7
RW
112062009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11207
11208 PR libgomp/41418
11209 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11210 or a hyphen (happens with fortran language disabled).
11211 * configure: Regenerate.
11212
c82852f7
RW
112132009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11214
11215 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11216 use sed script portable to Solaris /bin/sed for extracting ld
11217 version.
11218 * configure: Regenerate.
11219
98f3eb1f
AM
112202009-09-17 Alexander Monakov <amonakov@ispras.ru>
11221
11222 * testsuite/libgomp.graphite/bounds.c: New test.
11223
878f62e5
RW
112242009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11225
11226 * Makefile.am (libgomp_la_LINK): New.
11227 * Makefile.in: Regenerate.
11228
df58e648
RW
112292009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11230
11231 * configure.ac (AC_PREREQ): Bump to 2.64.
11232
5213506e
RW
112332009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11234
70fa0efa
RW
11235 * Makefile.am (install-html, install-pdf): Remove.
11236 * Makefile.in: Regenerate.
11237
5213506e
RW
11238 * Makefile.in: Regenerate.
11239 * aclocal.m4: Regenerate.
11240 * config.h.in: Regenerate.
11241 * configure: Regenerate.
11242 * testsuite/Makefile.in: Regenerate.
11243
84fec8a5
RW
112442009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11245
11246 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11247 * Makefile.in: Regenerate.
11248
197c68cc
DK
112492009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
11250
11251 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11252 * Makefile.in: Regenerate.
11253
693d54f2
TB
112542009-08-19 Tobias Burnus <burnus@net-b.de>
11255
11256 PR fortran/41102
11257 omp_lib.h.in: Fix -std=f95 errors.
11258
8cac884c
DE
112592009-08-14 David Edelsohn <edelsohn@gnu.org>
11260
11261 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11262 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11263 * testsuite/libgomp.graphite/graphite.exp: New.
11264
78729ee2
AT
112652009-08-05 Andreas Tobler <a.tobler@schweiz.org>
11266
11267 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11268 only build.
11269
b13b7f39
DD
112702009-08-04 David Daney <ddaney@caviumnetworks.com>
11271
11272 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11273 needed memory barrier semantics.
11274 * config/linux/mips/mutex.h: New file.
11275
1b3b24c2
RW
112762009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11277
11278 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11279
396b7fa4
JM
112802009-07-16 Joseph Myers <joseph@codesourcery.com>
11281
11282 * configure: Regenerate.
11283
33cde516
RS
112842009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
11285
11286 PR testsuite/40699
11287 PR testsuite/40707
11288 PR testsuite/40709
11289 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11290 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11291 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11292
bc21bfa5
RS
112932009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
11294
11295 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11296 options when choosing a multilib.
11297
b30bfd40
RS
112982009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
11299
11300 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11301 ld_library_path. Use add_path. Add just find_libgcc_s to
11302 ld_library_path, not every libgcc multilib directory.
11303 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11304 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11305 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11306 Use add_path.
11307 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11308
479c15c2
NF
113092009-06-09 Nathan Froyd <froydnj@codesourcery.com>
11310
11311 * Makefile.am (LTLDFLAGS): Define.
11312 (LINK): Define.
11313 * Makefile.in: Regenerate.
11314
667e6f89
JB
113152009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
11316
11317 PR fortran/39718
11318 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11319 libgfortranbegin, check existence of libgfortran.a instead of
11320 libgfortranbegin.a.
11321
6dea8e99
JJ
113222009-05-20 Jakub Jelinek <jakub@redhat.com>
11323
11324 PR libgomp/40174
11325 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11326 (gomp_free_pool_helper): Likewise.
11327
34d01e1d
VL
113282009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
11329 Jakub Jelinek <jakub@redhat.com>
11330
11331 PR fortran/35423
11332 * testsuite/libgomp.fortran/workshare2.f90: New test.
11333
748086b7
JJ
113342009-04-09 Nick Clifton <nickc@redhat.com>
11335
11336 * iter.c: Change copyright header to refer to version 3 of the
11337 GNU General Public License with version 3.1 of the GCC Runtime
11338 Library Exception and to point readers at the COPYING3 and
11339 COPYING3.RUNTIME files and the FSF's license web page.
11340 * alloc.c: Likewise.
11341 * barrier.c: Likewise.
11342 * config/bsd/proc.c: Likewise.
11343 * config/linux/affinity.c: Likewise.
11344 * config/linux/alpha/futex.h: Likewise.
11345 * config/linux/bar.c: Likewise.
11346 * config/linux/bar.h: Likewise.
11347 * config/linux/ia64/futex.h: Likewise.
11348 * config/linux/ia64/mutex.h: Likewise.
11349 * config/linux/lock.c: Likewise.
11350 * config/linux/mips/futex.h: Likewise.
11351 * config/linux/mutex.c: Likewise.
11352 * config/linux/mutex.h: Likewise.
11353 * config/linux/powerpc/futex.h: Likewise.
11354 * config/linux/proc.c: Likewise.
11355 * config/linux/ptrlock.c: Likewise.
11356 * config/linux/ptrlock.h: Likewise.
11357 * config/linux/s390/futex.h: Likewise.
11358 * config/linux/sem.c: Likewise.
11359 * config/linux/sem.h: Likewise.
11360 * config/linux/sparc/futex.h: Likewise.
11361 * config/linux/wait.h: Likewise.
11362 * config/linux/x86/futex.h: Likewise.
11363 * config/mingw32/proc.c: Likewise.
11364 * config/mingw32/time.c: Likewise.
11365 * config/posix/affinity.c: Likewise.
11366 * config/posix/bar.c: Likewise.
11367 * config/posix/bar.h: Likewise.
11368 * config/posix/lock.c: Likewise.
11369 * config/posix/mutex.h: Likewise.
11370 * config/posix/proc.c: Likewise.
11371 * config/posix/ptrlock.h: Likewise.
11372 * config/posix/sem.c: Likewise.
11373 * config/posix/sem.h: Likewise.
11374 * config/posix/time.c: Likewise.
11375 * config/posix95/lock.c: Likewise.
11376 * critical.c: Likewise.
11377 * env.c: Likewise.
11378 * error.c: Likewise.
11379 * fortran.c: Likewise.
11380 * iter_ull.c: Likewise.
11381 * libgomp.h: Likewise.
11382 * libgomp_f.h.in: Likewise.
11383 * libgomp_g.h: Likewise.
11384 * loop.c: Likewise.
11385 * loop_ull.c: Likewise.
11386 * omp.h.in: Likewise.
11387 * omp_lib.f90.in: Likewise.
11388 * omp_lib.h.in: Likewise.
11389 * ordered.c: Likewise.
11390 * parallel.c: Likewise.
11391 * sections.c: Likewise.
11392 * single.c: Likewise.
11393 * task.c: Likewise.
11394 * team.c: Likewise.
11395 * work.c: Likewise.
11396
113972009-04-09 Jakub Jelinek <jakub@redhat.com>
11398
11399 * testsuite/config/default.exp: Change copyright header to refer to
11400 version 3 of the GNU General Public License and to point readers
11401 at the COPYING3 file and the FSF's license web page.
11402
4f0ae266
JJ
114032009-04-08 Jakub Jelinek <jakub@redhat.com>
11404
11405 PR middle-end/39573
11406 * libgomp.c++/pr39573.C: New test.
11407
03742a9b
JJ
114082009-04-01 Jakub Jelinek <jakub@redhat.com>
11409
11410 PR other/39591
11411 * testsuite/libgomp.c/pr39591-1.c: New test.
11412 * testsuite/libgomp.c/pr39591-2.c: New test.
11413 * testsuite/libgomp.c/pr39591-3.c: New test.
11414
e50ea10b
UB
114152009-03-25 Uros Bizjak <ubizjak@gmail.com>
11416
11417 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11418 * testsuite/libgomp.c/atomic-6.c: Ditto.
11419
c5cdb03f
JJ
114202009-03-23 Jakub Jelinek <jakub@redhat.com>
11421
11422 PR c/39495
11423 * testsuite/libgomp.c/loop-12.c: New test.
11424 * testsuite/libgomp.c/loop-11.c: New test.
11425 * testsuite/libgomp.c++/loop-11.C: New test.
11426 * testsuite/libgomp.c++/loop-12.C: New test.
11427 * testsuite/libgomp.c++/for-8.C: New test.
11428
7a9d3fe8
RW
114292009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11430
11431 * configure: Regenerate.
11432
3ad6b266
JJ
114332009-02-11 Jakub Jelinek <jakub@redhat.com>
11434
11435 PR middle-end/39154
11436 * testsuite/libgomp.c/pr39154.c: New test.
11437
b39dea08
ILT
114382009-01-30 Ian Lance Taylor <iant@google.com>
11439
11440 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11441 libgomp_ld_is_gold. Get gold version number.
11442 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11443 * configure: Rebuild.
11444
72c66596
IS
114452009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11446
e50ea10b 11447 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
11448 use libgfortran.a%s in their specs.
11449
876080ff
JJ
114502009-01-07 Jakub Jelinek <jakub@redhat.com>
11451
11452 PR libgomp/38086
11453 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11454 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11455 HAVE_AS_SYMVER_DIRECTIVE is not defined.
11456 * configure: Regenerated.
11457 * config.h.in: Likewise.
11458
e4ebaef3
JJ
114592008-12-28 Jakub Jelinek <jakub@redhat.com>
11460
11461 PR c++/38650
11462 * testsuite/libgomp.c/pr38650.c: New test.
11463 * testsuite/libgomp.c++/pr38650.C: New test.
11464
382017a6
JJ
114652008-12-27 Jakub Jelinek <jakub@redhat.com>
11466
11467 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11468
79644b27
UB
114692008-12-26 Uros Bizjak <ubizjak@gmail.com>
11470
11471 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11472
baafc534
RW
114732008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11474
11475 * configure: Regenerate.
11476
d9c194cb
JJ
114772008-12-08 Jakub Jelinek <jakub@redhat.com>
11478
11479 PR middle-end/36802
11480 * testsuite/libgomp.c/pr36802-1.c: New test.
11481 * testsuite/libgomp.c/pr36802-2.c: New test.
11482 * testsuite/libgomp.c/pr36802-3.c: New test.
11483
86a182bf
JJ
114842008-12-01 Janis Johnson <janis187@us.ibm.com>
11485
11486 PR libgomp/38270
11487 * config/linux/powerpc/mutex.h: New.
11488
956adfaf
JJ
114892008-12-01 Jakub Jelinek <jakub@redhat.com>
11490
a2d4cdc9
JJ
11491 PR c++/38257
11492 * testsuite/libgomp.c++/for-7.C: New test.
11493
956adfaf
JJ
11494 PR c++/38348
11495 * testsuite/libgomp.c++/for-6.C: New test.
11496
d4038ca2
JJ
114972008-11-26 Janis Johnson <janis187@us.ibm.com>
11498
11499 PR testsuite/28870
11500 * testsuite/lib/libgomp.exp: Include new timeout library files.
11501 (libgomp_target_compile): Set timeout value from new proc.
11502
8b159eea
SE
115032008-11-13 Steve Ellcey <sje@cup.hp.com>
11504
11505 PR libgomp/37938
11506 * config/linux/ia64/mutex.h: New.
11507
5c6ed53a
TB
115082008-11-04 Tobias Burnus <burnus@net-b.de>
11509
11510 PR libgomp/37935
11511 * libgomp.texi (Runtime library routines, environment variables):
11512 Update for OpenMP version 3.0.
11513
6b4a97ed
PG
115142008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
11515 Steve Ellcey <sje@cup.hp.com>
11516
11517 * configure: Regenerate for new libtool.
11518 * Makefile.in: Ditto.
11519 * testsuite/Makefile.in: Ditto.
11520
e2b34106
JJ
115212008-09-19 Jakub Jelinek <jakub@redhat.com>
11522 Andreas Tobler <a.tobler@schweiz.org>
11523
11524 * config/bsd/proc.c: New file.
8c3b3600 11525 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
11526 * configure.ac: Check for header <sys/sysctl.h>
11527 * configure: Regenerate.
11528 * config.h.in: Likewise.
11529
3606b8bf
JJ
115302008-09-05 Janis Johnson <janis187@us.ibm.com>
11531
11532 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11533
6528b88d
AL
115342008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
11535
11536 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11537 * Makefile.in: Regenerated.
11538 * testsuite/Makefile.in: Regenerated.
11539
d9b14b12 115402008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 11541
a16b68bb 11542 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
11543 depend on blddir if blddir exists.
11544 (libgomp_target_compile): Likewise.
11545 * testsuite/libgomp.c++/c++.exp: Likewise.
11546 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11547
70b1e376
RW
115482008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11549
11550 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
11551 Do not list GPL as Invariant Section.
11552
318e8c3f
IG
115532008-07-28 Ilie Garbacea <ilie@mips.com>
11554 Chao-ying Fu <fu@mips.com>
11555
11556 * configure.tgt: Enable futex for MIPS.
11557 * config/linux/mips/futex.h: New file.
11558
4db72361
JJ
115592008-07-16 Jakub Jelinek <jakub@redhat.com>
11560
11561 * team.c (gomp_team_end): Free team immediately if it has
11562 just one thread.
11563
87bd23b8
DE
115642008-07-08 David Edelsohn <edelsohn@gnu.org>
11565
11566 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11567 * testsuite/libgomp.fortran/fortran.exp: Same.
11568 * testsuite/libgomp.c/c.exp: Same.
11569 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11570 directory to library path first.
11571
323ff903
KW
115722008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
11573
11574 * env.c (parse_stacksize): Add cast to avoid warning.
11575 (parse_spincount): Likewise.
11576
b357f682
JJ
115772008-06-27 Jakub Jelinek <jakub@redhat.com>
11578
ca2b1311
JJ
11579 * testsuite/libgomp.c/loop-10.c: New test.
11580 * libgomp.c/loop-3.c (main): Add lastprivate clause.
11581 * libgomp.c++/loop-6.C (main): Likewise.
11582
b357f682
JJ
11583 PR debug/36617
11584 * testsuite/libgomp.c/debug-1.c: New test.
11585
09a46078
JJ
115862008-06-19 Jakub Jelinek <jakub@redhat.com>
11587
11588 * testsuite/libgomp.c/nqueens-1.c: New test.
11589
2368a460
JJ
11590 PR c++/36523
11591 * testsuite/libgomp.c++/task-7.C: New function.
11592
18c04407
RW
115932008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11594
11595 * configure: Regenerate.
11596
9c4e59e0
JDA
115972008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11598
11599 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11600 mutex when HAVE_SYNC_BUILTINS isn't defined.
11601
6ccde948
RW
116022008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11603
11604 * libgomp.texi (omp_test_lock): Fix typo.
11605
b896f9fd
TB
116062008-06-12 Tobias Burnus <burnus@net-b.de>
11607
11608 * omp_lib.f90.in: Add "implicit none".
11609
c34938a8
JJ
116102008-06-12 Jakub Jelinek <jakub@redhat.com>
11611
11612 PR middle-end/36506
11613 * testsuite/libgomp.c/reduction-5.c: New test.
11614
976e44e3
JJ
116152008-06-11 Jakub Jelinek <jakub@redhat.com>
11616
5f836cbb
JJ
11617 * libgomp.h (struct gomp_task): Add in_tied_task field.
11618 * task.c (gomp_init_task): Initialize it.
11619 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
11620 unconditionally. Don't call gomp_team_barrier_wake if
11621 current task is implicit or if(0) from implicit and number of
11622 running tasks is equal to nthreads - 1.
11623
01501fc8
JJ
11624 PR libgomp/36471
11625 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11626 omp_get_team_size_8): Fix pastos.
11627
976e44e3
JJ
11628 PR libgomp/36469
11629 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11630 * configure: Regenerated.
11631 * config.h.in: Regenerated.
11632 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11633 defined.
11634
e919209b
AT
116352008-06-06 Andreas Tobler <a.tobler@schweiz.org>
11636
11637 PR bootstrap/36452
11638 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11639 (GOMP_loop_ull_dynamic_start): Likewise.
11640 (GOMP_loop_ull_guided_start): Likewise.
11641 (GOMP_loop_ull_ordered_static_start): Likewise.
11642 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11643 (GOMP_loop_ull_ordered_guided_start): Likewise.
11644
a68ab351
JJ
116452008-06-06 Jakub Jelinek <jakub@redhat.com>
11646 Richard Henderson <rth@redhat.com>
11647 Ulrich Drepper <drepper@redhat.com>
11648 Jakob Blomer <jakob.blomer@ira.uka.de>
11649
11650 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11651 Substitute also OMP_*LOCK_25*.
11652 * configure: Regenerated.
11653 * config.h.in: Regenerated.
11654 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11655 ptrlock.c and task.c.
11656 * Makefile.in: Regenerated.
11657 * testsuite/Makefile.in: Regenerated.
11658 * task.c: New file.
11659 * loop_ull.c: New file.
11660 * iter_ull.c: New file.
11661 * libgomp.h: Include ptrlock.h.
11662 (enum gomp_task_kind): New type.
11663 (struct gomp_team): Add task_lock, task_queue, task_count,
11664 task_running_count, single_count fields. Add
11665 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11666 Remove work_share_lock, generation_mask,
11667 oldest_live_gen, num_live_gen and init_work_shares fields, add
11668 work work_share_list_alloc, work_share_list_free and work_share_chunk
11669 fields. Change work_shares from pointer to pointers into an array.
11670 Change ordered_release field into gomp_sem_t ** from flexible array
11671 member. Add implicit_task and initial_work_shares fields.
11672 Move close to the end of the struct.
11673 (struct gomp_team_state): Add single_count, last_work_share,
11674 active_level and level fields, remove work_share_generation.
11675 (gomp_barrier_handle_tasks): New prototype.
11676 (gomp_finish_task): New inline function.
11677 (struct gomp_work_share): Move chunk_size, end, incr into
11678 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11679 next_ll fields. Reshuffle fields. Add next_alloc,
11680 next_ws, next_free and inline_ordered_team_ids fields, change
11681 ordered_team_ids into pointer from flexible array member.
11682 Add mode field. Put lock and next into a different cache line
11683 from most of the write-once fields.
11684 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11685 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11686 gomp_iter_ull_guided_next): New prototypes.
11687 (gomp_new_icv): New prototype.
11688 (struct gomp_thread): Add thread_pool and task fields.
11689 (struct gomp_thread_pool): New type.
11690 (gomp_new_team): New prototype.
11691 (gomp_team_start): Change type of last argument.
11692 (gomp_new_work_share): Removed.
11693 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11694 (gomp_work_share_init_done): New static inline.
11695 (gomp_throttled_spin_count_var, gomp_available_cpus,
11696 gomp_managed_threads): New extern decls.
11697 (gomp_init_task): New prototype.
11698 (gomp_spin_count_var): New extern var decl.
11699 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11700 or no alias support, or if not PIC.
11701 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11702 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11703 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11704 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11705 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11706 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11707 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11708 gomp_test_nest_lock_25): New prototypes.
11709 (omp_lock_symver, strong_alias): Define.
11710 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11711 decls.
11712 (gomp_end_task): New.
11713 (struct gomp_task_icv, gomp_global_icv): New.
11714 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11715 (struct gomp_task): New.
11716 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11717 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11718 (gomp_icv): New.
11719 (gomp_schedule_type): Reorder enum to match
11720 omp_sched_t.
11721 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11722 fields.
11723 (gomp_thread_start): Add gomp_team_barrier_wait call.
11724 For non-nested case remove clearing of docked thread thr fields.
11725 Use pool fields instead of global gomp_* variables. Use
11726 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11727 Create tasks for each member thread.
11728 (free_team): Only destroy team barrier, task_lock here and free it.
11729 (gomp_free_thread): Free last_team if non-NULL.
11730 (gomp_team_end): Call gomp_team_barrier_wait instead of
11731 gomp_barrier_wait. For nested case call one extra
11732 gomp_barrier_wait. Move here some destruction from free_team.
11733 Call free_team on pool->last_team if any, rather than freeing
11734 current team. Destroy work_share_list_free_lock ifndef
11735 HAVE_SYNC_BUILTINS.
11736 (gomp_new_icv): New function.
11737 (gomp_threads, gomp_threads_size, gomp_threads_used,
11738 gomp_threads_dock): Removed.
11739 (gomp_thread_destructor): New variable.
11740 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11741 functions.
11742 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 11743 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
11744 Initialize thread_pool field for new threads. Clear single_count.
11745 Change last argument from ws to team, don't create
11746 new team, set ts.work_share to &team->work_shares[0] and clear
11747 ts.last_work_share. Don't clear ts.work_share_generation.
11748 If number of threads changed, adjust atomically gomp_managed_threads.
11749 Use gomp_init_task instead of gomp_new_task,
11750 set thr->task to the corresponding implicit_task array entry.
11751 Create tasks for each member thread. Initialize ts.level.
11752 (initialize_team): Call pthread_key_create on
11753 gomp_thread_destructor.
11754 (team_destructor): New function.
11755 (new_team): Removed.
11756 (gomp_new_team): New function.
11757 (free_team): Free gomp_work_share blocks chained through next_alloc,
11758 instead of freeing work_shares and destroying work_share_lock.
11759 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11760 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11761 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11762 of gomp_barrier_wait.
11763 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11764 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11765 if gomp_work_share_start returned true. Don't unlock ws->lock.
11766 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11767 of gomp_barrier_wait.
11768 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11769 gomp_work_share_init_done if gomp_work_share_start returned true.
11770 Don't unlock ws->lock.
11771 * work.c: Include stddef.h.
11772 (free_work_share): Use work_share_list_free_lock instead
11773 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11774 Call gomp_fini_work_share and then either free ws if orphaned, or
11775 put it into work_share_list_free list of the current team.
11776 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11777 functions.
11778 (gomp_work_share_start, gomp_work_share_end,
11779 gomp_work_share_end_nowait): Rewritten.
11780 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11781 (openmp_version): Set to 200805.
11782 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11783 omp_sched_guided, omp_sched_auto): New parameters.
11784 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11785 omp_set_max_active_levels, omp_get_max_active_levels,
11786 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11787 omp_get_active_level): New interfaces.
11788 * omp_lib.h.in (openmp_version): Set to 200805.
11789 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11790 omp_sched_guided, omp_sched_auto): New parameters.
11791 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11792 omp_set_max_active_levels, omp_get_max_active_levels,
11793 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11794 omp_get_active_level): New externals.
11795 * loop.c: Include limits.h.
11796 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11797 GFS_AUTO.
11798 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11799 Likewise. Use gomp_icv.
11800 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11801 ts.static_trip here.
11802 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11803 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11804 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11805 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11806 don't unlock ws->lock, otherwise lock it.
11807 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11808 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11809 (gomp_parallel_loop_start): Call gomp_new_team instead of
11810 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11811 Adjust gomp_team_start caller. Pass 0 as second argument to
11812 gomp_resolve_num_threads.
11813 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11814 If adding ws->chunk_size nthreads + 1 times after end won't
11815 overflow, set ws->mode to 1.
11816 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11817 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11818 GOMP_loop_ull_ordered_static_start,
11819 GOMP_loop_ull_ordered_dynamic_start,
11820 GOMP_loop_ull_ordered_guided_start,
11821 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11822 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11823 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11824 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11825 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11826 prototypes.
11827 * libgomp.map: Export lock routines also @@OMP_2.0.
11828 (GOMP_loop_ordered_dynamic_first,
11829 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11830 GOMP_loop_ordered_static_first): Remove.
11831 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11832 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11833 GOMP_loop_ull_ordered_dynamic_next,
11834 GOMP_loop_ull_ordered_dynamic_start,
11835 GOMP_loop_ull_ordered_guided_next,
11836 GOMP_loop_ull_ordered_guided_start,
11837 GOMP_loop_ull_ordered_runtime_next,
11838 GOMP_loop_ull_ordered_runtime_start,
11839 GOMP_loop_ull_ordered_static_next,
11840 GOMP_loop_ull_ordered_static_start,
11841 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11842 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11843 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11844 (omp_set_schedule, omp_get_schedule,
11845 omp_get_thread_limit, omp_set_max_active_levels,
11846 omp_get_max_active_levels, omp_get_level,
11847 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11848 omp_set_schedule_, omp_set_schedule_8_,
11849 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11850 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11851 omp_get_max_active_levels_, omp_get_level_,
11852 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11853 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11854 New exports @@OMP_3.0.
11855 * omp.h.in (omp_sched_t): New type.
11856 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11857 omp_set_max_active_levels, omp_get_max_active_levels,
11858 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11859 omp_get_active_level): New prototypes.
11860 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11861 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11862 gomp_thread_limit_var, gomp_remaining_threads_count,
11863 gomp_remaining_threads_lock): New variables.
11864 (parse_spincount): New function.
11865 (initialize_env): Call gomp_init_num_threads unconditionally.
11866 Initialize gomp_available_cpus. Call parse_spincount,
11867 initialize gomp_{,throttled_}spin_count_var
11868 depending on presence and value of OMP_WAIT_POLICY and
11869 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11870 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11871 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11872 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11873 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11874 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11875 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11876 (gomp_global_icv): New.
11877 (parse_schedule): Use it. Parse "auto".
11878 (omp_set_num_threads): Use gomp_icv.
11879 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11880 Likewise.
11881 (omp_get_max_threads): Move from parallel.c.
11882 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11883 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11884 add ialias.
11885 (parse_stacksize, parse_wait_policy): New functions.
11886 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11887 both wrappers for compatibility and new locks.
11888 (omp_set_schedule, omp_get_schedule,
11889 omp_get_thread_limit, omp_set_max_active_levels,
11890 omp_get_max_active_levels, omp_get_level,
11891 omp_get_ancestor_thread_num, omp_get_team_size,
11892 omp_get_active_level): New ialias_redirect.
11893 (omp_set_schedule_, omp_set_schedule_8_,
11894 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11895 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11896 omp_get_max_active_levels_, omp_get_level_,
11897 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11898 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11899 New functions.
11900 * parallel.c: Include limits.h.
11901 (gomp_resolve_num_threads): Add count argument. Rewritten.
11902 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11903 argument to gomp_team_start. Pass 0 as second argument to
11904 gomp_resolve_num_threads.
11905 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11906 if gomp_thread_limit_var != ULONG_MAX.
11907 (omp_in_parallel): Implement using ts.active_level.
11908 (omp_get_max_threads): Move to env.c.
11909 (omp_get_level, omp_get_ancestor_thread_num,
11910 omp_get_team_size, omp_get_active_level): New functions,
11911 add ialias.
11912 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11913 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11914 gomp_iter_dynamic_next instead of the _locked variant and don't take
11915 lock around it, otherwise acquire it before calling
11916 gomp_iter_dynamic_next_locked.
11917 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11918 gomp_iter_dynamic_next instead of the _locked variant and don't take
11919 lock around it.
11920 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11921 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11922 Adjust gomp_team_start caller. Pass count as second argument to
11923 gomp_resolve_num_threads, don't adjust num_threads after the call.
11924 Use gomp_icv.
11925 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11926 ws->chunk_size by incr.
11927 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11928 code.
11929 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11930 types.
11931 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11932 (omp_check_defines): Check even the compat defines.
11933 * config/linux/ptrlock.c: New file.
11934 * config/linux/ptrlock.h: New file.
11935 * config/linux/wait.h: New file.
11936 * config/posix/ptrlock.c: New file.
11937 * config/posix/ptrlock.h: New file.
11938 * config/linux/bar.h (gomp_team_barrier_wait,
11939 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11940 (gomp_team_barrier_set_task_pending,
11941 gomp_team_barrier_clear_task_pending,
11942 gomp_team_barrier_set_waiting_for_tasks,
11943 gomp_team_barrier_waiting_for_tasks,
11944 gomp_team_barrier_done): New inlines.
11945 (gomp_barrier_t): Rewritten.
11946 (gomp_barrier_state_t): New typedef.
11947 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11948 gomp_barrier_wait_start): Rewritten.
11949 (gomp_barrier_wait_end): Change second argument to
11950 gomp_barrier_state_t.
11951 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11952 inlines.
11953 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11954 futex.h.
11955 (gomp_barrier_wait_end): Rewritten.
11956 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11957 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11958 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11959 (gomp_barrier_state_t): New typedef.
11960 (gomp_team_barrier_wait,
11961 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11962 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11963 into the return value. Return gomp_barrier_state_t.
11964 (gomp_team_barrier_set_task_pending,
11965 gomp_team_barrier_clear_task_pending,
11966 gomp_team_barrier_set_waiting_for_tasks,
11967 gomp_team_barrier_waiting_for_tasks,
11968 gomp_team_barrier_done): New inlines.
11969 (gomp_barrier_wait_end): Change second argument to
11970 gomp_barrier_state_t.
11971 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11972 inlines.
11973 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11974 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11975 gomp_barrier_state_t.
a68ab351
JJ
11976 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11977 gomp_team_barrier_wake): New functions.
11978 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11979 futex.h.
11980 (gomp_futex_wake, gomp_futex_wait): New variables.
11981 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11982 * config/linux/lock.c: Rewrite to make locks task owned,
11983 for backwards compatibility provide the old entrypoints
11984 if symbol versioning. Include wait.h instead of libgomp.h and
11985 futex.h.
11986 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11987 * config/posix95/lock.c: Rewrite to make locks task owned,
11988 for backwards compatibility provide the old entrypoints
11989 if symbol versioning.
11990 * config/posix/lock.c: Rewrite to make locks task owned,
11991 for backwards compatibility provide the old entrypoints
11992 if symbol versioning.
11993 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11994 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11995 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11996 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11997 (sys_futex0): Return error code.
11998 (futex_wake, futex_wait): If ENOSYS was returned, clear
11999 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12000 (cpu_relax, atomic_write_barrier): New static inlines.
12001 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12002 (futex_wake, futex_wait): If ENOSYS was returned, clear
12003 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12004 (cpu_relax, atomic_write_barrier): New static inlines.
12005 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12006 (sys_futex0): Return error code.
12007 (futex_wake, futex_wait): If ENOSYS was returned, clear
12008 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12009 (cpu_relax, atomic_write_barrier): New static inlines.
12010 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12011 (sys_futex0): Return error code.
12012 (futex_wake, futex_wait): If ENOSYS was returned, clear
12013 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12014 (cpu_relax, atomic_write_barrier): New static inlines.
12015 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12016 (sys_futex0): Return error code.
12017 (futex_wake, futex_wait): If ENOSYS was returned, clear
12018 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12019 (cpu_relax, atomic_write_barrier): New static inlines.
12020 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12021 (sys_futex0): Return error code.
12022 (futex_wake, futex_wait): If ENOSYS was returned, clear
12023 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12024 (cpu_relax, atomic_write_barrier): New static inlines.
12025 * config/linux/sem.c: Include wait.h instead of libgomp.h and
12026 futex.h.
12027 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12028 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12029 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12030 types.
12031 (omp_nest_lock_t): Change owner into void *, add lock field.
12032 * config/posix95/omp-lock.h: Include semaphore.h.
12033 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12034 (omp_lock_t): Use sem_t instead of mutex if semaphores
12035 aren't broken.
12036 (omp_nest_lock_t): Likewise. Change owner to void *.
12037 * config/posix/omp-lock.h: Include semaphore.h.
12038 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12039 (omp_lock_t): Use sem_t instead of mutex if semaphores
12040 aren't broken.
12041 (omp_nest_lock_t): Likewise. Add owner field.
12042
120432008-06-06 Jakub Jelinek <jakub@redhat.com>
12044
12045 * testsuite/libgomp.c/collapse-1.c: New test.
12046 * testsuite/libgomp.c/collapse-2.c: New test.
12047 * testsuite/libgomp.c/collapse-3.c: New test.
12048 * testsuite/libgomp.c/icv-1.c: New test.
12049 * testsuite/libgomp.c/icv-2.c: New test.
12050 * testsuite/libgomp.c/lib-2.c: New test.
12051 * testsuite/libgomp.c/lock-1.c: New test.
12052 * testsuite/libgomp.c/lock-2.c: New test.
12053 * testsuite/libgomp.c/lock-3.c: New test.
12054 * testsuite/libgomp.c/loop-4.c: New test.
12055 * testsuite/libgomp.c/loop-5.c: New test.
12056 * testsuite/libgomp.c/loop-6.c: New test.
12057 * testsuite/libgomp.c/loop-7.c: New test.
12058 * testsuite/libgomp.c/loop-8.c: New test.
12059 * testsuite/libgomp.c/loop-9.c: New test.
12060 * testsuite/libgomp.c/nested-3.c: New test.
12061 * testsuite/libgomp.c/nestedfn-6.c: New test.
12062 * testsuite/libgomp.c/sort-1.c: New test.
12063 * testsuite/libgomp.c/task-1.c: New test.
12064 * testsuite/libgomp.c/task-2.c: New test.
12065 * testsuite/libgomp.c/task-3.c: New test.
12066 * testsuite/libgomp.c/task-4.c: New test.
12067 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12068 to C++ testsuite default compiler options.
12069 * testsuite/libgomp.c++/collapse-1.C: New test.
12070 * testsuite/libgomp.c++/collapse-2.C: New test.
12071 * testsuite/libgomp.c++/ctor-10.C: New test.
12072 * testsuite/libgomp.c++/for-1.C: New test.
12073 * testsuite/libgomp.c++/for-2.C: New test.
12074 * testsuite/libgomp.c++/for-3.C: New test.
12075 * testsuite/libgomp.c++/for-4.C: New test.
12076 * testsuite/libgomp.c++/for-5.C: New test.
12077 * testsuite/libgomp.c++/loop-8.C: New test.
12078 * testsuite/libgomp.c++/loop-9.C: New test.
12079 * testsuite/libgomp.c++/loop-10.C: New test.
12080 * testsuite/libgomp.c++/task-1.C: New test.
12081 * testsuite/libgomp.c++/task-2.C: New test.
12082 * testsuite/libgomp.c++/task-3.C: New test.
12083 * testsuite/libgomp.c++/task-4.C: New test.
12084 * testsuite/libgomp.c++/task-5.C: New test.
12085 * testsuite/libgomp.c++/task-6.C: New test.
12086 * testsuite/libgomp.fortran/allocatable1.f90: New test.
12087 * testsuite/libgomp.fortran/allocatable2.f90: New test.
12088 * testsuite/libgomp.fortran/allocatable3.f90: New test.
12089 * testsuite/libgomp.fortran/allocatable4.f90: New test.
12090 * testsuite/libgomp.fortran/collapse1.f90: New test.
12091 * testsuite/libgomp.fortran/collapse2.f90: New test.
12092 * testsuite/libgomp.fortran/collapse3.f90: New test.
12093 * testsuite/libgomp.fortran/collapse4.f90: New test.
12094 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12095 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12096 * testsuite/libgomp.fortran/lib4.f90: New test.
12097 * testsuite/libgomp.fortran/lock-1.f90: New test.
12098 * testsuite/libgomp.fortran/lock-2.f90: New test.
12099 * testsuite/libgomp.fortran/nested1.f90: New test.
12100 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12101 * testsuite/libgomp.fortran/strassen.f90: New test.
12102 * testsuite/libgomp.fortran/tabs1.f90: New test.
12103 * testsuite/libgomp.fortran/tabs2.f: New test.
12104 * testsuite/libgomp.fortran/task1.f90: New test.
12105 * testsuite/libgomp.fortran/task2.f90: New test.
12106 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12107 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12108 * testsuite/libgomp.c/pr26943-2.c: Likewise.
12109 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12110 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12111
7a0112e7
JJ
121122008-05-23 Jakub Jelinek <jakub@redhat.com>
12113
12114 PR c++/36308
12115 * testsuite/libgomp.c++/ctor-11.C: New test.
12116 * testsuite/libgomp.c++/ctor-12.C: New test.
12117
91a5b394
JJ
121182008-05-15 Janis Johnson <janis187@us.ibm.com>
12119
12120 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12121
c18c98c0
JJ
121222008-05-07 Jakub Jelinek <jakub@redhat.com>
12123
12124 PR middle-end/36106
12125 * testsuite/libgomp.c/atomic-5.c: New test.
12126 * testsuite/libgomp.c/atomic-6.c: New test.
12127 * testsuite/libgomp.c/autopar-1.c: New test.
12128
6d26724a
RW
121292008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12130
12131 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12132 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12133 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12134 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12135 * configure: Regenerate.
12136 * Makefile.in, testsuite/Makefile.in: Likewise.
12137
deb984e6
PB
121382008-04-18 Paolo Bonzini <bonzini@gnu.org>
12139
12140 PR bootstrap/35457
12141 * aclocal.m4: Regenerate.
12142 * configure: Regenerate.
12143
9e775963
JJ
121442008-03-18 Jakub Jelinek <jakub@redhat.com>
12145
8119fc93
JJ
12146 PR middle-end/35611
12147 * testsuite/libgomp.c/atomic-4.c: New test.
12148
9e775963
JJ
12149 PR libgomp/35625
12150 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12151 (gomp_iter_guided_next): Likewise.
12152 * testsuite/libgomp.c/pr35625.c: New test.
12153
38d24731
RW
121542008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12155
12156 * aclocal.m4: Regenerate.
12157 * configure: Likewise.
12158 * Makefile.in: Likewise.
12159 * testsuite/Makefile.in: Likewise.
12160
d0fb20be
JJ
121612008-03-13 Jakub Jelinek <jakub@redhat.com>
12162
12163 PR middle-end/35185
12164 * testsuite/libgomp.c++/pr35185.C: New test.
12165
7c8f7639
JJ
121662008-03-12 Jakub Jelinek <jakub@redhat.com>
12167
12168 PR middle-end/35549
12169 * testsuite/libgomp.c/pr35549.c: New test.
12170
251923f5
JJ
121712008-03-06 Jakub Jelinek <jakub@redhat.com>
12172
12173 * testsuite/libgomp.c/atomic-3.c: New test.
12174
f489fba1
FXC
121752008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12176
12177 PR fortran/33197
251923f5 12178 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
12179 .F08 file suffixes.
12180
a1b25e49
PG
121812008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
12182
12183 PR libgomp/33131
12184 * configure.ac: Add ACX_HEADER_STRING.
12185 * env.c: Include strings.h.
12186 * aclocal.m4: Regenerate.
12187 * config.h.in: Regenerate.
12188 * configure: Regenerate.
12189 * Makefile.in: Regenerate.
12190 * testsuite/Makefile.in: Regenerate.
12191
6837b3b8
JJ
121922008-02-15 Jakub Jelinek <jakub@redhat.com>
12193
ac84c062
JJ
12194 PR middle-end/35196
12195 * testsuite/libgomp.c/pr35196.c: New test.
12196
6837b3b8
JJ
12197 PR middle-end/35130
12198 * testsuite/libgomp.fortran/pr35130.f90: New test.
12199 * testsuite/libgomp.c/pr35130.c: New test.
12200
c256730c
JJ
122012008-01-25 Jakub Jelinek <jakub@redhat.com>
12202
12203 PR middle-end/33880
12204 * testsuite/libgomp.c/pr33880.c: New test.
12205 * testsuite/libgomp.fortran/pr33880.f90: New test.
12206
c8e95542 122072008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
12208
12209 * configure: Regenerate.
12210
0f3e711e
JJ
122112008-01-08 Jakub Jelinek <jakub@redhat.com>
12212
12213 * configure.ac: Move futex checking into ../config/futex.m4.
12214 * configure: Rebuilt.
12215 * aclocal.m4: Rebuilt.
12216 * Makefile.in: Rebuilt.
12217
12218 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12219 2007-10-15 ../config/tls.m4 change.
12220
5259c813
JJ
122212007-12-19 Jakub Jelinek <jakub@redhat.com>
12222
12223 PR c++/34513
12224 * testsuite/libgomp.c/pr34513.c: New test.
12225 * testsuite/libgomp.c++/pr34513.C: New test.
12226
ae8d8879
JH
122272007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
12228
12229 PR target/32765
12230 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12231
2b4cf991
JJ
122322007-12-04 Jakub Jelinek <jakub@redhat.com>
12233
12234 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12235
d2dda7fe
JJ
122362007-12-03 Jakub Jelinek <jakub@redhat.com>
12237
12238 * testsuite/libgomp.c/private-1.c: New test.
12239
d683ec81
PB
122402007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
12241 Paolo Bonzini <bonzini@gnu.org>
12242
12243 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12244 instead of 'VPATH ='.
12245 * Makefile.in: Regenerate.
12246
a7415017
MK
122472007-11-23 Matthias Klose <doko@ubuntu.com>
12248
12249 * configure.ac: Adjust makeinfo version check.
12250 * configure: Regenerate.
12251
78e47463
JJ
122522007-11-10 Jakub Jelinek <jakub@redhat.com>
12253
12254 PR fortran/34020
12255 * testsuite/libgomp.fortran/pr34020.f90: New test.
12256
239371f9
JJ
122572007-11-06 Jakub Jelinek <jakub@redhat.com>
12258
12259 PR c++/33894
12260 * testsuite/libgomp.c++/atomic-1.C: New test.
12261
98a5fa94
JJ
122622007-10-25 Jakub Jelinek <jakub@redhat.com>
12263
12264 PR libgomp/33275
12265 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12266 Make x and y integers rather than (implicit) reals. Add private (j)
12267 clause to the last omp parallel.
12268
3afcaaf4
MR
122692007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
12270
12271 * configure: Regenerate following changes to ../config/tls.m4.
12272
bd69daef
JJ
122732007-09-28 Jakub Jelinek <jakub@redhat.com>
12274
12275 * testsuite/libgomp.fortran/stack.f90: New test.
12276
1d0bd356
DS
122772007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
12278
12279 * config/mingw32/proc.c: New file.
12280
b3172cab
UB
122812007-09-05 Uros Bizjak <ubizjak@gmail.com>
12282
12283 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12284 (main): Use __get_cpuid to get i386 target fetaures.
12285 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12286 (main): Use __get_cpuid to get x86_64 target fetaures.
12287
6da17392
JH
122882007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
12289
12290 PR target/32765
12291 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12292 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12293
e1c82219
JJ
122942007-07-12 Jakub Jelinek <jakub@redhat.com>
12295
12296 PR fortran/32550
12297 * testsuite/libgomp.fortran/pr32550.f90: New test.
12298 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12299
12a27363
L
123002007-07-05 H.J. Lu <hongjiu.lu@intel.com>
12301
12302 * aclocal.m4: Regenerated.
12303
5349080d
TB
123042007-07-05 Tobias Burnus <burnus@net-b.de>
12305
12306 PR fortran/32359
12307 * testsuite/libgomp.fortran/pr32359.f90: New.
12308
4f9c450c
JJ
123092007-07-02 Jakub Jelinek <jakub@redhat.com>
12310
12311 PR libgomp/32468
12312 * sections.c (GOMP_parallel_sections_start): Only decrease
12313 number of threads to COUNT if dyn_var is true.
12314 * testsuite/libgomp.c/pr32468.c: New test.
12315
28c67ed7
RO
123162007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12317
12318 PR libgomp/26308
12319 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12320
64964499
JJ
123212007-06-21 Jakub Jelinek <jakub@redhat.com>
12322
12323 PR middle-end/32362
12324 * testsuite/libgomp.c/pr32362-1.c: New test.
12325 * testsuite/libgomp.c/pr32362-2.c: New test.
12326 * testsuite/libgomp.c/pr32362-3.c: New test.
12327
46d8fbd1
JJ
123282007-06-07 Jakub Jelinek <jakub@redhat.com>
12329
12330 * team.c (gomp_team_start): Fix setting up thread_attr
12331 stack size.
12332
82a6cadf
PB
123332007-06-02 Paolo Bonzini <bonzini@gnu.org>
12334
12335 * configure: Regenerate.
12336
1cf3d07d
SE
123372007-05-23 Steve Ellcey <sje@cup.hp.com>
12338
12339 * Makefile.in: Regenerate.
12340 * configure: Regenerate.
12341 * aclocal.m4: Regenerate.
12342 * testsuite/Makefile.in: Regenerate.
12343
12aac30b
JJ
123442007-05-04 Jakub Jelinek <jakub@redhat.com>
12345
12346 * config/linux/proc.c: New file.
12347
f1028b02
JJ
12348 PR libgomp/28482
12349 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12350
06785a48
DF
123512007-04-19 Daniel Franke <franke.daniel@gmail.com>
12352
12353 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12354
b3b08ba0
MK
123552007-04-16 Matthias Klose <doko@debian.org>
12356
12357 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12358 flags if not building with -m64.
12359 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12360 flag for i?86-*-* targets, if current target matches -m64.
12361
6b2c5ce0
SE
123622007-04-14 Steve Ellcey <sje@cup.hp.com>
12363
12364 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12365 * Makefile.in: Regenerate.
12366
dd56fe7c
JDA
123672007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12368
12369 PR testsuite/31369
12370 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12371 ld_library_path.
12372 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12373
a0884cf0
JJ
123742007-04-04 Jakub Jelinek <jakub@redhat.com>
12375
12376 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12377 decls.
12378 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12379 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12380 (parse_affinity): New function.
12381 (initialize_env): Call it and gomp_init_affinity.
12382 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12383 create new pthread_attr_t and call gomp_init_thread_affinity
12384 on it for each thread before passing the attribute to pthread_create.
12385 * config/linux/affinity.c: New file.
12386 * config/posix/affinity.c: New file.
12387 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12388 * configure: Rebuilt.
12389 * config.h.in: Rebuilt.
12390 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12391 * Makefile.in: Rebuilt.
12392
1850744b
AT
123932007-03-23 Andreas Tobler <a.tobler@schweiz.org>
12394
12395 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12396 *-*-darwin*.
12397 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12398 and use it if found.
12399
516f1ed8
UB
124002007-03-18 Uros Bizjak <ubizjak@gmail.com>
12401
12402 * testsuite/config/default.exp: New file.
12403 * testsuite/lib/libgomp.exp: New file.
12404 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12405 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12406 load_lib *, load_gcc_lib *): Move to libgomp.exp.
12407 (libgomp_load): Remove.
12408 * testsuite/lib/libgomp.exp (libgomp_init): Compute
12409 always_ld_library_path, not ld_library_path. Set additional_flags
12410 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12411 (target_compile): Do not call libgomp_init. Append lang_library_path
12412 and lang_link_flags to options.
12413 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
12414 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
12415 here.
12416 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12417 always_ld_library_path. Set LD_LIBRARY_PATH here.
12418 * testsuite/libgomp.fortran/fortran.exp: Ditto.
12419 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12420 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12421 CX8 flag.
12422 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12423 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12424 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12425 * testsuite/libgomp.c/pr29947-1.c: Ditto.
12426 * testsuite/libgomp.c/atomic-10.c: Ditto.
12427
2ada56f5
JJ
124282007-03-21 Jakub Jelinek <jakub@redhat.com>
12429
12430 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12431 dg-final cleanup-modules line.
12432 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12433 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12434 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12435 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12436 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12437 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12438 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12439
f210f1cd
AS
124402007-03-18 Andreas Schwab <schwab@suse.de>
12441
12442 * acinclude.m4: Adjust regular expression for ld version
12443 extraction.
12444 * configure: Regenerate.
12445
c4dc950d
BM
124462007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
12447
12448 * Makefile.am: Add install-pdf target as copied from
12449 automake v1.10 rules.
12450 * Makefile.in: Regenerate
12451
e02a048f
JJ
124522007-02-07 Jakub Jelinek <jakub@redhat.com>
12453
78e075d4
JJ
12454 PR libgomp/28486
12455 * configure: Regenerate.
12456
e02a048f
JJ
12457 PR c++/30703
12458 * testsuite/libgomp.c++/pr30703.C: New test.
12459
60def7ed
JJ
124602007-02-02 Jakub Jelinek <jakub@redhat.com>
12461
12462 Revert:
12463 2006-07-05 Eric Christopher <echristo@apple.com>
12464 * configure.ac: Depend addition of -pthread on host OS.
12465 * configure: Regenerate.
12466
f1b0882e
RW
124672007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12468
12469 * libgomp.texi: Fix spacing after abbreviations.
12470
748b9d7c
DF
124712007-01-31 Daniel Franke <franke.daniel@gmail.com>
12472
12473 PR libgomp/30546
12474 * configure.ac: Add check for makeinfo
12475 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 12476 if an appropriate version of makeinfo is found.
748b9d7c
DF
12477 * aclocal.m4: Regenerated.
12478 * configure: Regenerated.
12479 * Makefile.in: Regenerated.
12480 * testsuite/Makefile.in: Regenerated.
12481
14734fc7
DF
124822007-01-29 Daniel Franke <franke.daniel@gmail.com>
12483
12484 PR libgomp/30540
12485 * libgomp.texi: More about implementation-dependent settings.
12486
7befd5d2
TB
124872007-01-26 Tobias Burnus <burnus@net-b.de>
12488
12489 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12490
4288fea2
JJ
124912007-01-24 Jakub Jelinek <jakub@redhat.com>
12492
12493 PR middle-end/30494
12494 * testsuite/libgomp.c/pr30494.c: New test.
12495
627ab4b8
TT
124962007-01-15 Tom Tromey <tromey@redhat.com>
12497
12498 * configure: Rebuilt.
12499 * configure.ac: Fixed comment.
12500
7c2b7f45
DF
125012007-01-14 Daniel Franke <franke.daniel@gmail.com>
12502
12503 * libgomp.texi: Document implementation specific default values of
12504 environment variables.
12505
3721b9e1
DF
125062006-12-21 Daniel Franke <franke.daniel@gmail.com>
12507
12508 PR libgomp/28209
12509 * libgomp.texi: New file.
12510 * configure.ac: Add --enable-generated-files-in-srcdir option.
12511 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12512 files to srcdir.
12513 * Makefile.in: Regenerated.
12514 * config.h.in: Regenerated.
12515 * testsuite/Makefile.in: Regenerated.
12516 * NOTES: Removed.
12517
62bd6216
DF
125182006-12-04 Daniel Franke <franke.daniel@gmail.com>
12519
12520 PR libgomp/29949
12521 * env.c (omp_set_num_threads): Set illegal thread count to 1.
12522
aad741f4
EB
125232006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
12524
12525 * configure: Regenerate.
12526
22568cc6
JJ
125272006-12-04 Jakub Jelinek <jakub@redhat.com>
12528
12529 PR libgomp/29947
12530 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
12531 start if there shouldn't be any loop iterations.
12532 (gomp_loop_ordered_static_start): Remove start == end test.
12533 * testsuite/libgomp.c/pr29947-1.c: New test.
12534 * testsuite/libgomp.c/pr29947-2.c: New test.
12535
a9690009
EB
125362006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
12537
12538 * configure.tgt: Force initial-exec TLS model on Linux only.
12539
597c25e6
DJ
125402006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
12541
12542 * configure: Regenerated.
12543
6acf0b38
UB
125442006-11-09 Uros Bizjak <ubizjak@gmail.com>
12545
12546 * env.c (parse_schedule): Reject out of range values.
12547 (parse_unsigned_long): Reject out of range, negative or zero values.
12548
a7a53ca5
JJ
125492006-10-29 Jakub Jelinek <jakub@redhat.com>
12550
12551 PR fortran/29629
12552 * testsuite/libgomp.fortran/pr29629.f90: New test.
12553
6d4d216a
EB
125542006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
12555
12556 PR libgomp/29494
12557 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12558 * config/posix95: New directory.
12559 * config/posix95/omp-lock.h: New file.
12560 * config/posix95/lock.c: Likewise.
12561
5b043f08
GK
125622006-10-14 Geoffrey Keating <geoffk@apple.com>
12563
12564 * aclocal.m4: Regenerate.
12565 * configure: Regenerate.
12566
b50019f0
DS
125672006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12568
12569 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12570 '<' to '<='.
12571
8887708e
DS
125722006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
12573
12574 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12575 test.
12576 * configure: Regenerate.
12577 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12578
9b9e4cd6
JJ
125792006-09-26 Jakub Jelinek <jakub@redhat.com>
12580
a70ad3bb
JJ
12581 PR middle-end/25261
12582 PR middle-end/28790
12583 * testsuite/libgomp.c/nestedfn-4.c: New test.
12584 * testsuite/libgomp.c/nestedfn-5.c: New test.
12585 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12586
9b9e4cd6
JJ
12587 PR fortran/29097
12588 * testsuite/libgomp.fortran/condinc1.f: New test.
12589 * testsuite/libgomp.fortran/condinc2.f: New test.
12590 * testsuite/libgomp.fortran/condinc3.f90: New test.
12591 * testsuite/libgomp.fortran/condinc4.f90: New test.
12592 * testsuite/libgomp.fortran/condinc1.inc: New file.
12593
2fb31455
TT
125942006-09-18 Tom Tromey <tromey@redhat.com>
12595
12596 * configure: Rebuilt.
12597
c663e301
JM
125982006-09-13 Joseph S. Myers <joseph@codesourcery.com>
12599
12600 PR c/28768
12601 PR preprocessor/14634
12602 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12603 to AC_DEFINE.
12604 * configure: Regenerate.
12605
38371be9
SK
126062006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
12607
12608 * testsuite/libgomp.fortran/reduction3.f90: Change
12609 -2147483648 to -huge(i)-1 to avoid overflow.
12610 * testsuite/libgomp.fortran/reduction4.f90: Change
12611 Z'ffffffff' to not(0) to avoid overflow.
12612
571d5ac5
JM
126132006-08-26 Joseph S. Myers <joseph@codesourcery.com>
12614
12615 PR libgomp/25938
12616 * Makefile.am (libsubincludedir): New.
12617 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12618 * Makefile.in: Regenerate.
12619
89b3e3cd
JJ
126202006-08-17 Jakub Jelinek <jakub@redhat.com>
12621
12622 PR libgomp/28725
12623 * env.c: Include ctype.h.
12624 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12625 leading and/or trailing whitespace and compare strings case
12626 insensitively.
12627
742fae05
JJ
126282006-07-16 Jakub Jelinek <jakub@redhat.com>
12629
12630 PR fortran/28390
12631 * testsuite/libgomp.fortran/pr28390.f: New test.
12632
a1daed2d
EC
126332006-07-05 Eric Christopher <echristo@apple.com>
12634
12635 * configure.ac: Depend addition of -pthread on host OS.
12636 * configure: Regenerate.
12637
5d7b5199
JJ
126382006-06-21 Jakub Jelinek <jakub@redhat.com>
12639
12640 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12641 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12642 defined.
12643
fe5568e9
JJ
126442006-06-20 Jakub Jelinek <jakub@redhat.com>
12645
12646 PR libgomp/26175
12647 PR libgomp/26477
12648 * configure.ac: If neither --enable-linux-futex nor
12649 --disable-linux-futex is passed, determine the default by checking
12650 for compiling and/or running against NPTL. With --enable-linux-futex,
12651 check if SYS_gettid and SYS_futex are defined.
12652 * configure: Rebuilt.
12653
c3b11a40
RH
126542006-06-14 Richard Henderson <rth@redhat.com>
12655
12656 PR libgomp/28008
12657 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12658 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12659
d0d1b24d
RH
126602006-06-09 Richard Henderson <rth@redhat.com>
12661
12662 * env.c (gomp_nthreads_var): Change to unsigned long.
12663 (gomp_run_sched_chunk): Likewise.
12664 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12665 (initialize_env): Initialize gomp_thread_attr.
12666 * libgomp.h (gomp_nthreads_var): Update decl.
12667 (gomp_run_sched_chunk): Likewise.
12668 (gomp_thread_attr): Declare.
12669 * team.c (gomp_thread_attr): Export.
12670 (initialize_team): Don't initialize it.
12671
cd75853e
JJ
126722006-06-09 Jakub Jelinek <jakub@redhat.com>
12673
12674 PR fortran/27916
12675 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12676 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12677
33815e0c
FXC
126782006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12679
12680 * config/mingw32/time.c: New file.
12681 * configure.tgt: Use it.
12682
6667de0d
CD
126832006-05-23 Carlos O'Donell <carlos@codesourcery.com>
12684
12685 * Makefile.am: Add install-html target. Add install-html to .PHONY
12686 * Makefile.in: Regenerate.
12687
e962c46b
JDA
126882006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12689
12690 PR libgomp/27612
12691 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12692 * testsuite/libgomp.c/critical-1.c: Likewise.
12693 * testsuite/libgomp.c/loop-1.c: Likewise.
12694 * testsuite/libgomp.c/loop-2.c: Likewise.
12695 * testsuite/libgomp.c/single-1.c: Likewise.
12696 * testsuite/libgomp.c/ordered-1.c: Likewise.
12697 * testsuite/libgomp.c/ordered-2.c: Likewise.
12698
eeb1d9e0
JJ
126992006-05-15 Jakub Jelinek <jakub@redhat.com>
12700
12701 PR middle-end/27416
12702 * libgomp.fortran/pr27416-1.f90: New test.
12703
693d710f
JJ
127042006-05-03 Jakub Jelinek <jakub@redhat.com>
12705
12706 PR fortran/27395
12707 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12708 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12709
8ca5b2a2
JJ
127102006-05-02 Jakub Jelinek <jakub@redhat.com>
12711
12712 PR c++/26943
12713 * testsuite/libgomp.c/pr26943-1.c: New test.
12714 * testsuite/libgomp.c/pr26943-2.c: New test.
12715 * testsuite/libgomp.c/pr26943-3.c: New test.
12716 * testsuite/libgomp.c/pr26943-4.c: New test.
12717 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12718 * testsuite/libgomp.c++/pr26943.C: New test.
12719
077b0dfb
JJ
127202006-05-02 Jakub Jelinek <jakub@redhat.com>
12721
12722 PR middle-end/27337
12723 * testsuite/libgomp.c++/pr27337.C: New test.
12724
91b6c26d
JJ
127252006-04-26 Jakub Jelinek <jakub@redhat.com>
12726
12727 PR c/26171
12728 * testsuite/libgomp.c/pr26171.c: New test.
12729
60e1758f
RH
127302006-04-25 Richard Henderson <rth@redhat.com>
12731
12732 PR libgomp/25865
12733 * configure.ac: Use GCC_CHECK_TLS.
12734 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12735 * Makefile.in, aclocal.m4, configure: Regenerate.
12736
615baed7
MK
127372006-04-10 Matthias Klose <doko@debian.org>
12738
12739 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12740 directory names containing underscores.
12741
fae2b46b
JJ
127422006-03-21 Jakub Jelinek <jakub@redhat.com>
12743
12744 PR c++/26691
12745 * testsuite/libgomp.c++/pr26691.C: New test.
12746
11a5f608
JJ
127472006-03-13 Jakub Jelinek <jakub@redhat.com>
12748
12749 * testsuite/libgomp.fortran/retval2.f90: New test.
12750
1799e5d5
RH
127512006-03-09 Diego Novillo <dnovillo@redhat.com>
12752
12753 * testsuite/libgomp.c++: New directory.
12754
d349482e
AT
127552006-02-25 Shantonu Sen <ssen@opendarwin.org>
12756
12757 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12758 * config/posix/sem.c: Implement the above.
12759
127602006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
12761
12762 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12763 define HAVE_BROKEN_POSIX_SEMAPHORES.
12764 * configure: Rebuilt.
12765 * config.h.in: Rebuilt.
12766
124452c9
FXC
127672006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
12768
12769 PR bootstrap/26161
12770 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12771 for the other pthread check.
12772 * configure: Regenerate.
12773 * config.h.in: Regenerate.
12774
dd8d6dfe
JJ
127752006-02-15 Jakub Jelinek <jakub@redhat.com>
12776
12777 PR libgomp/25938
12778 PR libgomp/25984
12779 * Makefile.am (fincludedir): New variable.
12780 (nodist_include_HEADERS): Remove Fortran files.
12781 (nodist_finclude_HEADERS): New variable.
12782 * Makefile.in: Regenerated.
12783
6c7a4dfd
JJ
127842006-02-13 Jakub Jelinek <jakub@redhat.com>
12785
12786 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12787 Remove tests for returning assumed character length arrays.
12788
5142e08b
RS
127892006-02-12 Roger Sayle <roger@eyesopen.com>
12790 John David Anglin <dave@hiauly1.hia.nrc.ca>
12791
12792 PR libgomp/25936
12793 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 12794
5821fba8
UW
127952006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
12796
12797 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12798
cb2bbc67
EB
127992006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
12800
12801 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12802 part of LD_LIBRARY_PATH manually.
12803
f05ee80c
L
128042006-02-03 H.J. Lu <hongjiu.lu@intel.com>
12805
12806 PR libgomp/25852
12807 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12808 libgomp_init.
12809
03b8fe49
PB
128102005-01-25 Paolo Bonzini <bonzini@gnu.org>
12811
12812 PR libgomp/25884
f05ee80c
L
12813 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12814 * configure.ac (PERL): Don't set.
12815 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12816 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12817 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12818 * omp.h.in: Wrap the new configure substitutions with @ characters.
12819 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12820 * aclocal.m4, configure, Makefile.in: Regenerate.
12821 * mkomp_h.pl: Delete.
03b8fe49 12822
18cbfd85
PB
128232005-01-24 Paolo Bonzini <bonzini@gnu.org>
12824
12825 PR libgomp/25259
12826 * configure.ac: Use GCC_HEADER_STDINT.
12827 * libgomp.h: Include gstdint.h.
12828 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12829 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12830
c41303c6
RH
128312006-01-24 Richard Henderson <rth@redhat.com>
12832
12833 PR libgomp/25942
12834 * configure.ac: Add AM_MAINTAINER_MODE.
12835 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12836
149b9553
DN
128372006-01-24 Diego Novillo <dnovillo@redhat.com>
12838
12839 * Makefile.in: Regenerate.
12840 * testsuite/Makefile.in: Regenerate.
12841 * aclocal.m4: Regenerate.
12842
192a50ad
AT
128432006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12844
12845 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12846 Solaris.
12847 * configure.ac: Add check for loadavg.h.
12848 (link_gomp): Adjust comment.
12849 * configure: Regenerate.
12850 * config.h.in: Regenerate.
12851
a55b8e18
SE
128522006-01-21 Steve Ellcey <sje@cup.hp.com>
12853
12854 PR libgomp/25877
12855 * configure.ac: Remove check for alloca.h.
12856 * configure: Regenerate.
12857 * config.h.in: Regenerate.
12858 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12859 * team.c: Remove use of alloca.h.
12860 Call gomp_alloca instead of alloca.
12861
692eeb34
SE
128622006-01-20 Steve Ellcey <sje@cup.hp.com>
12863
12864 PR libgomp/25877
12865 * team.c: Add include of alloca.h.
12866 * configure.ac: Add check for alloca.h.
12867 * configure: Regenerate.
12868 * config.h.in: Regenerate.
12869
953ff289
DN
128702006-01-17 Jakub Jelinek <jakub@redhat.com>
12871
12872 PR fortran/25219
12873 * testsuite/libgomp.fortran/pr25219.f90: New test.
12874
128752005-12-05 Uros Bizjak <uros@kss-loka.si>
12876
12877 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12878 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12879 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12880 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12881 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12882 testsuite/libgomp.fortran/threadprivate1.f90,
12883 testsuite/libgomp.fortran/threadprivate2.f90,
12884 testsuite/libgomp.fortran/threadprivate3.f90,
12885 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12886 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12887 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12888 effective-target to TLS runtime.
12889
12890 * testsuite/libgomp.fortran/pr25162.f: Require
12891 effective-target TLS runtime.
12892
128932005-12-01 Jakub Jelinek <jakub@redhat.com>
12894
12895 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12896 * testsuite/libgomp.c/nestedfn-3.c: New test.
12897
128982005-11-30 Jakub Jelinek <jakub@redhat.com>
12899
12900 PR fortran/25162
12901 * testsuite/libgomp.fortran/pr25162.f: New test.
12902
129032005-11-28 Jakub Jelinek <jakub@redhat.com>
12904
12905 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12906 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12907
129082005-11-25 Jakub Jelinek <jakub@redhat.com>
12909
12910 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12911 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12912 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12913 single.c, team.c, work.c, config/linux/alpha/futex.h,
12914 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12915 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12916 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12917 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12918 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12919 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12920 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12921 FSF address.
12922
129232005-11-18 Jakub Jelinek <jakub@redhat.com>
12924
12925 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12926 to nodist_noinst_HEADERS.
12927 * Makefile.in: Rebuilt.
12928
12929 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12930 add integer count field.
12931 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12932 omp_nest_lock_t type change.
12933 (omp_init_nest_lock): Likewise. Initialize count to 0.
12934 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12935 Increment count.
12936 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12937 Decrement count.
12938 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12939 Increment count if successful and return the new nesting level.
12940 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12941 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12942 * testsuite/libgomp.c/lib-1.c: New test.
12943 * testsuite/libgomp.fortran/lib1.f90: New test.
12944 * testsuite/libgomp.fortran/lib2.f: New test.
12945 * testsuite/libgomp.fortran/lib3.f: New test.
12946
129472005-11-17 Richard Henderson <rth@redhat.com>
12948
12949 PR 24845
12950 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12951 * configure.ac (link_gomp): New. Substitute it.
12952 (AC_CONFIG_FILES): Add libgomp.spec.
12953 * libgomp.spec.in: New file.
12954 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12955 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12956
129572005-11-18 Jakub Jelinek <jakub@redhat.com>
12958
12959 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12960 reduction(-:var) behaving the same as reduction(+:var).
12961 * testsuite/libgomp.c/reduction-4.c: New test.
12962
129632005-11-15 Uros Bizjak <uros@kss-loka.si>
12964
12965 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12966 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12967 testsuite/libgomp.c/copyin-3.c,
12968 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12969 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12970 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12971 testsuite/libgomp.c++/pr24455.C,
12972 testsuite/libgomp.fortran/threadprivate1.f90,
12973 testsuite/libgomp.fortran/threadprivate2.f90,
12974 testsuite/libgomp.fortran/threadprivate3.f90,
12975 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12976 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12977 testsuite/libgomp.fortran/omp_parse3.f90: Require
12978 effective-target TLS.
12979
129802005-11-14 Diego Novillo <dnovillo@redhat.com>
12981
12982 * HEADER: Remove.
12983
129842005-11-13 Jakub Jelinek <jakub@redhat.com>
12985
12986 PR libgomp/24797
12987 * team.c (initialize_team): Pass NULL rather than free as
12988 pthread_key_create destructor. Initialize thread specific data
12989 pointer in initial thread to a static local variable rather than
12990 malloced memory.
12991
129922005-11-11 Uros Bizjak <uros@kss-loka.si>
12993
12994 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12995 its location to ld_library_path.
12996
129972005-11-10 Diego Novillo <dnovillo@redhat.com>
12998
12999 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13000
130012005-11-10 Diego Novillo <dnovillo@redhat.com>
13002
13003 * testsuite/libgomp.c: Rename from libgomp.dg.
13004
130052005-11-09 Diego Novillo <dnovillo@redhat.com>
13006
13007 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13008 threadprivate variable 'i'.
13009
130102005-11-09 Jakub Jelinek <jakub@redhat.com>
13011
13012 * config/linux/s390/futex.h: New file.
13013 * configure.tgt: Use it.
13014
13015 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13016 before the parallel.
13017
130182005-11-08 Jakub Jelinek <jakub@redhat.com>
13019
13020 PR c++/24734
13021 * testsuite/libgomp.c++/master-1.C: New test.
13022
130232005-11-07 Jakub Jelinek <jakub@redhat.com>
13024
13025 * testsuite/libgomp.dg/copyin-3.c: New test.
13026
130272005-11-07 Jakub Jelinek <jakub@redhat.com>
13028
13029 * testsuite/libgomp.fortran/retval1.f90: New test.
13030 * testsuite/libgomp.fortran/vla7.f90: New test.
13031
130322005-11-06 Jakub Jelinek <jakub@redhat.com>
13033
13034 * testsuite/libgomp.fortran/vla2.f90: New test.
13035 * testsuite/libgomp.fortran/vla3.f90: New test.
13036 * testsuite/libgomp.fortran/vla4.f90: New test.
13037 * testsuite/libgomp.fortran/vla5.f90: New test.
13038 * testsuite/libgomp.fortran/vla6.f90: New test.
13039
130402005-11-01 Jakub Jelinek <jakub@redhat.com>
13041
13042 * config/linux/sparc/futex.h: New file.
13043 * configure.tgt: Use it.
13044 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13045
13046 * critical.c: Include stdlib.h.
13047 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13048 ignoring return value.
13049 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13050 LIBGOMP_CHECK_SYNC_BUILTINS check.
13051 * configure: Rebuilt.
13052
130532005-10-31 Jakub Jelinek <jakub@redhat.com>
13054
13055 * testsuite/libgomp.fortran/vla1.f90: New test.
13056
130572005-10-31 Richard Henderson <rth@redhat.com>
13058
13059 * testsuite/libgomp.fortran/character2.f90: Fix race condition
13060 setting 's' in different threads.
13061
130622005-10-31 Jakub Jelinek <jakub@redhat.com>
13063
13064 * libgomp.h (attribute_hidden, ialias): Define.
13065 * config/posix/proc.c (omp_get_num_procs): Add ialias.
13066 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13067 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13068 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13069 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13070 omp_test_lock, omp_test_nest_lock): Likewise.
13071 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13072 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13073 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13074 omp_test_lock, omp_test_nest_lock): Likewise.
13075 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13076 omp_get_dynamic, omp_get_nested): Likewise.
13077 * parallel.c (omp_get_num_threads, omp_get_max_threads,
13078 omp_get_thread_num, omp_in_parallel): Likewise.
13079 * fortran.c (ialias_redirect): Define.
13080 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13081 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13082 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13083 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13084 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13085 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13086 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13087 omp_get_wtime): Add ialias_redirect.
13088
130892005-10-30 Jakub Jelinek <jakub@redhat.com>
13090
13091 * fortran.c: Include stdlib.h.
13092
130932005-10-29 Jakub Jelinek <jakub@redhat.com>
13094
13095 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13096 * Makefile.in: Regenerated.
13097
130982005-10-28 Jakub Jelinek <jakub@redhat.com>
13099
13100 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13101 * libgomp_f.h.in (omp_check_defines): New function.
13102 * env.c: Include libgomp_f.h.
13103 (initialize_env): Call omp_check_defines.
13104
13105 * testsuite/libgomp.dg/copyin-2.c: New test.
13106 * testsuite/libgomp.c++/copyin-2.C: New test.
13107 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13108
13109 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13110 * testsuite/libgomp.fortran/sharing2.f90: New test.
13111
13112 * testsuite/libgomp.dg/copyin-1.c: New test.
13113 * testsuite/libgomp.c++/copyin-1.C: New test.
13114
131152005-10-26 Jakub Jelinek <jakub@redhat.com>
13116
13117 * testsuite/libgomp.fortran/crayptr1.f90: New test.
13118
13119 * testsuite/libgomp.fortran/workshare1.f90: New test.
13120
13121 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13122 only test.
13123 * libgomp.fortran/sharing1.f90: New test.
13124
131252005-10-24 Jakub Jelinek <jakub@redhat.com>
13126
13127 PR c++/24502
13128 * testsuite/libgomp.c++/loop-7.C: New test.
13129
13130 * testsuite/libgomp.dg/nestedfn-2.c: New test.
13131
13132 * testsuite/libgomp.dg/nestedfn-1.c: New test.
13133 * testsuite/libgomp.fortran/reduction6.f90: New test.
13134 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13135
131362005-10-23 Richard Henderson <rth@redhat.com>
13137
13138 * testsuite/libgomp.c++/ctor-1.C: New.
13139 * testsuite/libgomp.c++/ctor-2.C: New.
13140 * testsuite/libgomp.c++/ctor-3.C: New.
13141 * testsuite/libgomp.c++/ctor-4.C: New.
13142 * testsuite/libgomp.c++/ctor-5.C: New.
13143 * testsuite/libgomp.c++/ctor-6.C: New.
13144 * testsuite/libgomp.c++/ctor-7.C: New.
13145 * testsuite/libgomp.c++/ctor-8.C: New.
13146 * testsuite/libgomp.c++/ctor-9.C: New.
13147
131482005-10-21 Diego Novillo <dnovillo@redhat.com>
13149
13150 PR 24455
13151 * testsuite/libgomp.c++/pr24455-1.C: New test.
13152 * testsuite/libgomp.c++/pr24455.C: New test.
13153 * testsuite/libgomp.dg/pr24455-1.c: New test.
13154 * testsuite/libgomp.dg/pr24455.c: New test.
13155
131562005-10-20 Richard Henderson <rth@redhat.com>
13157
13158 * testsuite/libgomp.c++/loop-6.C: New.
13159 * testsuite/libgomp.dg/loop-3.c: New.
13160
131612005-10-20 Jakub Jelinek <jakub@redhat.com>
13162
13163 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13164 explicitly private.
13165 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13166 explicitly shared.
13167
131682005-10-19 Diego Novillo <dnovillo@redhat.com>
13169
13170 * testsuite/libgomp.fortran/jacobi.f: New test.
13171
131722005-10-19 Richard Henderson <rth@redhat.com>
13173
13174 * configure.tgt (i?86-linux): Default to with_arch instead of
13175 CFLAGS. Add -mtune to match target_cpu.
13176 (x86_64-linux): Tune to i686.
13177
13178 * fortran.c (omp_test_nest_lock_): Fix typo.
13179
131802005-10-19 Jakub Jelinek <jakub@redhat.com>
13181
13182 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13183 gomp_ordered_sync): Do nothing if team->nthreads == 1.
13184 * testsuite/libgomp.dg/ordered-3.c: New test.
13185
13186 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13187 Remove volatile keyword.
13188
13189 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13190 in COMMON block to avoid warnings on 64-bit targets.
13191
131922005-10-18 Diego Novillo <dnovillo@redhat.com>
13193
13194 * testsuite/libgomp.dg/shared-3.c: New test.
13195
131962005-10-18 Jakub Jelinek <jakub@redhat.com>
13197
13198 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13199 * testsuite/libgomp.fortran/reduction5.f90: New test.
13200
132012005-10-18 Jakub Jelinek <jakub@redhat.com>
13202
13203 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13204 dg-options.
13205 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13206 flush loop now that __sync_synchronize has proper memory barrier.
13207 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13208 Add -ffixed-form to dg-options.
13209
132102005-10-17 Diego Novillo <dnovillo@redhat.com>
13211
13212 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13213 from subdirectories.
13214 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13215 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13216 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13217 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13218 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13219 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13220 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13221 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13222 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13223 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13224 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13225 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13226 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13227 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13228 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13229 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13230 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13231 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13232 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13233 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13234 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13235 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13236 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13237 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13238 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13239
132402005-10-17 Jakub Jelinek <jakub@redhat.com>
13241
13242 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13243 lang_library_path exists. Use find instead of glob to gather tests.
13244 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13245
132462005-10-17 Diego Novillo <dnovillo@redhat.com>
13247
13248 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13249 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13250 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13251 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13252 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13253 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13254 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13255 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13256 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13257 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13258 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13259 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13260 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13261
132622005-10-15 Jakub Jelinek <jakub@redhat.com>
13263
13264 * testsuite/libgomp.dg/vla-1.c: New test.
13265
13266 * testsuite/libgomp.fortran/reference2.f90: New test.
13267
13268 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13269 declaration of omp_get_thread_num.
13270 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13271 use omp_lib.
13272
13273 * testsuite/libgomp.fortran/reduction1.f90: New test.
13274 * testsuite/libgomp.fortran/reduction2.f90: New test.
13275 * testsuite/libgomp.fortran/reduction3.f90: New test.
13276 * testsuite/libgomp.fortran/reduction4.f90: New test.
13277
132782005-10-13 Richard Henderson <rth@redhat.com>
13279
13280 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13281 * Makefile.in: Regenerate.
13282 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13283 * libgomp.h: Include bar.h.
13284 (struct gomp_barrier): Remove.
13285 (struct gomp_team): Add barrier. Replace master_barrier with
13286 master_release. Replace threads with ordered_release.
13287 (struct gomp_thread): Replace barrier with release.
13288 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13289 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13290 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13291 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13292 (GOMP_single_copy_end): Likewise.
13293 * team.c (gomp_threads_dock): New.
13294 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13295 (gomp_thread_start): Use gomp_barrier_wait.
13296 (new_team, free_team): Update for gomp_team changes.
13297 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13298 (gomp_team_end): Use gomp_barrier_wait.
13299 (initialize_team): Update for gomp_thread changes.
13300 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13301 (gomp_work_share_end_nowait): Use atomic ops when available.
13302 * config/linux/bar.c, config/linux/bar.h: New files.
13303 * config/posix/bar.c, config/posix/bar.h: New files.
13304
133052005-10-13 Jakub Jelinek <jakub@redhat.com>
13306
13307 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13308 * testsuite/libgomp.dg/single-2.c: New test.
13309
13310 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13311 lang_link_flags): Unset, so that they aren't inherited from previously
13312 sourced *.exp.
13313
13314 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13315
133162005-10-12 Richard Henderson <rth@redhat.com>
13317
13318 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13319 (libgomp_init): Use lang_test_file, lang_library_path, and
13320 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13321
13322 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13323 (lang_test_file, lang_link_flags): New.
13324 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13325
13326 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13327 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13328 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13329 testsuite/libgomp.c++/parallel-1.C,
13330 testsuite/libgomp.c++/reduction-1.C,
13331 testsuite/libgomp.c++/reduction-2.C,
13332 testsuite/libgomp.c++/reduction-3.C,
13333 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13334 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13335 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13336 New files, largely cribbed from the C testsuite.
13337
133382005-10-12 Jakub Jelinek <jakub@redhat.com>
13339
13340 * testsuite/libgomp.fortran/character1.f90: New test.
13341 * testsuite/libgomp.fortran/character2.f90: New test.
13342
13343 * testsuite/libgomp.dg/nested-1.c: New test.
13344 * testsuite/libgomp.dg/nested-2.c: New test.
13345 * testsuite/libgomp.fortran/do1.f90: New test.
13346 * testsuite/libgomp.fortran/do2.f90: New test.
13347
13348 * testsuite/libgomp.fortran/reference1.f90: New test.
13349
133502005-10-11 Jakub Jelinek <jakub@redhat.com>
13351
13352 * testsuite/libgomp.dg/reduction-1.c: New test.
13353 * testsuite/libgomp.dg/reduction-2.c: New test.
13354 * testsuite/libgomp.dg/reduction-3.c: New test.
13355
133562005-10-10 Jakub Jelinek <jakub@redhat.com>
13357
13358 * testsuite/libgomp.dg/atomic-1.c: New test.
13359 * testsuite/libgomp.dg/atomic-2.c: New test.
13360
133612005-10-09 Richard Henderson <rth@redhat.com>
13362
13363 * critical.c (atomic_lock): New.
13364 (initialize_critical): Initialize it.
13365 (GOMP_atomic_start, GOMP_atomic_end): New.
13366 * libgomp.map: Export them.
13367 * libgomp_g.h: Declare them.
13368
13369 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13370
133712005-10-02 Richard Henderson <rth@redhat.com>
13372
13373 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13374 to XCFLAGS instead of CFLAGS.
13375
133762005-09-30 Richard Henderson <rth@redhat.com>
13377
13378 * configure.ac: Determine whether -pthread or -lpthread is needed.
13379 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 13380 * Makefile.in, configure: Rebuild.
953ff289
DN
13381
133822005-09-28 Richard Henderson <rth@redhat.com>
13383
13384 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13385 * testsuite/libgomp.dg/omp-single-3.c: New test.
13386
133872005-09-28 Diego Novillo <dnovillo@redhat.com>
13388
13389 * testsuite/libgomp.dg/omp-single-2.c: New test.
13390 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13391
133922005-09-27 Richard Henderson <rth@redhat.com>
13393
13394 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13395 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13396
133972005-09-27 Jakub Jelinek <jakub@redhat.com>
13398
13399 * testsuite/libgomp.dg/omp-loop03.c: New test.
13400
134012005-09-27 Diego Novillo <dnovillo@redhat.com>
13402
13403 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13404
134052005-09-27 Diego Novillo <dnovillo@redhat.com>
13406
13407 * testsuite/libgomp.dg/omp-single-1.c: New test.
13408 * testsuite/libgomp.dg/shared-1.c: Return 0.
13409 Add prototype for abort.
13410 * testsuite/libgomp.dg/shared-2.c: Likewise.
13411
134122005-09-26 Jakub Jelinek <jakub@redhat.com>
13413
13414 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13415 constructs.
13416
134172005-09-26 Diego Novillo <dnovillo@redhat.com>
13418
13419 * testsuite/libgomp.dg/shared-1.c: New test.
13420 * testsuite/libgomp.dg/shared-2.c: New test.
13421
134222005-09-24 Richard Henderson <rth@redhat.com>
13423
13424 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13425
134262005-09-24 Richard Henderson <rth@redhat.com>
13427
13428 * iter.c (gomp_iter_static_next): Round up when computing number
13429 of iterations. Don't bother distributing a remainder equally.
13430
13431 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13432 Don't call srand. Zero b before testing.
13433 (main): New.
13434
134352005-09-24 Jakub Jelinek <jakub@redhat.com>
13436
13437 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13438 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13439
134402005-09-23 Jakub Jelinek <jakub@redhat.com>
13441
13442 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13443 without !$omp end do, followed immediately by subroutine end.
13444
134452005-09-23 Diego Novillo <dnovillo@redhat.com>
13446
13447 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13448
134492005-09-22 Richard Henderson <rth@redhat.com>
13450
13451 * critical.c (GOMP_critical_name_start): Change argument to void**.
13452 Reuse the pointer space if the mutex fits.
13453 (GOMP_critical_name_end): Likewise.
13454 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13455 * libgomp_g.h (GOMP_critical_name_start): Update decl.
13456 (GOMP_critical_name_end): Likewise.
13457 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13458 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13459
134602005-09-20 Richard Henderson <rth@redhat.com>
13461
13462 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13463 (create_lock_lock): New.
13464 (initialize_critical): Initialize it.
13465 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13466 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13467
134682005-09-20 Diego Novillo <dnovillo@redhat.com>
13469
13470 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13471
134722005-09-20 Diego Novillo <dnovillo@redhat.com>
13473
13474 * testsuite/libgomp.dg/omp-loop01.c: New test.
13475 * testsuite/libgomp.dg/omp-loop02.c: New test.
13476
134772005-09-20 Jakub Jelinek <jakub@redhat.com>
13478
13479 * configure.ac (AC_PROG_FC): Add.
13480 (USE_FORTRAN): New automake conditional.
13481 * configure: Rebuilt.
13482 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13483 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13484 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13485 Add rules to build them.
13486 * Makefile.in: Rebuilt.
13487 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13488 OMP_NEST_LOCK_KIND.
13489 * libgomp.map: Add Fortran wrappers.
13490 * libgomp_f.h.in: New file.
13491 * omp_lib.h.in: New file.
13492 * omp_lib.f90.in: New file.
13493 * fortran.c: New file.
13494 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13495 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13496 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13497 libgfortran has been built.
13498 * testsuite/libgomp.fortran/fortran.exp: New file.
13499 * testsuite/libgomp.fortran/omp_cond1.f: New test.
13500 * testsuite/libgomp.fortran/omp_cond2.f: New test.
13501 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13502 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13503 * testsuite/libgomp.fortran/omp_hello.f: New test.
13504 * testsuite/libgomp.fortran/omp_orphan.f: New test.
13505 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13506 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13507 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13508 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13509 * testsuite/libgomp.fortran/omp_reduction.f: New test.
13510 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13511 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13512
135132005-08-30 Richard Henderson <rth@redhat.com>
13514
13515 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13516 function for when aliases are not usable.
13517 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13518 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13519 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13520 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13521 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13522 GOMP_loop_ordered_guided_next): Likewise.
13523 * ordered.c (GOMP_ordered_start): Likewise.
13524
135252005-08-01 Diego Novillo <dnovillo@redhat.com>
13526
13527 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13528 * testsuite/libgomp.dg/omp_hello.c: Fix return code
13529 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13530 * testsuite/libgomp.dg/omp_orphan.c: Likewise
13531 * testsuite/libgomp.dg/omp_reduction.c: Likewise
13532 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13533 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13534 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13535 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13536
135372005-07-07 Eric Christopher <echristo@redhat.com>
13538 Diego Novillo <dnovillo@redhat.com>
13539
13540 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13541 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13542 up code.
13543 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13544 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13545 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13546 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13547 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13548 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13549 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13550
135512005-06-13 Diego Novillo <dnovillo@redhat.com>
13552
13553 * TOPLEVEL.patch: Remove.
13554
135552005-05-16 Richard Henderson <rth@redhat.com>
13556
13557 * configure.ac: Test for clock_gettime.
13558 * config.h.in, configure: Rebuild.
13559 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13560 (omp_get_wtime): Use clock_gettime if available.
13561 (omp_get_wtick): Use clock_getres if available.
13562
135632005-05-11 Richard Henderson <rth@redhat.com>
13564
13565 * config/linux/ia64/futex.h: New file.
13566 * configure.tgt: Use it.
13567
13568 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13569
135702005-05-07 Richard Henderson <rth@redhat.com>
13571
13572 * config/linux/powerpc/futex.h: New file.
13573 * configure.tgt: Use it.
13574
13575 * config/linux/i486/futex.h: Merge ...
13576 * config/linux/x86_64/futex.h: ... into ...
13577 * config/linux/x86/futex.h: ... here.
13578 * configure.tgt: Update to match.
13579
135802005-05-06 Richard Henderson <rth@redhat.com>
13581
13582 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13583 * config/linux/i486/futex.h: Likewise.
13584 * config/linux/x86_64/futex.h: Likewise.
13585
13586 * config/linux/lock.c: New file.
13587 * config/linux/omp-lock.h: New file.
13588
13589 * critical.c, env.h: Don't include omp.h
13590 * config/posix/lock.c: Include libgomp.h instead of omp.h.
13591 * config/posix/time.c: Likewise.
13592 * config/posix/omp-lock.h: New file.
13593 * libgomp.h: Include omp-lock.h and omp.h.
13594 * Makefile.am (nodist_include_HEADERS): New.
13595 (omp.h): New rule.
13596 * configure.ac (PERL): New.
13597 * mkomp_h.pl: New file.
13598 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13599 with templates.
13600 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13601
13602 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13603 build directory. Re-add -march=i486 hack.
13604
13605 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13606 (libgomp_link_flags): Remove.
13607 (libgomp_initialized): Remove.
13608 (libgomp_init): Don't protect from reinitialization. Copy code
13609 from libstdc++ for getting the multilib set correctly.
13610
136112005-05-05 Richard Henderson <rth@redhat.com>
13612
13613 * config/linux/alpha/futex.h: New file.
13614 * configure.tgt (alpha*-*-linux*): Use it.
13615
13616 * config/posix/mutex.c: New file.
13617 * config/posix/sem.c: Use libgomp.h.
13618
13619 * configure.tgt (x86_64-linux): Also test CC for -m32.
13620 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13621
a1daed2d 13622 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
13623 after $gccpath.
13624
13625 * Makefile.am (SUBDIRS): New.
13626 (libgomp_la_LDFLAGS): Add -lpthread.
13627 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13628 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13629
13630 * libgomp_g.h: New file.
13631 * libgomp.h: Split out all public declarations to libgomp_g.h.
13632 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13633 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13634 * config/linux/sem.h: Likewise.
13635 * config/posix/sem.h: Likewise.
13636
13637 * Makefile.am (AM_LDFLAGS): New.
13638 (libgomp_version_script): Split out from ...
13639 (libgomp_la_LDFLAGS): ... here.
13640 (libgomp_version_info): New.
13641 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13642 (LIBGOMP_ENABLE): New.
13643 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13644 (LIBGOMP_ENABLE_SYMVERS): New.
13645 * configure.ac (AC_INIT): Version 1.0.
13646 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13647 (enable-linux-futex): Likewise. Rename from enable-futex.
13648 (libtool_VERSION): New.
13649 (LIBGOMP_ENABLE_SYMVERS): Use it.
13650 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13651 * Makefile.in, aclocal.m4, configure: Rebuild.
13652
13653 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13654 (gomp_mutex_unlock_slow): Fix typo.
13655 * config/linux/sem.c: Similarly.
13656 (gomp_sem_post_slow): Fix typo.
13657 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13658 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13659 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13660
13661 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13662 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13663 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13664 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13665 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13666 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13667 LDFLAGS. Pull enable_futex check to top-level.
13668 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13669 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13670
13671 First attempt at real configury.
13672 * Makefile, config.h: Remove file.
13673 * Makefile.am, Makefile.in: New file.
13674 * acinclude.m4 aclocal.m4: New file.
13675 * configure.ac, configure.tgt, configure: New file.
13676
13677 * config/posix/lock.c: Rename from sys-lock.c.
13678 * config/posix/mutex.h: Rename from sys-mutex.h.
13679 * config/posix/sem.c: Rename from sys-sem.c.
13680 * config/posix/sem.h: Rename from sys-sem.h.
13681 * config/posix/proc.c: Rename from sys-proc.c.
13682 * config/posix/time.c: Rename from sys-proc.c.
13683
13684 * config/linux/mutex.c: New file.
13685 * config/linux/mutex.h: New file.
13686 * config/linux/sem.c: New file.
13687 * config/linux/sem.h: New file.
13688 * config/linux/i486/futex.h: New file.
13689 * config/linux/x86_64/futex.h: New file.
13690
136912005-05-04 Richard Henderson <rth@redhat.com>
13692
13693 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13694 * libgomp.h: Declare them.
13695 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13696 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13697
136982005-05-04 Richard Henderson <rth@redhat.com>
13699
13700 * libgomp-1 code drop
13701
137022005-05-04 Richard Henderson <rth@redhat.com>
13703
13704 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13705 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13706 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13707 (gomp_iter_static_next): Update.
13708 (gomp_ordered_static_next): Update.
13709 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13710 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13711 totally empty range.
13712 (gomp_loop_ordered_static_next): Refine test for calling
13713 gomp_ordered_static_next.
13714 * testsuite/ordered-1.c: Add case for more threads than iterations.
13715
13716 * iter.c (gomp_iter_runtime_next_locked): Remove.
13717 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 13718 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
13719 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13720 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13721 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13722 gomp_loop_ordered_guided_next): Downcase name, make static, add
13723 an external alias with the old name.
13724 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13725 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13726 switch and call one of the above static functions.
13727 * libgomp.h: Update.
13728
13729 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13730 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13731 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13732 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13733 GOMP_loop_ordered_guided_start): Update to match.
13734 * sections.c (GOMP_sections_start): Likewise.
13735 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13736
13737 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13738 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13739 Use bounds check instead of modulus.
13740 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13741 (gomp_ordered_last): Don't sync with ordered_owner here.
13742 (gomp_ordered_next): Likewise.
13743 (gomp_ordered_static_loop_next): Likewise.
13744 * loop.c, libgomp.h: Update to match.
13745
13746 * libgomp.h (GOMP_barrier): Declare.
13747
13748 * testsuite/barrier-1.c: New file.
13749 * testsuite/critical-1.c: New file.
13750 * testsuite/ordered-2.c: New file.
13751 * testsuite/ordered-1.c: New file.
13752 * testsuite/sections-1.c: New file.
13753 * testsuite/single-1.c: New file.
13754 * testsuite/Makefile (TESTS): Add them.
13755
137562005-05-04 Richard Henderson <rth@redhat.com>
13757
13758 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13759 * loop.c (GOMP_loop_static_start): If not the startup thread,
13760 acquire the mutex to wait for initialization complete.
13761 (GOMP_loop_ordered_static_start): Likewise.
13762 (GOMP_loop_ordered_runtime_start): Likewise.
13763 (GOMP_loop_ordered_static_first): Remove.
13764 (GOMP_loop_ordered_dynamic_first): Remove.
13765 (GOMP_loop_ordered_guided_first): Remove.
13766 (GOMP_loop_ordered_runtime_first): Remove.
13767 * ordered.c (gomp_ordered_loop_first): Post to own release when
13768 we're the first thread.
13769 (gomp_ordered_loop_last): Wait on release if not owner.
13770 (gomp_ordered_loop_next): Likewise.
13771 (gomp_ordered_static_loop_init): New.
13772 (gomp_ordered_static_loop_next): Use ordered_owner.
13773 (GOMP_ordered_start): Likewise.
13774 * work.c (gomp_new_work_share): Initialize ordered_owner.
13775
137762005-05-03 Richard Henderson <rth@redhat.com>
13777
13778 * Makefile (OPT): New.
13779 (CFLAGS): Use it.
13780
13781 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13782 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13783 * libgomp.h, libgomp.map, NOTES: Update to match.
13784
13785 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13786 Add initialized and thr members.
13787 (gomp_thread_start): Pause when initially spawned to wait for
13788 the whole team to be created.
13789 (gomp_team_start): Release team members at the end.
13790
13791 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13792 (f_foo_1): Use GOMP_loop_end.
13793 (f_foo_2): Use GOMP_loop_end_nowait.
13794
13795 * testsuite/loop-2.c: New file.
13796 * testsuite/Makefile (TESTS): Add it.
13797
137982005-05-03 Richard Henderson <rth@redhat.com>
13799
13800 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13801 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13802 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13803 initial work_share.
13804
13805 * testsuite/Makefile: New file.
13806 * testsuite/loop-1.c: New file.
13807
138082005-05-03 Richard Henderson <rth@redhat.com>
13809
13810 Initial implementation and checkin.
21fa2a29 13811\f
8d9254fc 13812Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
13813
13814Copying and distribution of this file, with or without modification,
13815are permitted in any medium without royalty provided the copyright
13816notice and this notice are preserved.