12016-06-03  Release Manager
2
3	* GCC 5.4.0 released.
4
52016-04-07  Thomas Schwinge  <thomas@codesourcery.com>
6
7	Backport trunk r234428:
8
9	2016-03-23  James Norris  <jnorris@codesourcery.com>
10		    Daichi Fukuoka <dc-fukuoka@sgi.com>
11
12	PR libgomp/69414
13	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
14	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
15	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
17
182016-02-16  Tom de Vries  <tom@codesourcery.com>
19
20	backport from trunk:
21	PR lto/67709
22	2016-02-16  Tom de Vries  <tom@codesourcery.com>
23
24	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
25
262016-02-10  Jakub Jelinek  <jakub@redhat.com>
27
28	Backported from mainline
29	2016-01-07  Jakub Jelinek  <jakub@redhat.com>
30
31	PR middle-end/68960
32	* testsuite/libgomp.c/pr68960.c: New test.
33
342016-01-26  Tom de Vries  <tom@codesourcery.com>
35
36	PR tree-optimization/69110
37	* testsuite/libgomp.c/pr69110.c: New test.
38
392016-01-14  Dominique d'Humieres <dominiq@lps.ens.fr>
40
41	PR fortran/66680
42	* testsuite/libgomp.fortran/pr66680.f90: New test.
43
442015-12-04  Release Manager
45
46	* GCC 5.3.0 released.
47
482015-11-26  David Edelsohn  <dje.gcc@gmail.com>
49
50	* configure: Regenerate.
51
522015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
53
54	Backport from mainline:
55
56	2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
57
58	PR libgomp/67141
59	* oacc-int.h (goacc_host_init): Add declaration.
60	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
61	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
62
632015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
64
65	PR libgomp/66761
66	PR libgomp/67303
67	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
68	(gomp_iter_guided_next): Idem.
69	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
70	(gomp_iter_ull_guided_next): Idem.
71	* config/linux/wait.h (do_spin): Idem.
72
732015-07-16  Release Manager
74
75	* GCC 5.2.0 released.
76
772015-07-15  Thomas Schwinge  <thomas@codesourcery.com>
78
79	Backport trunk r225560:
80
81	2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
82
83	PR libgomp/65099
84	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
85	in a 64-bit configuration.
86	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
87	offloading testing if no such device is available.
88	* testsuite/libgomp.oacc-c/c.exp: Likewise.
89	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
90
91	Backport trunk r223801:
92
93	2015-05-28  Julian Brown  <julian@codesourcery.com>
94
95	PR libgomp/65742
96
97	* oacc-init.c (plugin/plugin-host.h): Include.
98	(acc_on_device): Check whether we're in an offloaded region for
99	host_nonshm
100	plugin. Don't use __builtin_acc_on_device.
101	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
102	nonshm_exec flag in thread-local data.
103	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
104	data for host_nonshm plugin.
105	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
106	for host_nonshm plugin.
107	* plugin/plugin-host.h: New.
108
1092015-06-30  Jakub Jelinek  <jakub@redhat.com>
110
111	PR middle-end/66702
112	* testsuite/libgomp.c++/pr66702-1.C: New test.
113	* testsuite/libgomp.c++/pr66702-2.C: New test.
114
1152015-05-22  Jakub Jelinek  <jakub@redhat.com>
116
117	Backported from mainline
118	2015-05-19  Jakub Jelinek  <jakub@redhat.com>
119
120	PR middle-end/66199
121	* testsuite/libgomp.c/pr66199-1.c: New test.
122	* testsuite/libgomp.c/pr66199-2.c: New test.
123	* testsuite/libgomp.c++/pr66199-1.C: New test.
124	* testsuite/libgomp.c++/pr66199-2.C: New test.
125	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
126	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
127
128	2015-05-13  Jakub Jelinek  <jakub@redhat.com>
129
130	PR middle-end/66133
131	* testsuite/libgomp.c/pr66133.c: New test.
132
1332015-04-22  Release Manager
134
135	* GCC 5.1.0 released.
136
1372015-04-08  Julian Brown  <julian@codesourcery.com>
138
139	* libgomp.h (target_mem_desc: Remove mem_map field.
140	(acc_dispatch_t): Remove open_device_func, close_device_func,
141	get_device_num_func, set_device_num_func, target_data members.
142	Change create_thread_data_func argument to device number instead of
143	generic pointer.
144	* oacc-async.c (assert.h): Include.
145	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
146	(acc_wait_all, acc_wait_all_async): Use current host thread's
147	active device, not base_dev.
148	* oacc-cuda.c (acc_get_current_cuda_device)
149	(acc_get_current_cuda_context, acc_get_cuda_stream)
150	(acc_set_cuda_stream): Likewise.
151	* oacc-host.c (host_dispatch): Don't set open_device_func,
152	close_device_func, get_device_num_func or set_device_num_func.
153	* oacc-init.c (base_dev, init_key): Remove.
154	(cached_base_dev): New.
155	(name_of_acc_device_t): New.
156	(acc_init_1): Initialise default-numbered device, not zeroth.
157	(acc_shutdown_1): Close all devices of a given type.
158	(goacc_destroy_thread): Don't use base_dev.
159	(lazy_open, lazy_init, lazy_init_and_open): Remove.
160	(goacc_attach_host_thread_to_device): New.
161	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
162	(acc_get_num_devices): Don't use base_dev.
163	(acc_set_device_type): Reimplement.
164	(acc_get_device_type): Don't use base_dev.
165	(acc_get_device_num): Tweak logic.
166	(acc_set_device_num): Likewise.
167	(acc_on_device): Use acc_get_device_type.
168	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
169	(goacc_lazy_initialize): Reimplement with acc_init and
170	goacc_attach_host_thread_to_device.
171	* oacc-int.h (goacc_thread): Add base_dev field.
172	(base_dev): Remove extern declaration.
173	(goacc_attach_host_thread_to_device): Add prototype.
174	* oacc-mem.c (acc_malloc): Use current thread's device instead of
175	base_dev.
176	(acc_free): Likewise.
177	(acc_memcpy_to_device): Likewise.
178	(acc_memcpy_from_device): Likewise.
179	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
180	goacc_lazy_initialize (throughout).
181	(GOACC_parallel): Use tgt_offset to locate target functions.
182	* target.c (gomp_map_vars): Don't set tgt->mem_map.
183	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
184	(gomp_load_plugin_for_device): Remove open_device, close_device,
185	get_device_num, set_device_num openacc hook initialisation. Don't set
186	openacc.target_data.
187	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
188	(GOMP_OFFLOAD_openacc_close_device)
189	(GOMP_OFFLOAD_openacc_get_device_num)
190	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
191	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
192	to int.
193	* plugin/plugin-nvptx.c (ptx_inited): Remove.
194	(instantiated_devices, ptx_dev_lock): New.
195	(struct ptx_image_data): New.
196	(ptx_devices, ptx_images, ptx_image_lock): New.
197	(fini_streams_for_device): Reorder cuStreamDestroy call.
198	(nvptx_get_num_devices): Remove forward declaration.
199	(nvptx_init): Change return type to bool.
200	(nvptx_fini): Remove.
201	(nvptx_attach_host_thread_to_device): New.
202	(nvptx_open_device): Return struct ptx_device* instead of void*.
203	(nvptx_close_device): Change argument type to struct ptx_device*,
204	return type to void.
205	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
206	(kernel_target_data, kernel_host_table): Remove static globals.
207	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
208	(GOMP_OFFLOAD_init_device): Reimplement.
209	(GOMP_OFFLOAD_fini_device): Likewise.
210	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
211	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
212	(GOMP_OFFLOAD_host2dev): Use ORD argument.
213	(GOMP_OFFLOAD_openacc_open_device)
214	(GOMP_OFFLOAD_openacc_close_device)
215	(GOMP_OFFLOAD_openacc_set_device_num)
216	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
217	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
218	(device number).
219
220	testsuite/
221	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
222
2232015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
224
225	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
226	* libgomp.h (struct gomp_memory_mapping): Remove.
227	(struct target_mem_desc): Change type of mem_map from
228	gomp_memory_mapping * to splay_tree_s *.
229	(struct gomp_device_descr): Remove register_image_func, get_table_func.
230	Add load_image_func, unload_image_func.
231	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
232	Remove offload_regions_registered.
233	(gomp_init_tables): Remove.
234	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
235	to splay_tree_s *.
236	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
237	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
238	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
239	offload_regions_registered.
240	Initialize load_image_func, unload_image_func, mem_map.root.
241	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
242	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
243	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
244	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
245	gomp_memory_mapping *.  Use dev's lock and splay_tree.
246	(lookup_dev): Use dev's lock.
247	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
248	(acc_is_present): Likewise.
249	(acc_map_data): Likewise.
250	(acc_unmap_data): Likewise.  Use dev's lock.
251	(present_create_copy): Likewise.
252	(delete_copyout): Pass dev to lookup_host instead of mem_map.
253	(update_dev_host): Likewise.
254	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
255	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
256	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
257	(GOMP_OFFLOAD_get_table): Remove
258	(GOMP_OFFLOAD_load_image): New function.
259	(GOMP_OFFLOAD_unload_image): New function.
260	* target.c (register_lock): New mutex for offload image registration.
261	(num_devices): Do not guard with PLUGIN_SUPPORT.
262	(gomp_realloc_unlock): New static function.
263	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
264	before gomp_fatal.
265	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
266	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
267	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
268	mem_map's.
269	(gomp_unmap_vars): Likewise.
270	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
271	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
272	(gomp_offload_image_to_device): New static function.
273	(GOMP_offload_register): Add mutex lock.
274	Call gomp_offload_image_to_device for all initialized devices.
275	Replace gomp_realloc with gomp_realloc_unlock.
276	(GOMP_offload_unregister): New function.
277	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
278	get_table_func from the plugin with calls to init_device_func and
279	gomp_offload_image_to_device.
280	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
281	to splay_tree_s *.
282	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
283	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
284	(GOMP_target_data): Do not call gomp_init_tables.
285	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
286	(gomp_load_plugin_for_device): Replace register_image and get_table
287	with load_image and unload_image in DLSYM ().
288	(gomp_register_images_for_device): Remove function.
289	(gomp_target_init): Do not initialize current_device.mem_map.*,
290	current_device.offload_regions_registered.
291	Remove call to gomp_register_images_for_device.
292	Do not free offload_images and num_offload_images.
293
2942015-03-30  Jakub Jelinek  <jakub@redhat.com>
295
296	PR fortran/65597
297	* testsuite/libgomp.fortran/pr65597.f90: New test.
298
2992015-03-27  Tom de Vries  <tom@codesourcery.com>
300
301	PR testsuite/65594
302	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
303	(init, check): New function.
304	(foo): Change return type to void.
305	(main): Call init and check.
306
3072015-03-27  Tom de Vries  <tom@codesourcery.com>
308
309	PR testsuite/65594
310	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
311	(foo): Use M for non-inner loops to scale down test-case.
312
3132015-03-25  Kai Tietz  <ktietz@redhat.com>
314
315	PR libgomp/64972
316	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
317	(GOACC_data_start): Likewise.
318	* target.c (gomp_map_vars): Likewise.
319
3202015-03-21  John David Anglin  <danglin@gcc.gnu.org>
321
322	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
323	hppa*-*-hpux*.
324
3252015-03-19  Jakub Jelinek  <jakub@redhat.com>
326
327	* testsuite/libgomp.c/target-10.c: New test.
328	* testsuite/libgomp.c++/target-4.C: New test.
329
3302015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
331
332	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
333	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
334
3352015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
336
337	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
338	* configure.ac (*-*-rtems*): Assume Pthread is supported.
339	(pthread.h): Check for this header file.
340	* configure: Regenerate.
341
3422015-02-25  Tom de Vries  <tom@codesourcery.com>
343
344	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
345	(check_reduction_op, check_reduction_macro, max, min):
346	Declare.
347	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
348	function.
349	(main): Use new functions.
350
3512015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
352
353	* target.c (gomp_load_plugin_for_device): Use const char * instead of
354	char * for variables holding dlerror return values.
355	(DLSYM_OPT): Ditto.
356
3572015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
358
359	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
360
3612015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
362	    Cesar Philippidis  <cesar@codesourcery.com>
363
364	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
365	GOACC_ctaid, and GOACC_nctaid routines.
366
3672015-02-11  Jakub Jelinek  <jakub@redhat.com>
368
369	PR c/64824
370	* testsuite/libgomp.c/atomic-18.c: New test.
371	* testsuite/libgomp.c++/atomic-16.C: New test.
372
3732015-02-04  Jakub Jelinek  <jakub@redhat.com>
374
375	PR c/64824
376	PR c/64868
377	* testsuite/libgomp.c/pr64824.c: New test.
378	* testsuite/libgomp.c/pr64868.c: New test.
379	* testsuite/libgomp.c++/pr64824.C: New test.
380	* testsuite/libgomp.c++/pr64868.C: New test.
381
3822015-02-01  David Edelsohn  <dje.gcc@gmail.com>
383
384	PR libgomp/64635
385	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
386	Link with -lpthread.
387	* config/aix/plugin-suffix.h: Delete.
388
3892015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
390
391	PR libgomp/64635
392	* configure.tgt (*-*-aix*): Use config_path "aix posix".
393	(*-*-darwin*): Use config_path "bsd darwin posix".
394	(*-*-hpux*): Use config_path "hpux posix".
395	* target.c: Add include of plugin-suffix.h and use
396	SONAME_SUFFIX macro.
397	* config/aix/plugin-suffix.h: New file.
398	* config/darwin/plugin-suffix.h: New file.
399	* config/hpux/plugin-suffix.h: New file.
400	* config/posix/plugin-suffix.h: New file.
401
4022015-01-23  Jakub Jelinek  <jakub@redhat.com>
403
404	PR middle-end/64734
405	* libgomp.c/pr64734.c: New test.
406
4072015-01-23  Tom de Vries  <tom@codesourcery.com>
408
409	PR libgomp/64672
410	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
411
4122015-01-23  Tom de Vries  <tom@codesourcery.com>
413
414	PR libgomp/64707
415	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
416	dg-options.
417
4182015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
419
420	PR libgomp/64625
421	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
422	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
423	formal parameter.  Update all users.
424	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
425	Document unused formal parameter.
426
4272015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
428
429	* oacc-parallel.c: Don't include <alloca.h>.
430	(GOACC_parallel): Use gomp_alloca instead of alloca.
431
4322015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
433
434	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
435
4362015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
437	    James Norris  <jnorris@codesourcery.com>
438	    Tom de Vries  <tom@codesourcery.com>
439	    Julian Brown  <julian@codesourcery.com>
440	    Cesar Philippidis  <cesar@codesourcery.com>
441	    Nathan Sidwell  <nathan@codesourcery.com>
442	    Tobias Burnus  <burnus@net-b.de>
443
444	* Makefile.am (search_path): Add $(top_srcdir)/../include.
445	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
446	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
447	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
448	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
449	Include $(top_srcdir)/plugin/Makefrag.am.
450	(nodist_libsubinclude_HEADERS): Add openacc.h.
451	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
452	openacc.f90, openacc.mod, openacc_kinds.mod.
453	(omp_lib.mod): Generalize into...
454	(%.mod): ... this new rule.
455	(openacc_kinds.mod, openacc.mod): New rules.
456	* plugin/configfrag.ac: New file.
457	* configure.ac: Move plugin/offloading support into it.  Include
458	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
459	* plugin/Makefrag.am: New file.
460	* testsuite/Makefile.am (OFFLOAD_TARGETS)
461	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
462	export.
463	(libgomp-test-support.exp): New rule.
464	(all-local): Depend on it.
465	* Makefile.in: Regenerate.
466	* testsuite/Makefile.in: Regenerate.
467	* config.h.in: Likewise.
468	* configure: Likewise.
469	* configure.tgt: Harden shell syntax.
470	* env.c: Include "oacc-int.h".
471	(parse_acc_device_type): New function.
472	(gomp_debug_var, goacc_device_type, goacc_device_num): New
473	variables.
474	(initialize_env): Initialize those.  Call
475	goacc_runtime_initialize.
476	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
477	(gomp_fatal): Call gomp_vfatal.
478	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
479	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
480	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
481	(splay_tree_node, splay_tree, splay_tree_key)
482	(struct target_mem_desc, struct splay_tree_key_s)
483	(struct gomp_memory_mapping, struct acc_dispatch_t)
484	(struct gomp_device_descr, gomp_acc_insert_pointer)
485	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
486	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
487	(gomp_free_memmap, gomp_fini_device): New declarations.
488	(gomp_vdebug, gomp_debug): New macros.
489	Include "splay-tree.h".
490	* libgomp.map (OACC_2.0): New symbol version.  Use for
491	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
492	acc_set_device_type_h_, acc_get_device_type,
493	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
494	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
495	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
496	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
497	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
498	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
499	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
500	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
501	acc_copyin_array_h_, acc_present_or_copyin,
502	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
503	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
504	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
505	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
506	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
507	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
508	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
509	acc_update_device, acc_update_device_32_h_,
510	acc_update_device_64_h_, acc_update_device_array_h_,
511	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
512	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
513	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
514	acc_is_present_64_h_, acc_is_present_array_h_,
515	acc_memcpy_to_device, acc_memcpy_from_device,
516	acc_get_current_cuda_device, acc_get_current_cuda_context,
517	acc_get_cuda_stream, acc_set_cuda_stream.
518	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
519	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
520	GOACC_update, GOACC_wait, GOACC_get_thread_num,
521	GOACC_get_num_threads.
522	(GOMP_PLUGIN_1.0): New symbol version.  Use for
523	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
524	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
525	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
526	GOMP_PLUGIN_acc_thread.
527	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
528	environment variable.
529	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
530	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
531	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
532	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
533	(splay_tree_remove): New declarations.
534	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
535	(splay_tree_remove, splay_tree_lookup): Move into...
536	* splay-tree.c: ... this new file.
537	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
538	(splay_tree_node, splay_tree, splay_tree_key)
539	(struct target_mem_desc, struct splay_tree_key_s)
540	(struct gomp_device_descr): Don't declare.
541	(num_devices_openmp): New variable.
542	(gomp_get_num_devices ): Use it.
543	(gomp_init_targets_once): New function.
544	(gomp_get_num_devices ): Use it.
545	(get_kind, gomp_copy_from_async, gomp_free_memmap)
546	(gomp_fini_device, gomp_register_image_for_device): New functions.
547	(gomp_map_vars): Add devaddrs parameter.
548	(gomp_update): Add mm parameter.
549	(gomp_init_device): Move most of it into...
550	(gomp_init_tables): ... this new function.
551	(gomp_register_images_for_device): Remove function.
552	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
553	Make them hidden instead of static.
554	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
555	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
556	(GOMP_target_end_data, GOMP_target_update)
557	(gomp_load_plugin_for_device, gomp_target_init): Update for
558	OpenACC changes.
559	* oacc-async.c: New file.
560	* oacc-cuda.c: Likewise.
561	* oacc-host.c: Likewise.
562	* oacc-init.c: Likewise.
563	* oacc-int.h: Likewise.
564	* oacc-mem.c: Likewise.
565	* oacc-parallel.c: Likewise.
566	* oacc-plugin.c: Likewise.
567	* oacc-plugin.h: Likewise.
568	* oacc-ptx.h: Likewise.
569	* openacc.f90: Likewise.
570	* openacc.h: Likewise.
571	* openacc_lib.h: Likewise.
572	* plugin/plugin-host.c: Likewise.
573	* plugin/plugin-nvptx.c: Likewise.
574	* libgomp-plugin.c: Likewise.
575	* libgomp-plugin.h: Likewise.
576	* libgomp_target.h: Remove file after merging content into the
577	former file.  Update all users.
578	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
579	(offload_targets_s, offload_targets_s_openacc): New variables.
580	(check_effective_target_openacc_nvidia_accel_present)
581	(check_effective_target_openacc_nvidia_accel_selected): New
582	procedures.
583	(libgomp_init): Update for OpenACC changes.
584	* testsuite/libgomp-test-support.exp.in: New file.
585	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
586	* testsuite/libgomp.oacc-c/c.exp: Likewise.
587	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
588	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
589	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
590	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
591	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
592	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
593	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
594	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
595	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
596	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
597	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
598	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
599	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
600	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
601	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
602	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
603	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
604	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
605	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
606	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
607	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
608	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
609	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
610	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
611	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
612	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
613	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
614	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
615	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
616	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
617	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
618	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
619	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
620	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
621	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
622	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
623	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
624	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
625	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
626	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
627	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
628	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
629	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
630	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
631	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
632	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
633	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
634	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
635	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
636	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
637	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
638	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
639	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
640	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
641	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
642	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
643	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
644	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
645	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
646	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
647	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
648	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
649	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
650	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
651	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
652	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
653	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
654	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
655	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
656	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
657	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
658	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
659	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
660	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
661	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
662	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
663	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
664	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
665	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
666	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
667	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
668	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
669	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
670	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
671	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
672	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
673	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
674	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
675	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
676	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
677	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
678	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
679	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
680	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
681	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
682	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
683	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
684	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
685	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
686	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
687	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
688	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
689	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
690	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
691	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
692	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
693	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
694	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
695	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
696	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
697	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
698	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
699	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
700	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
701	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
702	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
703	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
704	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
705	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
706	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
707	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
708	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
709	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
710	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
711	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
712	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
713	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
714	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
715	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
716	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
717	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
718	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
719	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
720	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
721	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
722	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
723	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
724	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
725	Likewise.
726	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
727	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
728	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
729	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
730	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
731	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
732	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
733	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
734	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
735	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
736	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
737	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
738	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
739	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
740	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
741	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
742	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
743	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
744	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
745	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
746	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
747	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
748	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
749	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
750	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
751	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
752	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
753	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
754	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
755	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
756	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
757	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
758	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
759	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
760	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
761	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
762	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
763	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
764	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
765	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
766	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
767	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
768	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
769	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
770	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
771	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
772	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
773	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
774	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
775	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
776	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
777	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
778	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
779	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
780	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
781	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
782	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
783	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
784	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
785	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
786
7872015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
788	    Julian Brown  <julian@codesourcery.com>
789	    David Malcolm  <dmalcolm@redhat.com>
790
791	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
792	to "GNU Offloading and Multi Processing Runtime Library".  Change
793	all users.
794	* configure: Regenerate.
795	* libgomp.texi: Update.
796
7972015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
798
799	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
800	"$tgt_dir/lib32".
801	* configure: Regenerate.
802
803	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
804	"intelmic" in $offload_targets.
805
8062015-01-05  Jakub Jelinek  <jakub@redhat.com>
807
808	Update copyright years.
809
810	* libgomp.texi: Bump @copying's copyright year.
811
8122014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
813
814	* testsuite/lib/libgomp.exp: Load target-utils.exp.
815	Move load of target-supportes.exp earlier.
816
8172014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
818
819	* testsuite/libgomp.c/target-9.c: New test.
820
8212014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
822
823	* config.h.in: Regenerate.
824	* configure: Regenerate.
825	* configure.ac: Add GCC_CHECK_EMUTLS.
826	* libgomp.h: Add check for USE_EMUTLS: this case
827	is equal to HAVE_TLS.
828	* team.c: Likewise.
829
8302014-12-03  Uros Bizjak  <ubizjak@gmail.com>
831
832	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
833
8342014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
835	    Ilya Verbin  <ilya.verbin@intel.com>
836
837	* testsuite/libgomp.c/target-critical-1.c: New test.
838
8392014-11-26  Jakub Jelinek  <jakub@redhat.com>
840
841	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
842	to dg-options unless expensive testing is on.
843	(TESTITERS): Define to N if not defined.
844	(main): Use TESTITERS instead of N.
845	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
846	dg-additional-options depending on whether expensive testing is on.
847	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
848	Decrease N to 100000 and CHUNKSZ to 10000.
849
8502014-11-24  Jakub Jelinek  <jakub@redhat.com>
851
852	PR fortran/63938
853	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
854	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
855
8562014-11-21  Steve Ellcey  <sellcey@imgtec.com>
857
858	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
859
8602014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
861
862	PR bootstrap/63784
863	* configure: Regenerated.
864
8652014-11-19  Uros Bizjak  <ubizjak@gmail.com>
866
867	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
868	vect_simd_clones effective target.
869	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
870
8712014-11-14  Jakub Jelinek  <jakub@redhat.com>
872
873	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
874	of 32 as block_size.
875	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
876	instead of 32 as block_size.
877
8782014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
879	    Ilya Verbin  <ilya.verbin@intel.com>
880
881	* Makefile.in: Regenerate.
882	* configure: Regenerate.
883	* configure.ac: Set up offload_additional_options,
884	offload_additional_lib_paths and offload_targets.
885	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
886	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
887	* testsuite/Makefile.in: Regenerate.
888	* testsuite/lib/libgomp.exp (libgomp_init): Append
889	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
890	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
891	build directory to LD_LIBRARY_PATH for intelmic offload targets.
892
8932014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
894	    Ilya Verbin  <ilya.verbin@intel.com>
895	    Kirill Yukhin  <kirill.yukhin@intel.com>
896	    Ilya Tocar  <ilya.tocar@intel.com>
897
898	* testsuite/lib/libgomp.exp
899	(check_effective_target_offload_device): New.
900	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
901	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
902	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
903	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
904	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
905	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
906	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
907	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
908	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
909	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
910	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
911	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
912	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
913	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
914	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
915	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
916	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
917	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
918	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
919	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
920	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
921	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
922	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
923	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
924	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
925	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
926	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
927	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
928	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
929	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
930	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
931	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
932	* testsuite/libgomp.c/target-7.c: Fix test.
933	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
934	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
935	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
936	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
937	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
938	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
939	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
940	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
941	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
942	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
943	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
944	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
945	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
946	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
947	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
948	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
949	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
950	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
951	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
952	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
953	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
954	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
955	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
956	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
957	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
958	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
959	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
960	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
961	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
962	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
963	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
964
9652014-11-13  Jakub Jelinek  <jakub@redhat.com>
966	    Ilya Verbin  <ilya.verbin@intel.com>
967	    Thomas Schwinge  <thomas@codesourcery.com>
968	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
969
970	* libgomp.map (GOMP_4.0.1): New symbol version.
971	Add GOMP_offload_register.
972	* libgomp_target.h: New file.
973	* splay-tree.h: New file.
974	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
975	(gomp_target_init): New forward declaration.
976	(gomp_is_initialized): New static variable.
977	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
978	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
979	New structures.
980	(offload_images, num_offload_images, devices, num_devices): New static
981	variables.
982	(splay_compare): New static function.
983	(struct gomp_device_descr): New structure.
984	(gomp_get_num_devices): Call gomp_target_init.
985	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
986	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
987	(GOMP_offload_register): New function.
988	(GOMP_target): Arrange for host callback to be performed in a separate
989	initial thread and contention group, inheriting ICVs from
990	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
991	Add device initialization and lookup for target function in splay tree.
992	(GOMP_target_data): Add device initialization and call gomp_map_vars.
993	(GOMP_target_end_data): Call gomp_unmap_vars.
994	(GOMP_target_update): Add device initialization and call gomp_update.
995	(gomp_load_plugin_for_device, gomp_register_images_for_device)
996	(gomp_target_init): New static functions.
997
9982014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
999	    Thomas Schwinge  <thomas@codesourcery.com>
1000	    Ilya Verbin  <ilya.verbin@intel.com>
1001	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
1002
1003	* config.h.in: Regenerate.
1004	* configure: Regenerate.
1005	* configure.ac: Check for libdl, required for plugin support.
1006	(PLUGIN_SUPPORT): Define if plugins are supported.
1007	(enable_offload_targets): Support Intel MIC targets.
1008	(OFFLOAD_TARGETS): List of target names suitable for offloading.
1009
10102014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1011
1012	PR target/63610
1013	* configure: Regenerate.
1014
10152014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1016
1017	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
1018
10192014-10-06  Marek Polacek  <polacek@redhat.com>
1020
1021	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
1022	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
1023	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
1024	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
1025
10262014-10-06  Marek Polacek  <polacek@redhat.com>
1027
1028	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
1029	* testsuite/libgomp.c/nqueens-1.c: Likewise.
1030	* testsuite/libgomp.c/pr26943-3.c: Likewise.
1031	* testsuite/libgomp.c/pr26943-4.c: Likewise.
1032	* testsuite/libgomp.c/pr36802-2.c: Likewise.
1033	* testsuite/libgomp.c/pr36802-3.c: Likewise.
1034	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
1035	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
1036	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
1037	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
1038	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
1039	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
1040	* testsuite/libgomp.c/omp-single-1.c: Likewise.
1041	* testsuite/libgomp.c/omp-single-2.c: Likewise.
1042	* testsuite/libgomp.c/omp_matvec.c: Likewise.
1043	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
1044	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
1045	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
1046	declarations.
1047
10482014-10-03  Jakub Jelinek  <jakub@redhat.com>
1049
1050	PR libgomp/61200
1051	* testsuite/libgomp.c/pr61200.c: New test.
1052
10532014-09-18  Jakub Jelinek  <jakub@redhat.com>
1054
1055	PR c++/63248
1056	* testsuite/libgomp.c++/pr63248.C: New test.
1057
10582014-08-04  Jakub Jelinek  <jakub@redhat.com>
1059
1060	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
1061	is not zero, but taskgroup->children is NULL and there are
1062	any task->children, schedule those instead of waiting.
1063	* testsuite/libgomp.c/depend-6.c: New test.
1064	* testsuite/libgomp.c/depend-7.c: New test.
1065	* testsuite/libgomp.c/depend-8.c: New test.
1066	* testsuite/libgomp.c/depend-9.c: New test.
1067	* testsuite/libgomp.c/depend-10.c: New test.
1068
10692014-08-01  Jakub Jelinek  <jakub@redhat.com>
1070
1071	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
1072	(struct gomp_taskwait): New type.
1073	(struct gomp_task): Add taskwait and parent_depends_on, remove
1074	in_taskwait and taskwait_sem fields.
1075	(gomp_finish_task): Don't destroy taskwait_sem.
1076	* task.c (gomp_init_task): Don't init in_taskwait, instead init
1077	taskwait and parent_depends_on.
1078	(GOMP_task): For if (0) tasks with depend clause that depend on
1079	earlier tasks don't defer them, instead call
1080	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
1081	Initialize redundant_out field, for redundant out entries just
1082	move them at the end of linked list instead of removing them
1083	completely, and set redundant_out flag instead of redundant.
1084	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
1085	that task.
1086	(gomp_task_run_post_handle_dependers): If parent is in
1087	gomp_task_maybe_wait_for_dependencies and newly runnable task
1088	is not parent_depends_on, queue it in parent->children linked
1089	list after all runnable tasks with parent_depends_on set.
1090	Adjust for addition of taskwait indirection.
1091	(gomp_task_run_post_remove_parent): If parent is in
1092	gomp_task_maybe_wait_for_dependencies and task to be removed
1093	is parent_depends_on, decrement n_depend and if needed awake
1094	parent.  Adjust for addition of taskwait indirection.
1095	(GOMP_taskwait): Adjust for addition of taskwait indirection.
1096	(gomp_task_maybe_wait_for_dependencies): New function.
1097	* testsuite/libgomp.c/depend-5.c: New test.
1098
10992014-07-13  Tobias Burnus  <burnus@net-b.de>
1100
1101	* testsuite/libgomp.fortran/pr34020.f90: Make compile
1102	with TS 18508/Fortran 2015.
1103
11042014-07-06  Marek Polacek  <polacek@redhat.com>
1105
1106	PR c/6940
1107	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
1108
11092014-07-03  Jakub Jelinek  <jakub@redhat.com>
1110
1111	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
1112	matches regex $lang_source_re, add $lang_include_flags to options.
1113	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
1114	* testsuite/libgomp.c++/c++.exp: Likewise.
1115	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
1116	and lang_include_flags instead of adding -fintrinsic-modules-path= to
1117	ALWAYS_CFLAGS.
1118	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
1119
11202014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
1121
1122	* testsuite/libgomp.fortran/fortran.exp: Explain
1123	gfortran-dg-runtest usage.
1124
11252014-06-25  Jakub Jelinek  <jakub@redhat.com>
1126
1127	* testsuite/libgomp.fortran/simd5.f90: New test.
1128	* testsuite/libgomp.fortran/simd6.f90: New test.
1129	* testsuite/libgomp.fortran/simd7.f90: New test.
1130
11312014-06-24  Jakub Jelinek  <jakub@redhat.com>
1132
1133	* testsuite/libgomp.c/for-2.c: Define SC to static for
1134	#pragma omp for simd testing.
1135	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
1136	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
1137	SC macro.
1138	* testsuite/libgomp.c/simd-14.c: New test.
1139	* testsuite/libgomp.c/simd-15.c: New test.
1140	* testsuite/libgomp.c/simd-16.c: New test.
1141	* testsuite/libgomp.c/simd-17.c: New test.
1142	* testsuite/libgomp.c++/for-10.C: Define SC to static for
1143	#pragma omp for simd testing.
1144	* testsuite/libgomp.c++/simd10.C: New test.
1145	* testsuite/libgomp.c++/simd11.C: New test.
1146	* testsuite/libgomp.c++/simd12.C: New test.
1147	* testsuite/libgomp.c++/simd13.C: New test.
1148
1149	* testsuite/libgomp.fortran/aligned1.f03: New test.
1150	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
1151	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
1152	tasks with !$omp parallel !$omp single.
1153	* testsuite/libgomp.fortran/target8.f90: New test.
1154	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
1155	not to use trim in the combiner, instead call elemental function.
1156	(fn): New elemental function.
1157	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
1158	Make elemental.
1159	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
1160	omp_in): Likewise.
1161	* testsuite/libgomp.fortran/udr12.f90: New test.
1162	* testsuite/libgomp.fortran/udr13.f90: New test.
1163	* testsuite/libgomp.fortran/udr14.f90: New test.
1164	* testsuite/libgomp.fortran/udr15.f90: New test.
1165
11662014-06-18  Jakub Jelinek  <jakub@redhat.com>
1167
1168	* omp_lib.f90.in (openmp_version): Set to 201307.
1169	* omp_lib.h.in (openmp_version): Likewise.
1170	* testsuite/libgomp.c/target-8.c: New test.
1171	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
1172	and inbranch clauses.
1173	* testsuite/libgomp.fortran/depend-3.f90: New test.
1174	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
1175	openmp_version.
1176	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1177	* testsuite/libgomp.fortran/target1.f90: New test.
1178	* testsuite/libgomp.fortran/target2.f90: New test.
1179	* testsuite/libgomp.fortran/target3.f90: New test.
1180	* testsuite/libgomp.fortran/target4.f90: New test.
1181	* testsuite/libgomp.fortran/target5.f90: New test.
1182	* testsuite/libgomp.fortran/target6.f90: New test.
1183	* testsuite/libgomp.fortran/target7.f90: New test.
1184
11852014-06-10  Jakub Jelinek  <jakub@redhat.com>
1186
1187	PR fortran/60928
1188	* testsuite/libgomp.fortran/allocatable9.f90: New test.
1189	* testsuite/libgomp.fortran/allocatable10.f90: New test.
1190	* testsuite/libgomp.fortran/allocatable11.f90: New test.
1191	* testsuite/libgomp.fortran/allocatable12.f90: New test.
1192	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
1193	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
1194	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
1195	* testsuite/libgomp.fortran/associate1.f90: New test.
1196	* testsuite/libgomp.fortran/associate2.f90: New test.
1197	* testsuite/libgomp.fortran/procptr1.f90: New test.
1198
11992014-06-06  Jakub Jelinek  <jakub@redhat.com>
1200
1201	* testsuite/libgomp.fortran/simd1.f90: New test.
1202	* testsuite/libgomp.fortran/udr1.f90: New test.
1203	* testsuite/libgomp.fortran/udr2.f90: New test.
1204	* testsuite/libgomp.fortran/udr3.f90: New test.
1205	* testsuite/libgomp.fortran/udr4.f90: New test.
1206	* testsuite/libgomp.fortran/udr5.f90: New test.
1207	* testsuite/libgomp.fortran/udr6.f90: New test.
1208	* testsuite/libgomp.fortran/udr7.f90: New test.
1209	* testsuite/libgomp.fortran/udr8.f90: New test.
1210	* testsuite/libgomp.fortran/udr9.f90: New test.
1211	* testsuite/libgomp.fortran/udr10.f90: New test.
1212	* testsuite/libgomp.fortran/udr11.f90: New test.
1213
12142014-05-27  Uros Bizjak  <ubizjak@gmail.com>
1215
1216	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
1217	vect_simd_clones effective target.
1218	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
1219
12202014-05-21  Jakub Jelinek  <jakub@redhat.com>
1221
1222	PR middle-end/61252
1223	* testsuite/libgomp.c++/simd-9.C: New test.
1224
12252014-05-18  Uros Bizjak  <ubizjak@gmail.com>
1226
1227	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
1228	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
1229	texts according to their @menu entry positions.
1230
12312014-05-11  Jakub Jelinek  <jakub@redhat.com>
1232
1233	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
1234	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
1235	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
1236	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
1237	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
1238	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
1239	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
1240	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
1241	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
1242	* testsuite/libgomp.fortran/depend-1.f90: New test.
1243	* testsuite/libgomp.fortran/depend-2.f90: New test.
1244	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
1245	* testsuite/libgomp.fortran/simd1.f90: New test.
1246	* testsuite/libgomp.fortran/simd2.f90: New test.
1247	* testsuite/libgomp.fortran/simd3.f90: New test.
1248	* testsuite/libgomp.fortran/simd4.f90: New test.
1249	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
1250
12512014-05-02  Jakub Jelinek  <jakub@redhat.com>
1252
1253	* testsuite/libgomp.c/simd-10.c: New test.
1254	* testsuite/libgomp.c/simd-11.c: New test.
1255	* testsuite/libgomp.c/simd-12.c: New test.
1256	* testsuite/libgomp.c/simd-13.c: New test.
1257
12582014-04-24  Jakub Jelinek  <jakub@redhat.com>
1259
1260	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
1261	atomic type clauses in any order and optional comma in between.
1262	* testsuite/libgomp.c++/atomic-15.C: Likewise.
1263	* testsuite/libgomp.c/atomic-17.c: Likewise.
1264
1265	* testsuite/libgomp.c/simd-7.c: New test.
1266	* testsuite/libgomp.c/simd-8.c: New test.
1267	* testsuite/libgomp.c/simd-9.c: New test.
1268	* testsuite/libgomp.c/loop-16.c: New test.
1269
12702014-04-02  Richard Henderson  <rth@redhat.com>
1271
1272	* config/linux/futex.h (futex_wait): Get error value from errno.
1273	(futex_wake): Likewise.
1274
12752014-03-25  Jakub Jelinek  <jakub@redhat.com>
1276
1277	PR c++/60331
1278	* testsuite/libgomp.c++/udr-11.C: New test.
1279	* testsuite/libgomp.c++/udr-12.C: New test.
1280	* testsuite/libgomp.c++/udr-13.C: New test.
1281	* testsuite/libgomp.c++/udr-14.C: New test.
1282	* testsuite/libgomp.c++/udr-15.C: New test.
1283	* testsuite/libgomp.c++/udr-16.C: New test.
1284	* testsuite/libgomp.c++/udr-17.C: New test.
1285	* testsuite/libgomp.c++/udr-18.C: New test.
1286	* testsuite/libgomp.c++/udr-19.C: New test.
1287
12882014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1289
1290	Update copyright years
1291
12922014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1293
1294	* hashtab.h: Use the standard form for the copyright notice.
1295
12962014-01-02  Tobias Burnus  <burnus@net-b.de>
1297
1298	* libgomp.texi: Bump @copying's copyright year.
1299
13002013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
1301
1302	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
1303	alloca () with __builtin_alloca ().
1304	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
1305	* testsuite/libgomp.c/lock-3.c: Likewise.
1306	* testsuite/libgomp.c/pr48591.c: Likewise.
1307
13082013-12-17  Jakub Jelinek  <jakub@redhat.com>
1309
1310	PR testsuite/59534
1311	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
1312	comparisons.
1313
13142013-12-16  Jakub Jelinek  <jakub@redhat.com>
1315
1316	PR libgomp/58756
1317	* testsuite/libgomp.c/pr58756.c: New test.
1318
13192013-12-12  Jakub Jelinek  <jakub@redhat.com>
1320
1321	PR libgomp/59467
1322	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
1323	!$omp parallel.
1324
13252013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
1326
1327	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
1328	ALWAYS_CFLAGS.
1329	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
1330	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1331	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1332	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1333	Likewise.
1334
1335	* libgomp_g.h: Include <stddef.h> for size_t.
1336
1337	* libgomp.spec.in: Update comment about libgomp's dependencies.
1338	* configure.ac: Likewise.
1339	* configure: Regenerate.
1340
13412013-10-16  Tobias Burnus  <burnus@net-b.de>
1342
1343	* libgomp.texi: (Runtime Library Routines): Update references for
1344	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
1345	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
1346	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
1347	(Environment Variables): Update references for OpenMP 4.0. Add
1348	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
1349	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
1350	order.
1351
13522013-10-14  Jakub Jelinek  <jakub@redhat.com>
1353
1354	* env.c (parse_bind_var): Initialize value to avoid
1355	(false positive) warning.
1356
13572013-10-12  Jakub Jelinek  <jakub@redhat.com>
1358
1359	PR libgomp/58691
1360	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
1361	to check variable.
1362	(gomp_init_num_threads): Move i variable declaration into
1363	#ifdef CPU_ALLOC_SIZE block.
1364	* config/linux/affinity.c (gomp_affinity_init_level): Test
1365	gomp_places_list_len == 0 rather than gomp_places_list == 0
1366	when checking for topology reading error.
1367	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
1368	* env.c (parse_affinity): Add ignore argument, if true, don't populate
1369	gomp_places_list, only parse env var and always return false.
1370	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
1371	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
1372	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
1373	and either of these variables were parsed correctly into a places
1374	list.
1375
13762013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
1377	    Jakub Jelinek  <jakub@redhat.com>
1378
1379	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
1380	of 5 loopfn matches.
1381	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1382	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1383	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
1384	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1385	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1386	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1387	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1388	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1389
13902013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
1391
1392	* Makefile.am (omp_lib.mod): Streamline rule.
1393	* Makefile.in: Regenerate.
1394
1395	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
1396	exceptions.
1397
1398	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
1399	* testsuite/libgomp.fortran/lib1.f90: Likewise.
1400	* testsuite/libgomp.fortran/lib2.f: Likewise.
1401	* testsuite/libgomp.fortran/lib3.f: Likewise.
1402
1403	* configure.ac: Typo fix.
1404	* configure: Regenerate.
1405
1406	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
1407	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1408
1409	* omp.h.in: Don't touch the user's namespace.
1410
14112013-10-11  Jakub Jelinek  <jakub@redhat.com>
1412	    Tobias Burnus  <burnus@net-b.de>
1413	    Richard Henderson  <rth@redhat.com>
1414
1415	* target.c: New file.
1416	* Makefile.am (libgomp_la_SOURCES): Add target.c.
1417	* Makefile.in: Regenerated.
1418	* libgomp_g.h (GOMP_task): Add depend argument.
1419	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
1420	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
1421	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
1422	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
1423	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
1424	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
1425	GOMP_taskgroup_start, GOMP_taskgroup_end,
1426	GOMP_parallel_sections): New prototypes.
1427	* fortran.c (omp_is_initial_device): Add ialias_redirect.
1428	(omp_is_initial_device_): New function.
1429	(ULP, STR1, STR2, ialias_redirect): Removed.
1430	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
1431	omp_set_default_device_8_, omp_get_default_device_,
1432	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
1433	functions.
1434	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
1435	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
1436	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
1437	@@GOMP_4.0.
1438	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
1439	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
1440	omp_set_default_device, omp_set_default_device_,
1441	omp_set_default_device_8_, omp_get_default_device,
1442	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
1443	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
1444	omp_get_team_num_): Export @@OMP_4.0.
1445	* team.c (struct gomp_thread_start_data): Add place field.
1446	(gomp_thread_start): Clear thr->thread_pool and
1447	thr->task before returning.  Use gomp_team_barrier_wait_final
1448	instead of gomp_team_barrier_wait.  Initialize thr->place.
1449	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
1450	team_cancelled and task_queued_count fields.
1451	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
1452	before calling pthread_exit.
1453	(gomp_free_thread): No longer static.  Use
1454	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
1455	(gomp_team_start): Add flags argument.  Set
1456	thr->thread_pool->threads_busy to nthreads immediately after creating
1457	new pool.  Use gomp_managed_threads_lock instead of
1458	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
1459	(gomp_team_end): Use gomp_managed_threads_lock instead of
1460	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
1461	of gomp_team_barrier_wait.  If team->team_cancelled, call
1462	gomp_fini_worshare on ws chain starting at team->work_shares_to_free
1463	rather than thr->ts.work_share.
1464	(initialize_team): Don't call gomp_sem_init here.
1465	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
1466	caller.
1467	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
1468	* env.c (gomp_global_icv): Add default_device_var, target_data and
1469	bind_var initializers.
1470	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
1471	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
1472	gomp_places_list_len): New variables.
1473	(parse_bind_var, parse_one_place, parse_places_var): New functions.
1474	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
1475	sized places.
1476	(gomp_cancel_var): New global variable.
1477	(parse_int): New function.
1478	(handle_omp_display_env): New function.
1479	(initialize_env): Use it.  Initialize default_device_var.
1480	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
1481	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
1482	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
1483	been successfully parsed (and call gomp_init_affinity in that case).
1484	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1485	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1486	omp_get_team_num, omp_is_initial_device): New functions.
1487	* libgomp.h: Include stdlib.h.
1488	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
1489	Define.
1490	(struct target_mem_desc): Forward declare.
1491	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
1492	and thread_limit_var fields.
1493	(gomp_get_num_devices): New prototype.
1494	(gomp_cancel_var): New extern decl.
1495	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
1496	team_cancelled and task_queued_count fields.  Add comments about
1497	task_{,queued_,running_}count.
1498	(gomp_cancel_kind): New enum.
1499	(gomp_work_share_end_cancel): New prototype.
1500	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
1501	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
1502	and depend fields.
1503	(struct gomp_taskgroup): New type.
1504	(struct gomp_task_depend_entry,
1505	struct gomp_dependers_vec): New types.
1506	(gomp_finish_task): Free depend_hash if non-NULL.
1507	(struct gomp_team_state): Add place_partition_off
1508	and place_partition_len fields.
1509	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
1510	gomp_places_list_len): New extern decls.
1511	(struct gomp_thread): Add place field.
1512	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
1513	(gomp_init_thread_affinity): Add place argument.
1514	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
1515	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
1516	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
1517	gomp_affinity_init_level, gomp_affinity_print_place): New
1518	prototypes.
1519	(gomp_team_start): Add flags argument.
1520	(gomp_thread_limit_var, gomp_remaining_threads_count,
1521	gomp_remaining_threads_lock): Remove.
1522	(gomp_managed_threads_lock): New variable.
1523	(struct gomp_thread_pool): Add threads_busy field.
1524	(gomp_free_thread): New prototype.
1525	* task.c: Include hashtab.h.
1526	(hash_entry_type): New typedef.
1527	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
1528	(gomp_init_task): Clear dependers, depend_hash, depend_count,
1529	copy_ctors_done and taskgroup fields.
1530	(GOMP_task): Add depend argument, handle depend clauses.  If
1531	gomp_team_barrier_cancelled or if it's taskgroup has been
1532	cancelled, don't queue or start new tasks.  Set copy_ctors_done
1533	field if needed.  Initialize taskgroup field.  If copy_ctors_done
1534	and already cancelled, don't discard the task.  If taskgroup is
1535	non-NULL, enqueue the task into taskgroup queue.  Increment
1536	num_children field in taskgroup.  Increment task_queued_count.
1537	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
1538	gomp_task_run_post_remove_taskgroup): New inline functions.
1539	(gomp_task_run_post_handle_depend_hash,
1540	gomp_task_run_post_handle_dependers,
1541	gomp_task_run_post_handle_depend): New functions.
1542	(GOMP_taskwait): Use them.  If more than one new tasks
1543	have been queued, wake other threads if needed.
1544	(gomp_barrier_handle_tasks): Likewise.  If
1545	gomp_team_barrier_cancelled, don't start any new tasks, just free
1546	all tasks.
1547	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
1548	* omp_lib.f90.in
1549	(omp_proc_bind_kind, omp_proc_bind_false,
1550	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
1551	omp_proc_bind_spread): New params.
1552	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1553	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1554	omp_get_team_num, omp_is_initial_device): New interfaces.
1555	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
1556	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
1557	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
1558	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
1559	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
1560	useless use omp_lib_kinds.
1561	* omp.h.in (omp_proc_bind_t): New typedef.
1562	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1563	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1564	omp_get_team_num, omp_is_initial_device): New prototypes.
1565	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
1566	through to gomp_team_start.
1567	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
1568	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
1569	Adjust gomp_parallel_loop_start callers.
1570	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
1571	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
1572	GOMP_loop_end_cancel): New functions.
1573	(GOMP_parallel_end): Add ialias_redirect.
1574	* hashtab.h: New file.
1575	* libgomp.texi (Environment Variables): Minor cleanup,
1576	update section refs to OpenMP 4.0rc2.
1577	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
1578	environment variables.
1579	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
1580	team->work_shares_to_free to thr->ts.work_share before calling
1581	free_work_share.
1582	(gomp_work_share_end_cancel): New function.
1583	* config/linux/proc.c: Include errno.h.
1584	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
1585	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
1586	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
1587	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
1588	gomp_cpuset_size is sizeof (cpu_set_t).
1589	(gomp_init_num_threads): Initialize gomp_cpuset_size,
1590	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
1591	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
1592	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
1593	contain any logical CPUs.
1594	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
1595	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
1596	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
1597	pthread_getaffinity_np.  Check gomp_places_list instead of
1598	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
1599	* config/linux/bar.c (gomp_barrier_wait_end,
1600	gomp_barrier_wait_last): Use BAR_* defines.
1601	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
1602	from state where needed.  Set work_share_cancelled to 0 on last
1603	thread.
1604	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
1605	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
1606	functions.
1607	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
1608	Add cpusetsize argument.
1609	(gomp_cpuset_size, gomp_cpusetp): Declare.
1610	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
1611	(affinity_counter): Remove.
1612	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
1613	if CPU_ALLOC_SIZE isn't defined.
1614	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
1615	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
1616	bind current thread to the first place.
1617	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
1618	pthread_setaffinity_np to gomp_places_list[place].
1619	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
1620	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
1621	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
1622	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
1623	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
1624	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
1625	(gomp_barrier_t): Add awaited_final field.
1626	(gomp_barrier_init): Initialize awaited_final field.
1627	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
1628	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
1629	prototypes.
1630	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
1631	defines.
1632	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
1633	gomp_team_barrier_cancelled): New inline functions.
1634	(gomp_barrier_last_thread,
1635	gomp_team_barrier_set_task_pending,
1636	gomp_team_barrier_clear_task_pending,
1637	gomp_team_barrier_set_waiting_for_tasks,
1638	gomp_team_barrier_waiting_for_tasks,
1639	gomp_team_barrier_done): Use BAR_* defines.
1640	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
1641	(gomp_barrier_wait_end): Use BAR_* defines.
1642	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
1643	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
1644	Use BAR_* defines.
1645	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
1646	gomp_team_barrier_cancel): New functions.
1647	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
1648	argument.
1649	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
1650	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
1651	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
1652	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
1653	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
1654	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
1655	(gomp_barrier_t): Add cancellable field.
1656	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
1657	gomp_team_barrier_cancel): New prototypes.
1658	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
1659	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
1660	gomp_team_barrier_cancelled): New inline functions.
1661	(gomp_barrier_wait_start, gomp_barrier_last_thread,
1662	gomp_team_barrier_set_task_pending,
1663	gomp_team_barrier_clear_task_pending,
1664	gomp_team_barrier_set_waiting_for_tasks,
1665	gomp_team_barrier_waiting_for_tasks,
1666	gomp_team_barrier_done): Use BAR_* defines.
1667	* barrier.c (GOMP_barrier_cancel): New function.
1668	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
1669	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
1670	omp_proc_bind_spread): New params.
1671	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1672	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1673	omp_get_team_num, omp_is_initial_device): New externals.
1674	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
1675	New functions.
1676	(gomp_resolve_num_threads): Adjust for thread_limit now being in
1677	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
1678	infinity.  If not nested, just return minimum of max_num_threads
1679	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
1680	to the returned value.  Otherwise, don't update atomically
1681	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
1682	(GOMP_parallel_end): Adjust for thread_limit now being in
1683	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
1684	infinity.  Adjust threads_busy in the pool rather than
1685	gomp_remaining_threads_count.  Remember team->nthreads and call
1686	gomp_team_end before adjusting threads_busy, if not nested
1687	afterwards, just set it to 1 non-atomically.  Add ialias.
1688	(GOMP_parallel_start): Adjust gomp_team_start caller.
1689	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
1690	* testsuite/libgomp.c/affinity-1.c: New test.
1691	* testsuite/libgomp.c/atomic-15.c: New test.
1692	* testsuite/libgomp.c/atomic-16.c: New test.
1693	* testsuite/libgomp.c/atomic-17.c: New test.
1694	* testsuite/libgomp.c/cancel-for-1.c: New test.
1695	* testsuite/libgomp.c/cancel-for-2.c: New test.
1696	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
1697	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
1698	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
1699	* testsuite/libgomp.c/cancel-sections-1.c: New test.
1700	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
1701	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
1702	* testsuite/libgomp.c/depend-1.c: New test.
1703	* testsuite/libgomp.c/depend-2.c: New test.
1704	* testsuite/libgomp.c/depend-3.c: New test.
1705	* testsuite/libgomp.c/depend-4.c: New test.
1706	* testsuite/libgomp.c/for-1.c: New test.
1707	* testsuite/libgomp.c/for-1.h: New file.
1708	* testsuite/libgomp.c/for-2.c: New test.
1709	* testsuite/libgomp.c/for-2.h: New file.
1710	* testsuite/libgomp.c/for-3.c: New test.
1711	* testsuite/libgomp.c/pr58392.c: New test.
1712	* testsuite/libgomp.c/simd-1.c: New test.
1713	* testsuite/libgomp.c/simd-2.c: New test.
1714	* testsuite/libgomp.c/simd-3.c: New test.
1715	* testsuite/libgomp.c/simd-4.c: New test.
1716	* testsuite/libgomp.c/simd-5.c: New test.
1717	* testsuite/libgomp.c/simd-6.c: New test.
1718	* testsuite/libgomp.c/target-1.c: New test.
1719	* testsuite/libgomp.c/target-2.c: New test.
1720	* testsuite/libgomp.c/target-3.c: New test.
1721	* testsuite/libgomp.c/target-4.c: New test.
1722	* testsuite/libgomp.c/target-5.c: New test.
1723	* testsuite/libgomp.c/target-6.c: New test.
1724	* testsuite/libgomp.c/target-7.c: New test.
1725	* testsuite/libgomp.c/taskgroup-1.c: New test.
1726	* testsuite/libgomp.c/thread-limit-1.c: New test.
1727	* testsuite/libgomp.c/thread-limit-2.c: New test.
1728	* testsuite/libgomp.c/thread-limit-3.c: New test.
1729	* testsuite/libgomp.c/udr-1.c: New test.
1730	* testsuite/libgomp.c/udr-2.c: New test.
1731	* testsuite/libgomp.c/udr-3.c: New test.
1732	* testsuite/libgomp.c++/affinity-1.C: New test.
1733	* testsuite/libgomp.c++/atomic-10.C: New test.
1734	* testsuite/libgomp.c++/atomic-11.C: New test.
1735	* testsuite/libgomp.c++/atomic-12.C: New test.
1736	* testsuite/libgomp.c++/atomic-13.C: New test.
1737	* testsuite/libgomp.c++/atomic-14.C: New test.
1738	* testsuite/libgomp.c++/atomic-15.C: New test.
1739	* testsuite/libgomp.c++/cancel-for-1.C: New test.
1740	* testsuite/libgomp.c++/cancel-for-2.C: New test.
1741	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
1742	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
1743	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
1744	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
1745	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
1746	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
1747	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
1748	* testsuite/libgomp.c++/cancel-test.h: New file.
1749	* testsuite/libgomp.c++/for-9.C: New test.
1750	* testsuite/libgomp.c++/for-10.C: New test.
1751	* testsuite/libgomp.c++/for-11.C: New test.
1752	* testsuite/libgomp.c++/simd-1.C: New test.
1753	* testsuite/libgomp.c++/simd-2.C: New test.
1754	* testsuite/libgomp.c++/simd-3.C: New test.
1755	* testsuite/libgomp.c++/simd-4.C: New test.
1756	* testsuite/libgomp.c++/simd-5.C: New test.
1757	* testsuite/libgomp.c++/simd-6.C: New test.
1758	* testsuite/libgomp.c++/simd-7.C: New test.
1759	* testsuite/libgomp.c++/simd-8.C: New test.
1760	* testsuite/libgomp.c++/target-1.C: New test.
1761	* testsuite/libgomp.c++/target-2.C: New test.
1762	* testsuite/libgomp.c++/target-2-aux.cc: New file.
1763	* testsuite/libgomp.c++/target-3.C: New test.
1764	* testsuite/libgomp.c++/taskgroup-1.C: New test.
1765	* testsuite/libgomp.c++/udr-1.C: New test.
1766	* testsuite/libgomp.c++/udr-2.C: New test.
1767	* testsuite/libgomp.c++/udr-3.C: New test.
1768	* testsuite/libgomp.c++/udr-4.C: New test.
1769	* testsuite/libgomp.c++/udr-5.C: New test.
1770	* testsuite/libgomp.c++/udr-6.C: New test.
1771	* testsuite/libgomp.c++/udr-7.C: New test.
1772	* testsuite/libgomp.c++/udr-8.C: New test.
1773	* testsuite/libgomp.c++/udr-9.C: New test.
1774
17752013-09-20  Jakub Jelinek  <jakub@redhat.com>
1776
1777	PR testsuite/57605
1778	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
1779	ALWAYS_CFLAGS.
1780
17812013-09-20  Alan Modra  <amodra@gmail.com>
1782
1783	* configure: Regenerate.
1784
17852013-09-19  Jakub Jelinek  <jakub@redhat.com>
1786
1787	* testsuite/libgomp.c/sections-2.c: New test.
1788
17892013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1790
1791	* testsuite/libgomp.fortran/strassen.f90:
1792	Add dg-skip-if aarch64_tiny.
1793
17942013-06-20  Iain Sandoe  <iain@codesourcery.com>
1795	    Cesar Philippidis  <cesar@codesourcery.com>
1796
1797	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
1798	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
1799	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
1800	* testsuite/libgomp.fortran/fortran.exp: Likewise.
1801	* testsuite/libgomp.graphite/graphite.exp: Likewise.
1802	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
1803	Use dg-runtest rather than gfortran-dg-runtest.
1804
18052013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
1806
1807	* testsuite/libgomp.c/icv-2.c: Extend current handling of
1808	Linux-based x86 systems to cover all GNU systems.
1809	* testsuite/libgomp.c/lock-3.c: Likewise.
1810	* testsuite/libgomp.c/pr48591.c: Likewise.
1811
18122013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
1813
1814	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
1815	GNU/Hurd, as done for Linux-based systems.
1816
1817	* config/posix/ptrlock.h: Fix comment.
1818
18192013-05-27  Tobias Burnus  <burnus@net-b.de>
1820
1821	PR fortran/57423
1822	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
1823	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
1824	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
1825	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
1826	omp_destroy_nest_lock): Correct arguments to match the one in
1827	the OpenMP spec.
1828	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
1829	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
1830	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
1831	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
1832
18332013-05-16  Jakub Jelinek  <jakub@redhat.com>
1834
1835	* testsuite/libgomp.c/loop-13.c: New test.
1836	* testsuite/libgomp.c/loop-14.c: New test.
1837	* testsuite/libgomp.c/loop-15.c: New test.
1838	* testsuite/libgomp.c++/loop-13.C: New test.
1839	* testsuite/libgomp.c++/loop-14.C: New test.
1840	* testsuite/libgomp.c++/loop-15.C: New test.
1841
18422013-02-06  Jakub Jelinek  <jakub@redhat.com>
1843
1844	PR middle-end/56217
1845	* testsuite/libgomp.c++/pr56217.C: New test.
1846
18472013-02-01  Alan Modra  <amodra@gmail.com>
1848
1849	* task.c (GOMP_task, GOMP_taskwait): Comment.
1850
18512013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
1852	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
1853
1854	PR libgomp/55561
1855	* config/linux/wait.h (do_spin): Use atomic load for addr.
1856	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
1857	for intptr and ptrlock.
1858	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
1859	for ptrlock.
1860
18612013-01-22  Alan Modra  <amodra@gmail.com>
1862
1863	PR libgomp/51376
1864	PR libgomp/56073
1865	* task.c (GOMP_task): Revert 2011-12-09 change.
1866	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
1867	barrier to read task->children..
1868	(gomp_barrier_handle_tasks): ..and matching atomic store with
1869	release barrier here when setting parent->children to NULL.
1870
18712013-01-16  Jakub Jelinek  <jakub@redhat.com>
1872	    Tobias Burnus  <burnus@net-b.de>
1873
1874	PR driver/55884
1875	* testsuite/libgomp.fortran/fortran.exp: Use
1876	-fintrinsic-modules-path= instead of
1877	-fintrinsic-modules-path.
1878
18792013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
1880
1881	Update copyright years.
1882
18832012-12-19  Tobias Burnus  <burnus@net-b.de>
1884
1885	* testsuite/libgomp.fortran/fortran.exp: Set
1886	-fintrinsic-modules-path.
1887
18882012-12-19  Tobias Burnus  <burnus@net-b.de>
1889
1890	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
1891	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
1892
18932012-11-21  Jakub Jelinek  <jakub@redhat.com>
1894
1895	PR libgomp/55411
1896	* team.c (gomp_free_thread): Decrease gomp_managed_threads
1897	if pool had any threads_used.
1898
18992012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
1900
1901	* testsuite/libgomp.c++/pr24455.C: Use
1902	-Wl,-undefined,dynamic_lookup on darwin.
1903
19042012-11-07  David Edelsohn  <dje.gcc@gmail.com>
1905
1906	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
1907
19082012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
1909
1910	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
1911
19122012-10-23  Ian Bolton  <ian.bolton@arm.com>
1913	    Jim MacArthur  <jim.macarthur@arm.com>
1914	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
1915	    Nigel Stephens  <nigel.stephens@arm.com>
1916	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1917	    Richard Earnshaw  <rearnsha@arm.com>
1918	    Sofiane Naci  <sofiane.naci@arm.com>
1919	    Stephen Thomas  <stephen.thomas@arm.com>
1920	    Tejas Belagod  <tejas.belagod@arm.com>
1921	    Yufeng Zhang  <yufeng.zhang@arm.com>
1922
1923	* configure.tgt: Add AArch64.
1924
19252012-10-04  Jason Merrill  <jason@redhat.com>
1926
1927	* testsuite/libgomp.c++/tls-init1.C: New.
1928
19292012-09-14  David Edelsohn  <dje.gcc@gmail.com>
1930
1931	* configure: Regenerated.
1932
19332012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
1934
1935	* config/linux/mips/futex.h (sys_futex0): Change to static
1936	function with noinline, nomips16 attributes under MIPS16. Adjust
1937	asm statement to place 'li v0,SYS_futex' immediately before
1938	syscall insn.
1939
19402012-07-04  Sandra Loosemore <sandra@codesourcery.com>
1941
1942	* libgomp.texi (Library Index): Renamed from "Index" to prevent
1943	conflict with index.html on case-insensitive file systems.
1944
19452012-07-03  Uros Bizjak  <ubizjak@gmail.com>
1946
1947	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
1948	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
1949
19502012-07-02  Richard Guenther  <rguenther@suse.de>
1951	    Michael Matz  <matz@suse.de>
1952	    Tobias Grosser <tobias@grosser.es>
1953	    Sebastian Pop <sebpop@gmail.com>
1954
1955	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1956	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1957	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1958	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1959
19602012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
1961
1962	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
1963
19642012-06-22  Richard Guenther  <rguenther@suse.de>
1965
1966	Merge from graphite branch
1967	2012-01-13  Tobias Grosser  <tobias@grosser.es>
1968
1969	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1970	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1971
19722012-06-07  Jakub Jelinek  <jakub@redhat.com>
1973
1974	PR middle-end/53580
1975	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
1976	use GOMP_barrier () call instead.
1977	* testsuite/libgomp.c/pr26943-3.c: Likewise.
1978	* testsuite/libgomp.c/pr26943-4.c: Likewise.
1979	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
1980	call GOMP_barrier instead.
1981	* testsuite/libgomp.fortran/vla5.f90: Likewise.
1982
19832012-06-06  Jakub Jelinek  <jakub@redhat.com>
1984
1985	PR libgomp/52993
1986	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
1987	argument to memset call.
1988
19892012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1990
1991	* configure: Regenerated.
1992
19932012-04-11  Manuel L��pez-Ib����ez  <manu@gcc.gnu.org>
1994
1995	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
1996
19972012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
1998
1999	PR bootstrap/52812
2000	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
2001
20022012-03-22  Jakub Jelinek  <jakub@redhat.com>
2003
2004	PR middle-end/52547
2005	* testsuite/libgomp.c/pr52547.c: New test.
2006
20072012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2008
2009	* testsuite/lib/libgomp.exp: load fortran-modules.exp
2010
20112012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2012
2013	* configure.tgt (mips-sgi-irix6*): Remove.
2014
20152012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2016
2017	* configure.tgt (alpha*-dec-osf*): Remove.
2018
2019	* config/osf/sem.h: Remove.
2020	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
2021
20222012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
2023
2024	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
2025
20262012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2027
2028	PR libstdc++/52188
2029	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
2030	Remove ENABLE_SYMVERS_SOL2.
2031	* configure: Regenerate.
2032	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
2033	(PREPROCESS): New variable.
2034	(libgomp.ver): New target.
2035	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
2036	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
2037	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
2038	Use libgomp.ver.
2039	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
2040	* Makefile.in: Regenerate.
2041
20422012-02-14  Walter Lee  <walt@tilera.com>
2043
2044	* configure.tgt: Handle tilegx and tilepro.
2045	* config/linux/tile/futex.h: New file.
2046
20472012-02-08  Richard Guenther  <rguenther@suse.de>
2048
2049	PR tree-optimization/46886
2050	* testsuite/libgomp.c/pr46886.c: New testcase.
2051
20522012-01-25  Matthias Klose  <doko@ubuntu.com>
2053
2054	* config/linux/arm: Remove empty directory.
2055	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
2056
20572011-12-09  Alan Modra  <amodra@gmail.com>
2058
2059	PR libgomp/51376
2060	* task.c (GOMP_taskwait): Don't access task->children outside of
2061	task_lock mutex region.
2062	(GOMP_task): Likewise.
2063
20642011-12-06  Jakub Jelinek  <jakub@redhat.com>
2065
2066	PR libgomp/51132
2067	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
2068	to file scope.
2069	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2070	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2071	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2072	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2073	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2074
20752011-12-02  Alan Modra  <amodra@gmail.com>
2076
2077	* config/linux/affinity.c: Use atomic rather than sync builtin.
2078	* config/linux/lock.c: Likewise.
2079	* config/linux/ptrlock.h: Likewise.
2080	* config/linux/ptrlock.c: Likewise.
2081	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
2082	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
2083	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
2084	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
2085	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
2086	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
2087	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
2088	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
2089	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
2090	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
2091
20922011-11-30  Alan Modra  <amodra@gmail.com>
2093
2094	PR libgomp/51298
2095	* config/linux/bar.h: Use atomic rather than sync builtins.
2096	* config/linux/bar.c: Likewise.  Add missing acquire
2097	synchronisation on generation field.
2098	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
2099	double unlock.
2100
21012011-11-30  Alan Modra  <amodra@gmail.com>
2102
2103	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
2104	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
2105	* config/linux/mutex.h: Use atomic rather than sync builtins.
2106	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
2107	* config/linux/omp-lock.h: Comment fix.
2108	* config/linux/arm/mutex.h: Delete.
2109	* config/linux/powerpc/mutex.h: Delete.
2110	* config/linux/ia64/mutex.h: Delete.
2111	* config/linux/mips/mutex.h: Delete.
2112
21132011-11-30  Alan Modra  <amodra@gmail.com>
2114
2115	PR libgomp/51249
2116	* config/linux/sem.h: Rewrite.
2117	* config/linux/sem.c: Rewrite.
2118
21192011-11-28  Richard Henderson  <rth@redhat.com>
2120
2121	* libgomp.h (enum memmodel): New.
2122
21232011-11-21  Andreas Tobler  <andreast@fgznet.ch>
2124
2125	* configure: Regenerate.
2126
21272011-10-10  Matthias Klose  <doko@ubuntu.com>
2128
2129	* config/posix95: Remove empty directory.
2130
21312011-08-26  Jakub Jelinek  <jakub@redhat.com>
2132
2133	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
2134
21352011-08-19  Jakub Jelinek  <jakub@redhat.com>
2136
2137	PR fortran/49792
2138	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
2139	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
2140
21412011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2142
2143	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
2144
21452011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2146
2147	PR libgomp/49965
2148	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
2149
21502011-08-03  Uros Bizjak  <ubizjak@gmail.com>
2151
2152	* config/linux/proc.h: New.
2153	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
2154	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
2155	(gomp_init_num_threads): Update call to cpuset_popcount.
2156	(get_num_procs): Ditto.
2157	* config/linux/affinity.c (gomp_init_affinity): Call
2158	gomp_cpuset_popcount.
2159
21602011-08-02  Jakub Jelinek  <jakub@redhat.com>
2161
2162	PR fortran/42041
2163	PR fortran/46752
2164	* omp.h.in (omp_in_final): New prototype.
2165	* omp_lib.f90.in (omp_in_final): New interface.
2166	(omp_integer_kind, omp_logical_kind): Remove
2167	and replace all its uses in the module with 4.
2168	(openmp_version): Change to 201107.
2169	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
2170	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
2171	kind for the parameters.
2172	(omp_in_final): New external.
2173	(openmp_version): Change to 201107.
2174	* task.c (omp_in_final): New function.
2175	(gomp_init_task): Initialize final_task.
2176	(GOMP_task): Remove unused attribute from flags.  Handle final
2177	tasks.
2178	(GOMP_taskyield): New function.
2179	(omp_in_final): Return true if if (false) or final (true) task
2180	or descendant of final (true).
2181	* fortran.c (omp_in_final_): New function.
2182	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
2183	(GOMP_3.0): Export GOMP_taskyield.
2184	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
2185	variables.
2186	(parse_unsigned_long_list): New function.
2187	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
2188	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
2189	even if parse_affinity returned false.
2190	* config/linux/affinity.c (gomp_init_affinity): Handle
2191	gomp_cpu_affinity_len == 0.
2192	* libgomp_g.h (GOMP_taskyield): New prototype.
2193	* libgomp.h (struct gomp_task): Add final_task field.
2194	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
2195	* team.c (gomp_team_start): Override new task's nthreads_var icv
2196	if list form OMP_NUM_THREADS has been used and it has value for
2197	the new nesting level.
2198
2199	* testsuite/libgomp.c/atomic-11.c: New test.
2200	* testsuite/libgomp.c/atomic-12.c: New test.
2201	* testsuite/libgomp.c/atomic-13.c: New test.
2202	* testsuite/libgomp.c/atomic-14.c: New test.
2203	* testsuite/libgomp.c/reduction-6.c: New test.
2204	* testsuite/libgomp.c/task-5.c: New test.
2205	* testsuite/libgomp.c++/atomic-2.C: New test.
2206	* testsuite/libgomp.c++/atomic-3.C: New test.
2207	* testsuite/libgomp.c++/atomic-4.C: New test.
2208	* testsuite/libgomp.c++/atomic-5.C: New test.
2209	* testsuite/libgomp.c++/atomic-6.C: New test.
2210	* testsuite/libgomp.c++/atomic-7.C: New test.
2211	* testsuite/libgomp.c++/atomic-8.C: New test.
2212	* testsuite/libgomp.c++/atomic-9.C: New test.
2213	* testsuite/libgomp.c++/task-8.C: New test.
2214	* testsuite/libgomp.c++/reduction-4.C: New test.
2215	* testsuite/libgomp.fortran/allocatable7.f90: New test.
2216	* testsuite/libgomp.fortran/allocatable8.f90: New test.
2217	* testsuite/libgomp.fortran/crayptr3.f90: New test.
2218	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
2219	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
2220	* testsuite/libgomp.fortran/pointer1.f90: New test.
2221	* testsuite/libgomp.fortran/pointer2.f90: New test.
2222	* testsuite/libgomp.fortran/task4.f90: New test.
2223
22242011-08-02  Tobias Burnus  <burnus@net-b.de>
2225
2226	* libgomp.texi: Update OpenMP spec references to 3.1.
2227	(omp_in_final,OMP_PROC_BIND): New sections.
2228	(OMP_NUM_THREADS): Document that the value can be now a list.
2229	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
2230
22312011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
2232
2233	* config/linux/x86/futex.h: Check __x86_64__ instead of
2234	__LP64__.
2235
22362011-07-29  Jakub Jelinek  <jakub@redhat.com>
2237
2238	PR middle-end/49897
2239	PR middle-end/49898
2240	* testsuite/libgomp.c/pr49897-1.c: New test.
2241	* testsuite/libgomp.c/pr49897-2.c: New test.
2242	* testsuite/libgomp.c/pr49898-1.c: New test.
2243	* testsuite/libgomp.c/pr49898-2.c: New test.
2244
22452011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
2246
2247	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
2248	for ia32 instead of ilp32.
2249
2250	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
2251	* testsuite/libgomp.c/atomic-6.c: Likewise.
2252
22532011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
2254
2255	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
2256	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
2257
22582011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2259
2260	PR libgomp/45351
2261	* config/osf/sem.h: New file.
2262	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
2263
22642011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2265
2266	PR target/49541
2267	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
2268	ldflags.
2269
22702011-07-15  Jakub Jelinek  <jakub@redhat.com>
2271
2272	* config/linux/wait.h (do_spin): New inline, largely copied
2273	from do_wait, just don't do futex_wait here, instead return true if
2274	it should be done.
2275	(do_wait): Implement using do_spin.
2276	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
2277	to prototype.
2278	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
2279	__sync_bool_compare_and_swap, pass the oldval to
2280	gomp_mutex_lock_slow.
2281	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
2282	If all mutex contenders are just spinning and not sleeping, don't
2283	change state to 2 unnecessarily.  Optimize the loop when state has
2284	already become 2 to use just one atomic operation per loop instead
2285	of two.
2286	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
2287	to prototype.
2288	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
2289	__sync_bool_compare_and_swap, pass the oldval to
2290	gomp_mutex_lock_slow.
2291
22922011-06-22  Jakub Jelinek  <jakub@redhat.com>
2293
2294	PR libgomp/49490
2295	* iter.c (gomp_iter_static_next): For chunk size 0
2296	only use n ceil/ nthreads size for the first
2297	n % nthreads threads in the team instead of
2298	all threads except for the last few ones which
2299	get less work or none at all.
2300	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
2301	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
2302	chunk argument, set run_sched_modifier to 0 for static
2303	resp. 1 for other kinds.  If chunk argument is 0
2304	and not static, set value to 1.
2305
23062011-05-19  Jakub Jelinek  <jakub@redhat.com>
2307
2308	PR c++/49043
2309	* testsuite/libgomp.c++/pr49043.C: New test.
2310
2311	PR c++/48869
2312	* testsuite/libgomp.c++/pr48869.C: New test.
2313
23142011-05-06  Jakub Jelinek  <jakub@redhat.com>
2315
2316	PR fortran/48894
2317	* fortran.c: Include limits.h.
2318	(TO_INT): Define.
2319	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
2320	*set.
2321	(omp_set_num_threads_8_, omp_set_schedule_8_,
2322	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
2323	omp_get_team_size_8_): Use TO_INT macro.
2324	* testsuite/libgomp.fortran/pr48894.f90: New test.
2325
23262011-04-13  Jakub Jelinek  <jakub@redhat.com>
2327
2328	PR middle-end/48591
2329	* testsuite/libgomp.c/pr48591.c: New test.
2330
23312011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2332
2333	PR bootstrap/48135
2334	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
2335	* configure: Regenerate.
2336
23372011-02-27  Jakub Jelinek  <jakub@redhat.com>
2338
2339	PR fortran/47886
2340	* testsuite/libgomp.fortran/task3.f90: New test.
2341
23422011-02-24  Tobias Burnus  <burnus@net-b.de>
2343
2344	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
2345
23462011-02-23  Jakub Jelinek  <jakub@redhat.com>
2347
2348	PR libgomp/47854
2349	* libgomp.texi (omp_get_wtime): Don't say time in the past
2350	must be Unix Epoch.
2351
23522011-02-18  Jakub Jelinek  <jakub@redhat.com>
2353
2354	PR libgomp/47804
2355	* testsuite/libgomp.fortran/fortran.exp: Check for both
2356	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
2357	but $blddir != "", still append ${blddir}/${lang_library_path}
2358	to ld_library_path.
2359
23602011-02-16  Tobias Burnus  <burnus@net-b.de>
2361
2362	PR libgomp/47758
2363	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
2364	of libquadmath.a before adding its libpath to ldflags.
2365
23662011-02-14  Jakub Jelinek  <jakub@redhat.com>
2367
2368	PR libgomp/47731
2369	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
2370	to FUTEX_WAIT futex syscall.
2371	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
2372
23732011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2374
2375	* configure: Regenerate.
2376
23772011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
2378
2379	PR libstdc++/36104
2380	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
2381
23822011-01-16  Gerald Pfeifer
2383
2384	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
2385
23862010-12-14  Jakub Jelinek  <jakub@redhat.com>
2387
2388	PR fortran/46874
2389	* libgomp.fortran/allocatable6.f90: New test.
2390
23912010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2392
2393	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
2394	* configure: Regenerate.
2395
23962010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
2397
2398	PR target/40125
2399	PR lto/46695
2400	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
2401	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
2402	* aclocal.m4: Regenerate.
2403	* configure: Regenerate.
2404	* Makefile.in: Regenerate.
2405	* testsuite/Makefile.in: Regenerate.
2406
24072010-12-02  Jakub Jelinek  <jakub@redhat.com>
2408
2409	PR fortran/46753
2410	* libgomp.fortran/pr46753.f90: New test.
2411
2412	PR libgomp/43706
2413	* env.c (initialize_env): Default to spin count 300000
2414	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
2415	is specified.
2416
2417	PR libgomp/45240
2418	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
2419	at the end if sync builtins aren't supported.
2420
24212010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2422
2423	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
2424
24252010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2426
2427	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
2428
24292010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
2430
2431	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
2432
24332010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2434	    Tobias Burnus  <burnus@net-b.de>
2435
2436	PR fortran/32049
2437	* configure.ac:
2438	* configure: Regenerate.
2439
24402010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2441
2442	* config/linux/futex.h: New.
2443	* config/linux/arm/mutex.h: New.
2444	* configure.tgt (arm*-*-linux*): Add config path.
2445
24462010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2447
2448	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2449
24502010-09-23  Tobias Burnus  <burnus@net-b.de>
2451
2452	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
2453	Change Fortran datatype to LOGICAL.
2454	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
2455	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
2456
24572010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2458
2459	* configure: Regenerate.
2460
24612010-07-26  Jakub Jelinek  <jakub@redhat.com>
2462
2463	* libgomp.texi: Add function keyword to a couple of Fortran
2464	interfaces, use integer instead of int for Fortran.
2465
24662010-07-26  Aldy Hernandez  <aldyh@redhat.com>
2467
2468	* libgomp.texi: Fix spelling and pasto problems throughout.
2469	Adjust prototypes to match code.
2470
24712010-07-24  Tobias Burnus  <burnus@net-b.de>
2472
2473	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
2474	silence -fwhole-file warning.
2475
24762010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2477
2478	* configure.tgt (*-*-solaris2.[56]*): Removed.
2479
24802010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2481
2482	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
2483	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
2484	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
2485	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
2486	targetting solaris2*.
2487	* configure: Regenerate.
2488	* config.h.in: Regenerate.
2489
2490	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
2491	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
2492	Add libgomp_version_dep.
2493	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
2494	versioning.
2495	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
2496	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
2497	* Makefile.in: Regenerate.
2498
2499	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
2500	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
2501	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
2502	to common block, protected by
2503	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
2504
25052010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
2506
2507	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
2508
25092010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
2510
2511	PR bootstrap/43170
2512	* configure: Regenerate.
2513
25142010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2515
2516	PR other/43620
2517	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
2518	* configure: Regenerate.
2519	* Makefile.in: Regenerate.
2520	* testsuite/Makefile.in: Regenerate.
2521
25222010-04-26  Jakub Jelinek  <jakub@redhat.com>
2523
2524	PR c/43893
2525	* testsuite/libgomp.c/pr43893.c: New test.
2526	* testsuite/libgomp.c++/pr43893.C: New test.
2527
25282010-04-21  Jakub Jelinek  <jakub@redhat.com>
2529
2530	PR middle-end/43570
2531	* testsuite/libgomp.fortran/vla8.f90: New test.
2532
25332010-04-20  Jakub Jelinek  <jakub@redhat.com>
2534
2535	PR libgomp/43706
2536	* config/linux/affinity.c (gomp_init_affinity): Decrease
2537	gomp_available_cpus if affinity mask confines the process to fewer
2538	CPUs.
2539	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
2540	non-NULL, just return gomp_available_cpus.
2541
2542	PR libgomp/43569
2543	* sections.c (gomp_sections_init): Initialize ws->mode.
2544
25452010-04-14  Uros Bizjak  <ubizjak@gmail.com>
2546
2547	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
2548	not unused bar variable.
2549	* configure: Regenerate.
2550
25512010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2552
2553	* Makefile.in: Regenerate.
2554	* aclocal.m4: Regenerate.
2555	* testsuite/Makefile.in: Regenerate.
2556
25572010-03-22  Jakub Jelinek  <jakub@redhat.com>
2558
2559	PR libgomp/42942
2560	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
2561	(initialize_env): Adjust callers.
2562	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
2563	when the argument is 0.
2564
2565	* testsuite/libgomp.c/pr42942.c: New test.
2566
25672010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
2568
2569	PR middle-end/42644
2570	PR middle-end/42130
2571	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2572	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
2573
25742010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2575
2576	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
2577	* testsuite/libgomp.c++/task-6.C: Likewise.
2578
25792010-01-28  Steve Ellcey  <sje@cup.hp.com>
2580
2581	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
2582
25832010-01-26  Paolo Bonzini  <bonzini@gnu.org>
2584
2585	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
2586	* configure: Regenerate.
2587
25882010-01-26  Jakub Jelinek  <jakub@redhat.com>
2589
2590	PR fortran/42866
2591	* testsuite/libgomp.fortran/allocatable5.f90: New test.
2592
25932010-01-20  Paolo Bonzini  <bonzini@gnu.org>
2594
2595	* configure.ac: Test for executability of GFORTRAN.
2596	* configure: Regenerate.
2597
25982010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2599
2600	* configure: Regenerate.
2601
26022010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2603
2604	PR libgomp/42602
2605	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
2606
26072010-01-03  Richard Guenther  <rguenther@suse.de>
2608
2609	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
2610
26112009-12-23  Sebastian Pop  <sebpop@gmail.com>
2612
2613	* testsuite/libgomp.graphite/pr4118.c: New.
2614
26152009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
2616
2617	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
2618	for darwin, protect the test with require-effective-target tls_runtime.
2619	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
2620
26212009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
2622
2623	PR target/41605
2624	* testsuite/lib/libgomp.exp: Provide -B options to allow for
2625	link spec %s substitutions for static libraries.
2626
26272009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
2628
2629	PR testsuite/42135
2630	* libgomp.graphite/force-parallel-2.c: Reduce array size.
2631
26322009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2633
2634	* Makefile.in: Regenerate.
2635	* configure: Regenerate.
2636	* testsuite/Makefile.in: Regenerate.
2637
26382009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
2639
2640	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
2641	settings for LC_ALL and LANG.
2642
26432009-11-25  Jakub Jelinek  <jakub@redhat.com>
2644
2645	PR fortran/42162
2646	* testsuite/libgomp.fortran/pr42162.f90: New test.
2647
26482009-11-13  Jakub Jelinek  <jakub@redhat.com>
2649
2650	PR middle-end/42029
2651	* testsuite/libgomp.c/pr42029.c: New test.
2652
26532009-10-26  Jakub Jelinek  <jakub@redhat.com>
2654
2655	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
2656	*s.  Accept ld version without text in ()s.
2657	* configure: Regenerated.
2658
26592009-10-22  Razya Ladelsky  <razya@il.ibm.com>
2660
2661	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
2662
26632009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2664
2665	PR libgomp/41418
2666	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
2667	or a hyphen (happens with fortran language disabled).
2668	* configure: Regenerate.
2669
26702009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2671
2672	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
2673	use sed script portable to Solaris /bin/sed for extracting ld
2674	version.
2675	* configure: Regenerate.
2676
26772009-09-17  Alexander Monakov  <amonakov@ispras.ru>
2678
2679	* testsuite/libgomp.graphite/bounds.c: New test.
2680
26812009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2682
2683	* Makefile.am (libgomp_la_LINK): New.
2684	* Makefile.in: Regenerate.
2685
26862009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2687
2688	* configure.ac (AC_PREREQ): Bump to 2.64.
2689
26902009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2691
2692	* Makefile.am (install-html, install-pdf): Remove.
2693	* Makefile.in: Regenerate.
2694
2695	* Makefile.in: Regenerate.
2696	* aclocal.m4: Regenerate.
2697	* config.h.in: Regenerate.
2698	* configure: Regenerate.
2699	* testsuite/Makefile.in: Regenerate.
2700
27012009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2702
2703	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
2704	* Makefile.in: Regenerate.
2705
27062009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
2707
2708	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
2709	* Makefile.in: Regenerate.
2710
27112009-08-19  Tobias Burnus  <burnus@net-b.de>
2712
2713	PR fortran/41102
2714	omp_lib.h.in: Fix -std=f95 errors.
2715
2716
27172009-08-14  David Edelsohn  <edelsohn@gnu.org>
2718
2719	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
2720	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
2721	* testsuite/libgomp.graphite/graphite.exp: New.
2722
27232009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
2724
2725	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
2726	only build.
2727
27282009-08-04  David Daney  <ddaney@caviumnetworks.com>
2729
2730	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
2731	needed memory barrier semantics.
2732	* config/linux/mips/mutex.h: New file.
2733
27342009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2735
2736	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
2737
27382009-07-16  Joseph Myers  <joseph@codesourcery.com>
2739
2740	* configure: Regenerate.
2741
27422009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
2743
2744	PR testsuite/40699
2745	PR testsuite/40707
2746	PR testsuite/40709
2747	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
2748	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
2749	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
2750
27512009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
2752
2753	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
2754	options when choosing a multilib.
2755
27562009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
2757
2758	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
2759	ld_library_path.  Use add_path.  Add just find_libgcc_s to
2760	ld_library_path, not every libgcc multilib directory.
2761	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
2762	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
2763	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
2764	Use add_path.
2765	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
2766
27672009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
2768
2769	* Makefile.am (LTLDFLAGS): Define.
2770	(LINK): Define.
2771	* Makefile.in: Regenerate.
2772
27732009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
2774
2775	PR fortran/39718
2776	* testsuite/libgomp.fortran/fortran.exp: Don't link with
2777	libgfortranbegin, check existence of libgfortran.a instead of
2778	libgfortranbegin.a.
2779
27802009-05-20  Jakub Jelinek  <jakub@redhat.com>
2781
2782	PR libgomp/40174
2783	* team.c (gomp_thread_start): Destroy thr->release semaphore.
2784	(gomp_free_pool_helper): Likewise.
2785
27862009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
2787	    Jakub Jelinek  <jakub@redhat.com>
2788
2789	PR fortran/35423
2790	* testsuite/libgomp.fortran/workshare2.f90: New test.
2791
27922009-04-09  Nick Clifton  <nickc@redhat.com>
2793
2794	* iter.c: Change copyright header to refer to version 3 of the
2795	GNU General Public License with version 3.1 of the GCC Runtime
2796	Library Exception and to point readers at the COPYING3 and
2797	COPYING3.RUNTIME files and the FSF's license web page.
2798	* alloc.c: Likewise.
2799	* barrier.c: Likewise.
2800	* config/bsd/proc.c: Likewise.
2801	* config/linux/affinity.c: Likewise.
2802	* config/linux/alpha/futex.h: Likewise.
2803	* config/linux/bar.c: Likewise.
2804	* config/linux/bar.h: Likewise.
2805	* config/linux/ia64/futex.h: Likewise.
2806	* config/linux/ia64/mutex.h: Likewise.
2807	* config/linux/lock.c: Likewise.
2808	* config/linux/mips/futex.h: Likewise.
2809	* config/linux/mutex.c: Likewise.
2810	* config/linux/mutex.h: Likewise.
2811	* config/linux/powerpc/futex.h: Likewise.
2812	* config/linux/proc.c: Likewise.
2813	* config/linux/ptrlock.c: Likewise.
2814	* config/linux/ptrlock.h: Likewise.
2815	* config/linux/s390/futex.h: Likewise.
2816	* config/linux/sem.c: Likewise.
2817	* config/linux/sem.h: Likewise.
2818	* config/linux/sparc/futex.h: Likewise.
2819	* config/linux/wait.h: Likewise.
2820	* config/linux/x86/futex.h: Likewise.
2821	* config/mingw32/proc.c: Likewise.
2822	* config/mingw32/time.c: Likewise.
2823	* config/posix/affinity.c: Likewise.
2824	* config/posix/bar.c: Likewise.
2825	* config/posix/bar.h: Likewise.
2826	* config/posix/lock.c: Likewise.
2827	* config/posix/mutex.h: Likewise.
2828	* config/posix/proc.c: Likewise.
2829	* config/posix/ptrlock.h: Likewise.
2830	* config/posix/sem.c: Likewise.
2831	* config/posix/sem.h: Likewise.
2832	* config/posix/time.c: Likewise.
2833	* config/posix95/lock.c: Likewise.
2834	* critical.c: Likewise.
2835	* env.c: Likewise.
2836	* error.c: Likewise.
2837	* fortran.c: Likewise.
2838	* iter_ull.c: Likewise.
2839	* libgomp.h: Likewise.
2840	* libgomp_f.h.in: Likewise.
2841	* libgomp_g.h: Likewise.
2842	* loop.c: Likewise.
2843	* loop_ull.c: Likewise.
2844	* omp.h.in: Likewise.
2845	* omp_lib.f90.in: Likewise.
2846	* omp_lib.h.in: Likewise.
2847	* ordered.c: Likewise.
2848	* parallel.c: Likewise.
2849	* sections.c: Likewise.
2850	* single.c: Likewise.
2851	* task.c: Likewise.
2852	* team.c: Likewise.
2853	* work.c: Likewise.
2854
28552009-04-09  Jakub Jelinek  <jakub@redhat.com>
2856
2857	* testsuite/config/default.exp: Change copyright header to refer to
2858	version 3 of the GNU General Public License and to point readers
2859	at the COPYING3 file and the FSF's license web page.
2860
28612009-04-08  Jakub Jelinek  <jakub@redhat.com>
2862
2863	PR middle-end/39573
2864	* libgomp.c++/pr39573.C: New test.
2865
28662009-04-01  Jakub Jelinek  <jakub@redhat.com>
2867
2868	PR other/39591
2869	* testsuite/libgomp.c/pr39591-1.c: New test.
2870	* testsuite/libgomp.c/pr39591-2.c: New test.
2871	* testsuite/libgomp.c/pr39591-3.c: New test.
2872
28732009-03-25  Uros Bizjak  <ubizjak@gmail.com>
2874
2875	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
2876	* testsuite/libgomp.c/atomic-6.c: Ditto.
2877
28782009-03-23  Jakub Jelinek  <jakub@redhat.com>
2879
2880	PR c/39495
2881	* testsuite/libgomp.c/loop-12.c: New test.
2882	* testsuite/libgomp.c/loop-11.c: New test.
2883	* testsuite/libgomp.c++/loop-11.C: New test.
2884	* testsuite/libgomp.c++/loop-12.C: New test.
2885	* testsuite/libgomp.c++/for-8.C: New test.
2886
28872009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2888
2889	* configure: Regenerate.
2890
28912009-02-11  Jakub Jelinek  <jakub@redhat.com>
2892
2893	PR middle-end/39154
2894	* testsuite/libgomp.c/pr39154.c: New test.
2895
28962009-01-30  Ian Lance Taylor  <iant@google.com>
2897
2898	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
2899	libgomp_ld_is_gold.  Get gold version number.
2900	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
2901	* configure: Rebuild.
2902
29032009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
2904
2905	* testsuite/lib/libgomp.exp: Add -B option for targets that
2906	use libgfortran.a%s in their specs.
2907
29082009-01-07  Jakub Jelinek  <jakub@redhat.com>
2909
2910	PR libgomp/38086
2911	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
2912	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
2913	HAVE_AS_SYMVER_DIRECTIVE is not defined.
2914	* configure: Regenerated.
2915	* config.h.in: Likewise.
2916
29172008-12-28  Jakub Jelinek  <jakub@redhat.com>
2918
2919	PR c++/38650
2920	* testsuite/libgomp.c/pr38650.c: New test.
2921	* testsuite/libgomp.c++/pr38650.C: New test.
2922
29232008-12-27  Jakub Jelinek  <jakub@redhat.com>
2924
2925	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
2926
29272008-12-26  Uros Bizjak  <ubizjak@gmail.com>
2928
2929	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
2930
29312008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2932
2933	* configure: Regenerate.
2934
29352008-12-08  Jakub Jelinek  <jakub@redhat.com>
2936
2937	PR middle-end/36802
2938	* testsuite/libgomp.c/pr36802-1.c: New test.
2939	* testsuite/libgomp.c/pr36802-2.c: New test.
2940	* testsuite/libgomp.c/pr36802-3.c: New test.
2941
29422008-12-01  Janis Johnson  <janis187@us.ibm.com>
2943
2944	PR libgomp/38270
2945	* config/linux/powerpc/mutex.h: New.
2946
29472008-12-01  Jakub Jelinek  <jakub@redhat.com>
2948
2949	PR c++/38257
2950	* testsuite/libgomp.c++/for-7.C: New test.
2951
2952	PR c++/38348
2953	* testsuite/libgomp.c++/for-6.C: New test.
2954
29552008-11-26  Janis Johnson  <janis187@us.ibm.com>
2956
2957	PR testsuite/28870
2958	* testsuite/lib/libgomp.exp: Include new timeout library files.
2959	(libgomp_target_compile): Set timeout value from new proc.
2960
29612008-11-13  Steve Ellcey  <sje@cup.hp.com>
2962
2963	PR libgomp/37938
2964	* config/linux/ia64/mutex.h: New.
2965
29662008-11-04  Tobias Burnus  <burnus@net-b.de>
2967
2968	PR libgomp/37935
2969	* libgomp.texi (Runtime library routines, environment variables):
2970	Update for OpenMP version 3.0.
2971
29722008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
2973	    Steve Ellcey  <sje@cup.hp.com>
2974
2975	* configure: Regenerate for new libtool.
2976	* Makefile.in: Ditto.
2977	* testsuite/Makefile.in: Ditto.
2978
29792008-09-19  Jakub Jelinek  <jakub@redhat.com>
2980	    Andreas Tobler  <a.tobler@schweiz.org>
2981
2982	* config/bsd/proc.c: New file.
2983	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
2984	* configure.ac: Check for header <sys/sysctl.h>
2985	* configure: Regenerate.
2986	* config.h.in: Likewise.
2987
29882008-09-05  Janis Johnson  <janis187@us.ibm.com>
2989
2990	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
2991
29922008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2993
2994	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
2995	* Makefile.in: Regenerated.
2996	* testsuite/Makefile.in: Regenerated.
2997
29982008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
2999
3000	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
3001	depend on blddir if blddir exists.
3002	(libgomp_target_compile): Likewise.
3003	* testsuite/libgomp.c++/c++.exp: Likewise.
3004	* testsuite/libgomp.fortran/fortran.exp: Likewise.
3005
30062008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3007
3008	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
3009	Do not list GPL as Invariant Section.
3010
30112008-07-28  Ilie Garbacea  <ilie@mips.com>
3012	    Chao-ying Fu  <fu@mips.com>
3013
3014	* configure.tgt: Enable futex for MIPS.
3015	* config/linux/mips/futex.h: New file.
3016
30172008-07-16  Jakub Jelinek  <jakub@redhat.com>
3018
3019	* team.c (gomp_team_end): Free team immediately if it has
3020	just one thread.
3021
30222008-07-08  David Edelsohn  <edelsohn@gnu.org>
3023
3024	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
3025	* testsuite/libgomp.fortran/fortran.exp: Same.
3026	* testsuite/libgomp.c/c.exp: Same.
3027	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
3028	directory to library path first.
3029
30302008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
3031
3032	* env.c (parse_stacksize): Add cast to avoid warning.
3033	(parse_spincount): Likewise.
3034
30352008-06-27  Jakub Jelinek  <jakub@redhat.com>
3036
3037	* testsuite/libgomp.c/loop-10.c: New test.
3038	* libgomp.c/loop-3.c (main): Add lastprivate clause.
3039	* libgomp.c++/loop-6.C (main): Likewise.
3040
3041	PR debug/36617
3042	* testsuite/libgomp.c/debug-1.c: New test.
3043
30442008-06-19  Jakub Jelinek  <jakub@redhat.com>
3045
3046	* testsuite/libgomp.c/nqueens-1.c: New test.
3047
3048	PR c++/36523
3049	* testsuite/libgomp.c++/task-7.C: New function.
3050
30512008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3052
3053	* configure: Regenerate.
3054
30552008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3056
3057	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
3058	mutex when HAVE_SYNC_BUILTINS isn't defined.
3059
30602008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3061
3062	* libgomp.texi (omp_test_lock): Fix typo.
3063
30642008-06-12  Tobias Burnus  <burnus@net-b.de>
3065
3066	* omp_lib.f90.in: Add "implicit none".
3067
30682008-06-12  Jakub Jelinek  <jakub@redhat.com>
3069
3070	PR middle-end/36506
3071	* testsuite/libgomp.c/reduction-5.c: New test.
3072
30732008-06-11  Jakub Jelinek  <jakub@redhat.com>
3074
3075	* libgomp.h (struct gomp_task): Add in_tied_task field.
3076	* task.c (gomp_init_task): Initialize it.
3077	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
3078	unconditionally.  Don't call gomp_team_barrier_wake if
3079	current task is implicit or if(0) from implicit and number of
3080	running tasks is equal to nthreads - 1.
3081
3082	PR libgomp/36471
3083	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
3084	omp_get_team_size_8): Fix pastos.
3085
3086	PR libgomp/36469
3087	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
3088	* configure: Regenerated.
3089	* config.h.in: Regenerated.
3090	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
3091	defined.
3092
30932008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
3094
3095	PR bootstrap/36452
3096	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
3097	(GOMP_loop_ull_dynamic_start): Likewise.
3098	(GOMP_loop_ull_guided_start): Likewise.
3099	(GOMP_loop_ull_ordered_static_start): Likewise.
3100	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
3101	(GOMP_loop_ull_ordered_guided_start): Likewise.
3102
31032008-06-06  Jakub Jelinek  <jakub@redhat.com>
3104	    Richard Henderson  <rth@redhat.com>
3105	    Ulrich Drepper  <drepper@redhat.com>
3106	    Jakob Blomer  <jakob.blomer@ira.uka.de>
3107
3108	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
3109	Substitute also OMP_*LOCK_25*.
3110	* configure: Regenerated.
3111	* config.h.in: Regenerated.
3112	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
3113	ptrlock.c and task.c.
3114	* Makefile.in: Regenerated.
3115	* testsuite/Makefile.in: Regenerated.
3116	* task.c: New file.
3117	* loop_ull.c: New file.
3118	* iter_ull.c: New file.
3119	* libgomp.h: Include ptrlock.h.
3120	(enum gomp_task_kind): New type.
3121	(struct gomp_team): Add task_lock, task_queue, task_count,
3122	task_running_count, single_count fields.  Add
3123	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
3124	Remove work_share_lock, generation_mask,
3125	oldest_live_gen, num_live_gen and init_work_shares fields, add
3126	work work_share_list_alloc, work_share_list_free and work_share_chunk
3127	fields.  Change work_shares from pointer to pointers into an array.
3128	Change ordered_release field into gomp_sem_t ** from flexible array
3129	member.  Add implicit_task and initial_work_shares fields.
3130	Move close to the end of the struct.
3131	(struct gomp_team_state): Add single_count, last_work_share,
3132	active_level and level fields, remove work_share_generation.
3133	(gomp_barrier_handle_tasks): New prototype.
3134	(gomp_finish_task): New inline function.
3135	(struct gomp_work_share): Move chunk_size, end, incr into
3136	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
3137	next_ll fields.  Reshuffle fields.  Add next_alloc,
3138	next_ws, next_free and inline_ordered_team_ids fields, change
3139	ordered_team_ids into pointer from flexible array member.
3140	Add mode field.  Put lock and next into a different cache line
3141	from most of the write-once fields.
3142	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
3143	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
3144	gomp_iter_ull_guided_next): New prototypes.
3145	(gomp_new_icv): New prototype.
3146	(struct gomp_thread): Add thread_pool and task fields.
3147	(struct gomp_thread_pool): New type.
3148	(gomp_new_team): New prototype.
3149	(gomp_team_start): Change type of last argument.
3150	(gomp_new_work_share): Removed.
3151	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
3152	(gomp_work_share_init_done): New static inline.
3153	(gomp_throttled_spin_count_var, gomp_available_cpus,
3154	gomp_managed_threads): New extern decls.
3155	(gomp_init_task): New prototype.
3156	(gomp_spin_count_var): New extern var decl.
3157	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
3158	or no alias support, or if not PIC.
3159	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
3160	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
3161	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
3162	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
3163	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
3164	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
3165	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
3166	gomp_test_nest_lock_25): New prototypes.
3167	(omp_lock_symver, strong_alias): Define.
3168	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
3169	decls.
3170	(gomp_end_task): New.
3171	(struct gomp_task_icv, gomp_global_icv): New.
3172	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
3173	(struct gomp_task): New.
3174	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3175	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3176	(gomp_icv): New.
3177	(gomp_schedule_type): Reorder enum to match
3178	omp_sched_t.
3179	* team.c (struct gomp_thread_start_data): Add thread_pool and task
3180	fields.
3181	(gomp_thread_start): Add gomp_team_barrier_wait call.
3182	For non-nested case remove clearing of docked thread thr fields.
3183	Use pool fields instead of global gomp_* variables.  Use
3184	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
3185	Create tasks for each member thread.
3186	(free_team): Only destroy team barrier, task_lock here and free it.
3187	(gomp_free_thread): Free last_team if non-NULL.
3188	(gomp_team_end): Call gomp_team_barrier_wait instead of
3189	gomp_barrier_wait.  For nested case call one extra
3190	gomp_barrier_wait.  Move here some destruction from free_team.
3191	Call free_team on pool->last_team if any, rather than freeing
3192	current team.  Destroy work_share_list_free_lock ifndef
3193	HAVE_SYNC_BUILTINS.
3194	(gomp_new_icv): New function.
3195	(gomp_threads, gomp_threads_size, gomp_threads_used,
3196	gomp_threads_dock): Removed.
3197	(gomp_thread_destructor): New variable.
3198	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
3199	functions.
3200	(gomp_team_start): Create new pool if current thread doesn't have
3201	one.  Use pool fields instead of global gomp_* variables.
3202	Initialize thread_pool field for new threads.  Clear single_count.
3203	Change last argument from ws to team, don't create
3204	new team, set ts.work_share to &team->work_shares[0] and clear
3205	ts.last_work_share.  Don't clear ts.work_share_generation.
3206	If number of threads changed, adjust atomically gomp_managed_threads.
3207	Use gomp_init_task instead of gomp_new_task,
3208	set thr->task to the corresponding implicit_task array entry.
3209	Create tasks for each member thread.  Initialize ts.level.
3210	(initialize_team): Call pthread_key_create on
3211	gomp_thread_destructor.
3212	(team_destructor): New function.
3213	(new_team): Removed.
3214	(gomp_new_team): New function.
3215	(free_team): Free gomp_work_share blocks chained through next_alloc,
3216	instead of freeing work_shares and destroying work_share_lock.
3217	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
3218	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
3219	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
3220	of gomp_barrier_wait.
3221	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
3222	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
3223	if gomp_work_share_start returned true.  Don't unlock ws->lock.
3224	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
3225	of gomp_barrier_wait.
3226	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
3227	gomp_work_share_init_done if gomp_work_share_start returned true.
3228	Don't unlock ws->lock.
3229	* work.c: Include stddef.h.
3230	(free_work_share): Use work_share_list_free_lock instead
3231	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
3232	Call gomp_fini_work_share and then either free ws if orphaned, or
3233	put it into work_share_list_free list of the current team.
3234	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
3235	functions.
3236	(gomp_work_share_start, gomp_work_share_end,
3237	gomp_work_share_end_nowait): Rewritten.
3238	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
3239	(openmp_version): Set to 200805.
3240	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
3241	omp_sched_guided, omp_sched_auto): New parameters.
3242	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3243	omp_set_max_active_levels, omp_get_max_active_levels,
3244	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3245	omp_get_active_level): New interfaces.
3246	* omp_lib.h.in (openmp_version): Set to 200805.
3247	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
3248	omp_sched_guided, omp_sched_auto): New parameters.
3249	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3250	omp_set_max_active_levels, omp_get_max_active_levels,
3251	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3252	omp_get_active_level): New externals.
3253	* loop.c: Include limits.h.
3254	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
3255	GFS_AUTO.
3256	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
3257	Likewise.  Use gomp_icv.
3258	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
3259	ts.static_trip here.
3260	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
3261	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
3262	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
3263	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
3264	don't unlock ws->lock, otherwise lock it.
3265	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
3266	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
3267	(gomp_parallel_loop_start): Call gomp_new_team instead of
3268	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
3269	Adjust gomp_team_start caller.  Pass 0 as second argument to
3270	gomp_resolve_num_threads.
3271	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
3272	If adding ws->chunk_size nthreads + 1 times after end won't
3273	overflow, set ws->mode to 1.
3274	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
3275	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
3276	GOMP_loop_ull_ordered_static_start,
3277	GOMP_loop_ull_ordered_dynamic_start,
3278	GOMP_loop_ull_ordered_guided_start,
3279	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
3280	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
3281	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
3282	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
3283	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
3284	prototypes.
3285	* libgomp.map: Export lock routines also @@OMP_2.0.
3286	(GOMP_loop_ordered_dynamic_first,
3287	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
3288	GOMP_loop_ordered_static_first): Remove.
3289	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
3290	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
3291	GOMP_loop_ull_ordered_dynamic_next,
3292	GOMP_loop_ull_ordered_dynamic_start,
3293	GOMP_loop_ull_ordered_guided_next,
3294	GOMP_loop_ull_ordered_guided_start,
3295	GOMP_loop_ull_ordered_runtime_next,
3296	GOMP_loop_ull_ordered_runtime_start,
3297	GOMP_loop_ull_ordered_static_next,
3298	GOMP_loop_ull_ordered_static_start,
3299	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
3300	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
3301	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
3302	(omp_set_schedule, omp_get_schedule,
3303	omp_get_thread_limit, omp_set_max_active_levels,
3304	omp_get_max_active_levels, omp_get_level,
3305	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
3306	omp_set_schedule_, omp_set_schedule_8_,
3307	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
3308	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
3309	omp_get_max_active_levels_, omp_get_level_,
3310	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
3311	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
3312	New exports @@OMP_3.0.
3313	* omp.h.in (omp_sched_t): New type.
3314	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3315	omp_set_max_active_levels, omp_get_max_active_levels,
3316	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3317	omp_get_active_level): New prototypes.
3318	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
3319	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
3320	gomp_thread_limit_var, gomp_remaining_threads_count,
3321	gomp_remaining_threads_lock): New variables.
3322	(parse_spincount): New function.
3323	(initialize_env): Call gomp_init_num_threads unconditionally.
3324	Initialize gomp_available_cpus.  Call parse_spincount,
3325	initialize gomp_{,throttled_}spin_count_var
3326	depending on presence and value of OMP_WAIT_POLICY and
3327	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
3328	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
3329	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
3330	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
3331	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
3332	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3333	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3334	(gomp_global_icv): New.
3335	(parse_schedule): Use it.  Parse "auto".
3336	(omp_set_num_threads): Use gomp_icv.
3337	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
3338	Likewise.
3339	(omp_get_max_threads): Move from parallel.c.
3340	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3341	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
3342	add ialias.
3343	(parse_stacksize, parse_wait_policy): New functions.
3344	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
3345	both wrappers for compatibility and new locks.
3346	(omp_set_schedule, omp_get_schedule,
3347	omp_get_thread_limit, omp_set_max_active_levels,
3348	omp_get_max_active_levels, omp_get_level,
3349	omp_get_ancestor_thread_num, omp_get_team_size,
3350	omp_get_active_level): New ialias_redirect.
3351	(omp_set_schedule_, omp_set_schedule_8_,
3352	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
3353	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
3354	omp_get_max_active_levels_, omp_get_level_,
3355	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
3356	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
3357	New functions.
3358	* parallel.c: Include limits.h.
3359	(gomp_resolve_num_threads): Add count argument.  Rewritten.
3360	(GOMP_parallel_start): Call gomp_new_team and pass that as last
3361	argument to gomp_team_start.  Pass 0 as second argument to
3362	gomp_resolve_num_threads.
3363	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
3364	if gomp_thread_limit_var != ULONG_MAX.
3365	(omp_in_parallel): Implement using ts.active_level.
3366	(omp_get_max_threads): Move to env.c.
3367	(omp_get_level, omp_get_ancestor_thread_num,
3368	omp_get_team_size, omp_get_active_level): New functions,
3369	add ialias.
3370	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
3371	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
3372	gomp_iter_dynamic_next instead of the _locked variant and don't take
3373	lock around it, otherwise acquire it before calling
3374	gomp_iter_dynamic_next_locked.
3375	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
3376	gomp_iter_dynamic_next instead of the _locked variant and don't take
3377	lock around it.
3378	(GOMP_parallel_sections_start): Call gomp_new_team instead of
3379	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
3380	Adjust gomp_team_start caller.  Pass count as second argument to
3381	gomp_resolve_num_threads, don't adjust num_threads after the call.
3382	Use gomp_icv.
3383	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
3384	ws->chunk_size by incr.
3385	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
3386	code.
3387	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
3388	types.
3389	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
3390	(omp_check_defines): Check even the compat defines.
3391	* config/linux/ptrlock.c: New file.
3392	* config/linux/ptrlock.h: New file.
3393	* config/linux/wait.h: New file.
3394	* config/posix/ptrlock.c: New file.
3395	* config/posix/ptrlock.h: New file.
3396	* config/linux/bar.h (gomp_team_barrier_wait,
3397	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
3398	(gomp_team_barrier_set_task_pending,
3399	gomp_team_barrier_clear_task_pending,
3400	gomp_team_barrier_set_waiting_for_tasks,
3401	gomp_team_barrier_waiting_for_tasks,
3402	gomp_team_barrier_done): New inlines.
3403	(gomp_barrier_t): Rewritten.
3404	(gomp_barrier_state_t): New typedef.
3405	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
3406	gomp_barrier_wait_start): Rewritten.
3407	(gomp_barrier_wait_end): Change second argument to
3408	gomp_barrier_state_t.
3409	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
3410	inlines.
3411	* config/linux/bar.c: Include wait.h instead of libgomp.h and
3412	futex.h.
3413	(gomp_barrier_wait_end): Rewritten.
3414	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
3415	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
3416	* config/posix/bar.h (gomp_barrier_t): Add generation field.
3417	(gomp_barrier_state_t): New typedef.
3418	(gomp_team_barrier_wait,
3419	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
3420	(gomp_barrier_wait_start): Or all but low 2 bits from generation
3421	into the return value.  Return gomp_barrier_state_t.
3422	(gomp_team_barrier_set_task_pending,
3423	gomp_team_barrier_clear_task_pending,
3424	gomp_team_barrier_set_waiting_for_tasks,
3425	gomp_team_barrier_waiting_for_tasks,
3426	gomp_team_barrier_done): New inlines.
3427	(gomp_barrier_wait_end): Change second argument to
3428	gomp_barrier_state_t.
3429	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
3430	inlines.
3431	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
3432	(gomp_barrier_wait_end): Change second argument to
3433	gomp_barrier_state_t.
3434	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
3435	gomp_team_barrier_wake): New functions.
3436	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
3437	futex.h.
3438	(gomp_futex_wake, gomp_futex_wait): New variables.
3439	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
3440	* config/linux/lock.c: Rewrite to make locks task owned,
3441	for backwards compatibility provide the old entrypoints
3442	if symbol versioning.  Include wait.h instead of libgomp.h and
3443	futex.h.
3444	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
3445	* config/posix95/lock.c: Rewrite to make locks task owned,
3446	for backwards compatibility provide the old entrypoints
3447	if symbol versioning.
3448	* config/posix/lock.c: Rewrite to make locks task owned,
3449	for backwards compatibility provide the old entrypoints
3450	if symbol versioning.
3451	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
3452	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
3453	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
3454	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3455	(sys_futex0): Return error code.
3456	(futex_wake, futex_wait): If ENOSYS was returned, clear
3457	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3458	(cpu_relax, atomic_write_barrier): New static inlines.
3459	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3460	(futex_wake, futex_wait): If ENOSYS was returned, clear
3461	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3462	(cpu_relax, atomic_write_barrier): New static inlines.
3463	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3464	(sys_futex0): Return error code.
3465	(futex_wake, futex_wait): If ENOSYS was returned, clear
3466	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3467	(cpu_relax, atomic_write_barrier): New static inlines.
3468	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3469	(sys_futex0): Return error code.
3470	(futex_wake, futex_wait): If ENOSYS was returned, clear
3471	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3472	(cpu_relax, atomic_write_barrier): New static inlines.
3473	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3474	(sys_futex0): Return error code.
3475	(futex_wake, futex_wait): If ENOSYS was returned, clear
3476	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3477	(cpu_relax, atomic_write_barrier): New static inlines.
3478	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3479	(sys_futex0): Return error code.
3480	(futex_wake, futex_wait): If ENOSYS was returned, clear
3481	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3482	(cpu_relax, atomic_write_barrier): New static inlines.
3483	* config/linux/sem.c: Include wait.h instead of libgomp.h and
3484	futex.h.
3485	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
3486	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
3487	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
3488	types.
3489	(omp_nest_lock_t): Change owner into void *, add lock field.
3490	* config/posix95/omp-lock.h: Include semaphore.h.
3491	(omp_lock_25_t, omp_nest_lock_25_t): New types.
3492	(omp_lock_t): Use sem_t instead of mutex if semaphores
3493	aren't broken.
3494	(omp_nest_lock_t): Likewise.  Change owner to void *.
3495	* config/posix/omp-lock.h: Include semaphore.h.
3496	(omp_lock_25_t, omp_nest_lock_25_t): New types.
3497	(omp_lock_t): Use sem_t instead of mutex if semaphores
3498	aren't broken.
3499	(omp_nest_lock_t): Likewise.  Add owner field.
3500
35012008-06-06  Jakub Jelinek  <jakub@redhat.com>
3502
3503	* testsuite/libgomp.c/collapse-1.c: New test.
3504	* testsuite/libgomp.c/collapse-2.c: New test.
3505	* testsuite/libgomp.c/collapse-3.c: New test.
3506	* testsuite/libgomp.c/icv-1.c: New test.
3507	* testsuite/libgomp.c/icv-2.c: New test.
3508	* testsuite/libgomp.c/lib-2.c: New test.
3509	* testsuite/libgomp.c/lock-1.c: New test.
3510	* testsuite/libgomp.c/lock-2.c: New test.
3511	* testsuite/libgomp.c/lock-3.c: New test.
3512	* testsuite/libgomp.c/loop-4.c: New test.
3513	* testsuite/libgomp.c/loop-5.c: New test.
3514	* testsuite/libgomp.c/loop-6.c: New test.
3515	* testsuite/libgomp.c/loop-7.c: New test.
3516	* testsuite/libgomp.c/loop-8.c: New test.
3517	* testsuite/libgomp.c/loop-9.c: New test.
3518	* testsuite/libgomp.c/nested-3.c: New test.
3519	* testsuite/libgomp.c/nestedfn-6.c: New test.
3520	* testsuite/libgomp.c/sort-1.c: New test.
3521	* testsuite/libgomp.c/task-1.c: New test.
3522	* testsuite/libgomp.c/task-2.c: New test.
3523	* testsuite/libgomp.c/task-3.c: New test.
3524	* testsuite/libgomp.c/task-4.c: New test.
3525	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
3526	to C++ testsuite default compiler options.
3527	* testsuite/libgomp.c++/collapse-1.C: New test.
3528	* testsuite/libgomp.c++/collapse-2.C: New test.
3529	* testsuite/libgomp.c++/ctor-10.C: New test.
3530	* testsuite/libgomp.c++/for-1.C: New test.
3531	* testsuite/libgomp.c++/for-2.C: New test.
3532	* testsuite/libgomp.c++/for-3.C: New test.
3533	* testsuite/libgomp.c++/for-4.C: New test.
3534	* testsuite/libgomp.c++/for-5.C: New test.
3535	* testsuite/libgomp.c++/loop-8.C: New test.
3536	* testsuite/libgomp.c++/loop-9.C: New test.
3537	* testsuite/libgomp.c++/loop-10.C: New test.
3538	* testsuite/libgomp.c++/task-1.C: New test.
3539	* testsuite/libgomp.c++/task-2.C: New test.
3540	* testsuite/libgomp.c++/task-3.C: New test.
3541	* testsuite/libgomp.c++/task-4.C: New test.
3542	* testsuite/libgomp.c++/task-5.C: New test.
3543	* testsuite/libgomp.c++/task-6.C: New test.
3544	* testsuite/libgomp.fortran/allocatable1.f90: New test.
3545	* testsuite/libgomp.fortran/allocatable2.f90: New test.
3546	* testsuite/libgomp.fortran/allocatable3.f90: New test.
3547	* testsuite/libgomp.fortran/allocatable4.f90: New test.
3548	* testsuite/libgomp.fortran/collapse1.f90: New test.
3549	* testsuite/libgomp.fortran/collapse2.f90: New test.
3550	* testsuite/libgomp.fortran/collapse3.f90: New test.
3551	* testsuite/libgomp.fortran/collapse4.f90: New test.
3552	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
3553	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
3554	* testsuite/libgomp.fortran/lib4.f90: New test.
3555	* testsuite/libgomp.fortran/lock-1.f90: New test.
3556	* testsuite/libgomp.fortran/lock-2.f90: New test.
3557	* testsuite/libgomp.fortran/nested1.f90: New test.
3558	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
3559	* testsuite/libgomp.fortran/strassen.f90: New test.
3560	* testsuite/libgomp.fortran/tabs1.f90: New test.
3561	* testsuite/libgomp.fortran/tabs2.f: New test.
3562	* testsuite/libgomp.fortran/task1.f90: New test.
3563	* testsuite/libgomp.fortran/task2.f90: New test.
3564	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
3565	* testsuite/libgomp.fortran/vla5.f90: Likewise.
3566	* testsuite/libgomp.c/pr26943-2.c: Likewise.
3567	* testsuite/libgomp.c/pr26943-3.c: Likewise.
3568	* testsuite/libgomp.c/pr26943-4.c: Likewise.
3569
35702008-05-23  Jakub Jelinek  <jakub@redhat.com>
3571
3572	PR c++/36308
3573	* testsuite/libgomp.c++/ctor-11.C: New test.
3574	* testsuite/libgomp.c++/ctor-12.C: New test.
3575
35762008-05-15  Janis Johnson  <janis187@us.ibm.com>
3577
3578	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
3579
35802008-05-07  Jakub Jelinek  <jakub@redhat.com>
3581
3582	PR middle-end/36106
3583	* testsuite/libgomp.c/atomic-5.c: New test.
3584	* testsuite/libgomp.c/atomic-6.c: New test.
3585	* testsuite/libgomp.c/autopar-1.c: New test.
3586
35872008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3588
3589	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
3590	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
3591	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
3592	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
3593	* configure: Regenerate.
3594	* Makefile.in, testsuite/Makefile.in: Likewise.
3595
35962008-04-18  Paolo Bonzini  <bonzini@gnu.org>
3597
3598	PR bootstrap/35457
3599	* aclocal.m4: Regenerate.
3600	* configure: Regenerate.
3601
36022008-03-18  Jakub Jelinek  <jakub@redhat.com>
3603
3604	PR middle-end/35611
3605	* testsuite/libgomp.c/atomic-4.c: New test.
3606
3607	PR libgomp/35625
3608	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
3609	(gomp_iter_guided_next): Likewise.
3610	* testsuite/libgomp.c/pr35625.c: New test.
3611
36122008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3613
3614	* aclocal.m4: Regenerate.
3615	* configure: Likewise.
3616	* Makefile.in: Likewise.
3617	* testsuite/Makefile.in: Likewise.
3618
36192008-03-13  Jakub Jelinek  <jakub@redhat.com>
3620
3621	PR middle-end/35185
3622	* testsuite/libgomp.c++/pr35185.C: New test.
3623
36242008-03-12  Jakub Jelinek  <jakub@redhat.com>
3625
3626	PR middle-end/35549
3627	* testsuite/libgomp.c/pr35549.c: New test.
3628
36292008-03-06  Jakub Jelinek  <jakub@redhat.com>
3630
3631	* testsuite/libgomp.c/atomic-3.c: New test.
3632
36332008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3634
3635	PR fortran/33197
3636	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
3637	.F08 file suffixes.
3638
36392008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
3640
3641	PR libgomp/33131
3642	* configure.ac: Add ACX_HEADER_STRING.
3643	* env.c: Include strings.h.
3644	* aclocal.m4: Regenerate.
3645	* config.h.in: Regenerate.
3646	* configure: Regenerate.
3647	* Makefile.in: Regenerate.
3648	* testsuite/Makefile.in: Regenerate.
3649
36502008-02-15  Jakub Jelinek  <jakub@redhat.com>
3651
3652	PR middle-end/35196
3653	* testsuite/libgomp.c/pr35196.c: New test.
3654
3655	PR middle-end/35130
3656	* testsuite/libgomp.fortran/pr35130.f90: New test.
3657	* testsuite/libgomp.c/pr35130.c: New test.
3658
36592008-01-25  Jakub Jelinek  <jakub@redhat.com>
3660
3661	PR middle-end/33880
3662	* testsuite/libgomp.c/pr33880.c: New test.
3663	* testsuite/libgomp.fortran/pr33880.f90: New test.
3664
36652008-01-24  David Edelsohn  <edelsohn@gnu.org>
3666
3667	* configure: Regenerate.
3668
36692008-01-08  Jakub Jelinek  <jakub@redhat.com>
3670
3671	* configure.ac: Move futex checking into ../config/futex.m4.
3672	* configure: Rebuilt.
3673	* aclocal.m4: Rebuilt.
3674	* Makefile.in: Rebuilt.
3675
3676	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
3677	2007-10-15 ../config/tls.m4 change.
3678
36792007-12-19  Jakub Jelinek  <jakub@redhat.com>
3680
3681	PR c++/34513
3682	* testsuite/libgomp.c/pr34513.c: New test.
3683	* testsuite/libgomp.c++/pr34513.C: New test.
3684
36852007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
3686
3687	PR target/32765
3688	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
3689
36902007-12-04  Jakub Jelinek  <jakub@redhat.com>
3691
3692	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
3693
36942007-12-03  Jakub Jelinek  <jakub@redhat.com>
3695
3696	* testsuite/libgomp.c/private-1.c: New test.
3697
36982007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
3699	    Paolo Bonzini  <bonzini@gnu.org>
3700
3701	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
3702	instead of 'VPATH ='.
3703	* Makefile.in: Regenerate.
3704
37052007-11-23  Matthias Klose  <doko@ubuntu.com>
3706
3707	* configure.ac: Adjust makeinfo version check.
3708	* configure: Regenerate.
3709
37102007-11-10  Jakub Jelinek  <jakub@redhat.com>
3711
3712	PR fortran/34020
3713	* testsuite/libgomp.fortran/pr34020.f90: New test.
3714
37152007-11-06  Jakub Jelinek  <jakub@redhat.com>
3716
3717	PR c++/33894
3718	* testsuite/libgomp.c++/atomic-1.C: New test.
3719
37202007-10-25  Jakub Jelinek  <jakub@redhat.com>
3721
3722	PR libgomp/33275
3723	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
3724	Make x and y integers rather than (implicit) reals.  Add private (j)
3725	clause to the last omp parallel.
3726
37272007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
3728
3729	* configure: Regenerate following changes to ../config/tls.m4.
3730
37312007-09-28  Jakub Jelinek  <jakub@redhat.com>
3732
3733	* testsuite/libgomp.fortran/stack.f90: New test.
3734
37352007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
3736
3737	* config/mingw32/proc.c: New file.
3738
37392007-09-05  Uros Bizjak  <ubizjak@gmail.com>
3740
3741	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
3742	(main): Use __get_cpuid to get i386 target fetaures.
3743	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
3744	(main): Use __get_cpuid to get x86_64 target fetaures.
3745
37462007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
3747
3748	PR target/32765
3749	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
3750	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
3751
37522007-07-12  Jakub Jelinek  <jakub@redhat.com>
3753
3754	PR fortran/32550
3755	* testsuite/libgomp.fortran/pr32550.f90: New test.
3756	* testsuite/libgomp.fortran/crayptr2.f90: New test.
3757
37582007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
3759
3760	* aclocal.m4: Regenerated.
3761
37622007-07-05  Tobias Burnus  <burnus@net-b.de>
3763
3764	PR fortran/32359
3765	* testsuite/libgomp.fortran/pr32359.f90: New.
3766
37672007-07-02  Jakub Jelinek  <jakub@redhat.com>
3768
3769	PR libgomp/32468
3770	* sections.c (GOMP_parallel_sections_start): Only decrease
3771	number of threads to COUNT if dyn_var is true.
3772	* testsuite/libgomp.c/pr32468.c: New test.
3773
37742007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3775
3776	PR libgomp/26308
3777	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
3778
37792007-06-21  Jakub Jelinek  <jakub@redhat.com>
3780
3781	PR middle-end/32362
3782	* testsuite/libgomp.c/pr32362-1.c: New test.
3783	* testsuite/libgomp.c/pr32362-2.c: New test.
3784	* testsuite/libgomp.c/pr32362-3.c: New test.
3785
37862007-06-07  Jakub Jelinek  <jakub@redhat.com>
3787
3788	* team.c (gomp_team_start): Fix setting up thread_attr
3789	stack size.
3790
37912007-06-02  Paolo Bonzini  <bonzini@gnu.org>
3792
3793	* configure: Regenerate.
3794
37952007-05-23  Steve Ellcey  <sje@cup.hp.com>
3796
3797	* Makefile.in: Regenerate.
3798	* configure: Regenerate.
3799	* aclocal.m4: Regenerate.
3800	* testsuite/Makefile.in: Regenerate.
3801
38022007-05-04  Jakub Jelinek  <jakub@redhat.com>
3803
3804	* config/linux/proc.c: New file.
3805
3806	PR libgomp/28482
3807	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
3808
38092007-04-19  Daniel Franke  <franke.daniel@gmail.com>
3810
3811	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
3812
38132007-04-16  Matthias Klose  <doko@debian.org>
3814
3815	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
3816	flags if not building with -m64.
3817	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
3818	flag for i?86-*-* targets, if current target matches -m64.
3819
38202007-04-14  Steve Ellcey  <sje@cup.hp.com>
3821
3822	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
3823	* Makefile.in: Regenerate.
3824
38252007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3826
3827	PR testsuite/31369
3828	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
3829	ld_library_path.
3830	* testsuite/libgomp.fortran/fortran.exp: Likewise.
3831
38322007-04-04  Jakub Jelinek  <jakub@redhat.com>
3833
3834	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
3835	decls.
3836	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
3837	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
3838	(parse_affinity): New function.
3839	(initialize_env): Call it and gomp_init_affinity.
3840	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
3841	create new pthread_attr_t and call gomp_init_thread_affinity
3842	on it for each thread before passing the attribute to pthread_create.
3843	* config/linux/affinity.c: New file.
3844	* config/posix/affinity.c: New file.
3845	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
3846	* configure: Rebuilt.
3847	* config.h.in: Rebuilt.
3848	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
3849	* Makefile.in: Rebuilt.
3850
38512007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
3852
3853	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
3854	*-*-darwin*.
3855	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
3856	and use it if found.
3857
38582007-03-18  Uros Bizjak  <ubizjak@gmail.com>
3859
3860	* testsuite/config/default.exp: New file.
3861	* testsuite/lib/libgomp.exp: New file.
3862	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
3863	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
3864	load_lib *, load_gcc_lib *): Move to libgomp.exp.
3865	(libgomp_load): Remove.
3866	* testsuite/lib/libgomp.exp (libgomp_init): Compute
3867	always_ld_library_path, not ld_library_path.  Set additional_flags
3868	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
3869	(target_compile): Do not call libgomp_init.  Append lang_library_path
3870	and lang_link_flags to options.
3871	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
3872	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
3873	here.
3874	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
3875	always_ld_library_path.  Set LD_LIBRARY_PATH here.
3876	* testsuite/libgomp.fortran/fortran.exp: Ditto.
3877	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
3878	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
3879	CX8 flag.
3880	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
3881	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
3882	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
3883	* testsuite/libgomp.c/pr29947-1.c: Ditto.
3884	* testsuite/libgomp.c/atomic-10.c: Ditto.
3885
38862007-03-21  Jakub Jelinek  <jakub@redhat.com>
3887
3888	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
3889	dg-final cleanup-modules line.
3890	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
3891	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
3892	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
3893	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3894	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
3895	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3896	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3897
38982007-03-18  Andreas Schwab  <schwab@suse.de>
3899
3900	* acinclude.m4: Adjust regular expression for ld version
3901	extraction.
3902	* configure: Regenerate.
3903
39042007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
3905
3906	* Makefile.am: Add install-pdf target as copied from
3907	automake v1.10 rules.
3908	* Makefile.in: Regenerate
3909
39102007-02-07  Jakub Jelinek  <jakub@redhat.com>
3911
3912	PR libgomp/28486
3913	* configure: Regenerate.
3914
3915	PR c++/30703
3916	* testsuite/libgomp.c++/pr30703.C: New test.
3917
39182007-02-02  Jakub Jelinek  <jakub@redhat.com>
3919
3920	Revert:
3921	2006-07-05  Eric Christopher  <echristo@apple.com>
3922	* configure.ac: Depend addition of -pthread on host OS.
3923	* configure: Regenerate.
3924
39252007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3926
3927	* libgomp.texi: Fix spacing after abbreviations.
3928
39292007-01-31  Daniel Franke <franke.daniel@gmail.com>
3930
3931	PR libgomp/30546
3932	* configure.ac: Add check for makeinfo
3933	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
3934	if an appropiate version of makeinfo is found.
3935	* aclocal.m4: Regenerated.
3936	* configure: Regenerated.
3937	* Makefile.in: Regenerated.
3938	* testsuite/Makefile.in: Regenerated.
3939
39402007-01-29  Daniel Franke <franke.daniel@gmail.com>
3941
3942	PR libgomp/30540
3943	* libgomp.texi: More about implementation-dependent settings.
3944
39452007-01-26  Tobias Burnus  <burnus@net-b.de>
3946
3947	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
3948
39492007-01-24  Jakub Jelinek  <jakub@redhat.com>
3950
3951	PR middle-end/30494
3952	* testsuite/libgomp.c/pr30494.c: New test.
3953
39542007-01-15  Tom Tromey  <tromey@redhat.com>
3955
3956	* configure: Rebuilt.
3957	* configure.ac: Fixed comment.
3958
39592007-01-14  Daniel Franke  <franke.daniel@gmail.com>
3960
3961	* libgomp.texi: Document implementation specific default values of
3962	environment variables.
3963
39642006-12-21  Daniel Franke  <franke.daniel@gmail.com>
3965
3966	PR libgomp/28209
3967	* libgomp.texi: New file.
3968	* configure.ac: Add --enable-generated-files-in-srcdir option.
3969	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
3970	files to srcdir.
3971	* Makefile.in: Regenerated.
3972	* config.h.in: Regenerated.
3973	* testsuite/Makefile.in: Regenerated.
3974	* NOTES: Removed.
3975
39762006-12-04  Daniel Franke  <franke.daniel@gmail.com>
3977
3978	PR libgomp/29949
3979	* env.c (omp_set_num_threads): Set illegal thread count to 1.
3980
39812006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3982
3983	* configure: Regenerate.
3984
39852006-12-04  Jakub Jelinek  <jakub@redhat.com>
3986
3987	PR libgomp/29947
3988	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
3989	start if there shouldn't be any loop iterations.
3990	(gomp_loop_ordered_static_start): Remove start == end test.
3991	* testsuite/libgomp.c/pr29947-1.c: New test.
3992	* testsuite/libgomp.c/pr29947-2.c: New test.
3993
39942006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3995
3996	* configure.tgt: Force initial-exec TLS model on Linux only.
3997
39982006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
3999
4000	* configure: Regenerated.
4001
40022006-11-09  Uros Bizjak  <ubizjak@gmail.com>
4003
4004	* env.c (parse_schedule): Reject out of range values.
4005	(parse_unsigned_long): Reject out of range, negative or zero values.
4006
40072006-10-29  Jakub Jelinek  <jakub@redhat.com>
4008
4009	PR fortran/29629
4010	* testsuite/libgomp.fortran/pr29629.f90: New test.
4011
40122006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
4013
4014	PR libgomp/29494
4015	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
4016	* config/posix95: New directory.
4017	* config/posix95/omp-lock.h: New file.
4018	* config/posix95/lock.c: Likewise.
4019
40202006-10-14  Geoffrey Keating  <geoffk@apple.com>
4021
4022	* aclocal.m4: Regenerate.
4023	* configure: Regenerate.
4024
40252006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
4026
4027	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
4028	'<' to '<='.
4029
40302006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
4031
4032	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
4033	test.
4034	* configure: Regenerate.
4035	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
4036
40372006-09-26  Jakub Jelinek  <jakub@redhat.com>
4038
4039	PR middle-end/25261
4040	PR middle-end/28790
4041	* testsuite/libgomp.c/nestedfn-4.c: New test.
4042	* testsuite/libgomp.c/nestedfn-5.c: New test.
4043	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
4044
4045	PR fortran/29097
4046	* testsuite/libgomp.fortran/condinc1.f: New test.
4047	* testsuite/libgomp.fortran/condinc2.f: New test.
4048	* testsuite/libgomp.fortran/condinc3.f90: New test.
4049	* testsuite/libgomp.fortran/condinc4.f90: New test.
4050	* testsuite/libgomp.fortran/condinc1.inc: New file.
4051
40522006-09-18  Tom Tromey  <tromey@redhat.com>
4053
4054	* configure: Rebuilt.
4055
40562006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
4057
4058	PR c/28768
4059	PR preprocessor/14634
4060	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
4061	to AC_DEFINE.
4062	* configure: Regenerate.
4063
40642006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
4065
4066	* testsuite/libgomp.fortran/reduction3.f90: Change
4067	-2147483648 to -huge(i)-1 to avoid overflow.
4068	* testsuite/libgomp.fortran/reduction4.f90: Change
4069	Z'ffffffff' to not(0) to avoid overflow.
4070
40712006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
4072
4073	PR libgomp/25938
4074	* Makefile.am (libsubincludedir): New.
4075	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
4076	* Makefile.in: Regenerate.
4077
40782006-08-17  Jakub Jelinek  <jakub@redhat.com>
4079
4080	PR libgomp/28725
4081	* env.c: Include ctype.h.
4082	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
4083	leading and/or trailing whitespace and compare strings case
4084	insensitively.
4085
40862006-07-16  Jakub Jelinek  <jakub@redhat.com>
4087
4088	PR fortran/28390
4089	* testsuite/libgomp.fortran/pr28390.f: New test.
4090
40912006-07-05  Eric Christopher  <echristo@apple.com>
4092
4093	* configure.ac: Depend addition of -pthread on host OS.
4094	* configure: Regenerate.
4095
40962006-06-21  Jakub Jelinek  <jakub@redhat.com>
4097
4098	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
4099	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
4100	defined.
4101
41022006-06-20  Jakub Jelinek  <jakub@redhat.com>
4103
4104	PR libgomp/26175
4105	PR libgomp/26477
4106	* configure.ac: If neither --enable-linux-futex nor
4107	--disable-linux-futex is passed, determine the default by checking
4108	for compiling and/or running against NPTL.  With --enable-linux-futex,
4109	check if SYS_gettid and SYS_futex are defined.
4110	* configure: Rebuilt.
4111
41122006-06-14  Richard Henderson  <rth@redhat.com>
4113
4114	PR libgomp/28008
4115	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
4116	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
4117
41182006-06-09  Richard Henderson  <rth@redhat.com>
4119
4120	* env.c (gomp_nthreads_var): Change to unsigned long.
4121	(gomp_run_sched_chunk): Likewise.
4122	(parse_unsigned_long): Rename from parse_num_threads and generalize.
4123	(initialize_env): Initialize gomp_thread_attr.
4124	* libgomp.h (gomp_nthreads_var): Update decl.
4125	(gomp_run_sched_chunk): Likewise.
4126	(gomp_thread_attr): Declare.
4127	* team.c (gomp_thread_attr): Export.
4128	(initialize_team): Don't initialize it.
4129
41302006-06-09  Jakub Jelinek  <jakub@redhat.com>
4131
4132	PR fortran/27916
4133	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
4134	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
4135
41362006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
4137
4138	* config/mingw32/time.c: New file.
4139	* configure.tgt: Use it.
4140
41412006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
4142
4143	* Makefile.am: Add install-html target. Add install-html to .PHONY
4144	* Makefile.in: Regenerate.
4145
41462006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4147
4148	PR libgomp/27612
4149	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
4150	* testsuite/libgomp.c/critical-1.c: Likewise.
4151	* testsuite/libgomp.c/loop-1.c: Likewise.
4152	* testsuite/libgomp.c/loop-2.c: Likewise.
4153	* testsuite/libgomp.c/single-1.c: Likewise.
4154	* testsuite/libgomp.c/ordered-1.c: Likewise.
4155	* testsuite/libgomp.c/ordered-2.c: Likewise.
4156
41572006-05-15  Jakub Jelinek  <jakub@redhat.com>
4158
4159	PR middle-end/27416
4160	* libgomp.fortran/pr27416-1.f90: New test.
4161
41622006-05-03  Jakub Jelinek  <jakub@redhat.com>
4163
4164	PR fortran/27395
4165	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
4166	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
4167
41682006-05-02  Jakub Jelinek  <jakub@redhat.com>
4169
4170	PR c++/26943
4171	* testsuite/libgomp.c/pr26943-1.c: New test.
4172	* testsuite/libgomp.c/pr26943-2.c: New test.
4173	* testsuite/libgomp.c/pr26943-3.c: New test.
4174	* testsuite/libgomp.c/pr26943-4.c: New test.
4175	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
4176	* testsuite/libgomp.c++/pr26943.C: New test.
4177
41782006-05-02  Jakub Jelinek  <jakub@redhat.com>
4179
4180	PR middle-end/27337
4181	* testsuite/libgomp.c++/pr27337.C: New test.
4182
41832006-04-26  Jakub Jelinek  <jakub@redhat.com>
4184
4185	PR c/26171
4186	* testsuite/libgomp.c/pr26171.c: New test.
4187
41882006-04-25  Richard Henderson  <rth@redhat.com>
4189
4190	PR libgomp/25865
4191	* configure.ac: Use GCC_CHECK_TLS.
4192	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
4193	* Makefile.in, aclocal.m4, configure: Regenerate.
4194
41952006-04-10  Matthias Klose  <doko@debian.org>
4196
4197	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
4198	directory names containing underscores.
4199
42002006-03-21  Jakub Jelinek  <jakub@redhat.com>
4201
4202	PR c++/26691
4203	* testsuite/libgomp.c++/pr26691.C: New test.
4204
42052006-03-13  Jakub Jelinek  <jakub@redhat.com>
4206
4207	* testsuite/libgomp.fortran/retval2.f90: New test.
4208
42092006-03-09  Diego Novillo  <dnovillo@redhat.com>
4210
4211	* testsuite/libgomp.c++: New directory.
4212
42132006-02-25  Shantonu Sen  <ssen@opendarwin.org>
4214
4215	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
4216	* config/posix/sem.c: Implement the above.
4217
42182006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
4219
4220	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
4221	define HAVE_BROKEN_POSIX_SEMAPHORES.
4222	* configure: Rebuilt.
4223	* config.h.in: Rebuilt.
4224
42252006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
4226
4227	PR bootstrap/26161
4228	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
4229	for the other pthread check.
4230	* configure: Regenerate.
4231	* config.h.in: Regenerate.
4232
42332006-02-15  Jakub Jelinek  <jakub@redhat.com>
4234
4235	PR libgomp/25938
4236	PR libgomp/25984
4237	* Makefile.am (fincludedir): New variable.
4238	(nodist_include_HEADERS): Remove Fortran files.
4239	(nodist_finclude_HEADERS): New variable.
4240	* Makefile.in: Regenerated.
4241
42422006-02-13  Jakub Jelinek  <jakub@redhat.com>
4243
4244	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
4245	Remove tests for returning assumed character length arrays.
4246
42472006-02-12  Roger Sayle  <roger@eyesopen.com>
4248	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
4249
4250	PR libgomp/25936
4251	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
4252
42532006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
4254
4255	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
4256
42572006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
4258
4259	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
4260	part of LD_LIBRARY_PATH manually.
4261
42622006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
4263
4264	PR libgomp/25852
4265	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
4266	libgomp_init.
4267
42682005-01-25  Paolo Bonzini  <bonzini@gnu.org>
4269
4270	PR libgomp/25884
4271	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
4272	* configure.ac (PERL): Don't set.
4273	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
4274	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
4275	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
4276	* omp.h.in: Wrap the new configure substitutions with @ characters.
4277	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
4278	* aclocal.m4, configure, Makefile.in: Regenerate.
4279	* mkomp_h.pl: Delete.
4280
42812005-01-24  Paolo Bonzini  <bonzini@gnu.org>
4282
4283	PR libgomp/25259
4284	* configure.ac: Use GCC_HEADER_STDINT.
4285	* libgomp.h: Include gstdint.h.
4286	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
4287	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
4288
42892006-01-24  Richard Henderson  <rth@redhat.com>
4290
4291	PR libgomp/25942
4292	* configure.ac: Add AM_MAINTAINER_MODE.
4293	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
4294
42952006-01-24  Diego Novillo  <dnovillo@redhat.com>
4296
4297	* Makefile.in: Regenerate.
4298	* testsuite/Makefile.in: Regenerate.
4299	* aclocal.m4: Regenerate.
4300
43012006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
4302
4303	* config/posix/proc.c: Conditional include of sys/loadavg.h for
4304	Solaris.
4305	* configure.ac: Add check for loadavg.h.
4306	(link_gomp): Adjust comment.
4307	* configure: Regenerate.
4308	* config.h.in: Regenerate.
4309
43102006-01-21  Steve Ellcey  <sje@cup.hp.com>
4311
4312	PR libgomp/25877
4313	* configure.ac: Remove check for alloca.h.
4314	* configure: Regenerate.
4315	* config.h.in: Regenerate.
4316	* libgomp.h: define gomp_alloca to be __builtin_alloca.
4317	* team.c: Remove use of alloca.h.
4318	Call gomp_alloca instead of alloca.
4319
43202006-01-20  Steve Ellcey  <sje@cup.hp.com>
4321
4322	PR libgomp/25877
4323	* team.c: Add include of alloca.h.
4324	* configure.ac: Add check for alloca.h.
4325	* configure: Regenerate.
4326	* config.h.in: Regenerate.
4327
43282006-01-17  Jakub Jelinek  <jakub@redhat.com>
4329
4330	PR fortran/25219
4331	* testsuite/libgomp.fortran/pr25219.f90: New test.
4332
43332005-12-05  Uros Bizjak  <uros@kss-loka.si>
4334
4335	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
4336	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
4337	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
4338	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
4339	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
4340	testsuite/libgomp.fortran/threadprivate1.f90,
4341	testsuite/libgomp.fortran/threadprivate2.f90,
4342	testsuite/libgomp.fortran/threadprivate3.f90,
4343	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
4344	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
4345	testsuite/libgomp.fortran/omp_parse3.f90: Change required
4346	effective-target to TLS runtime.
4347
4348	* testsuite/libgomp.fortran/pr25162.f: Require
4349	effective-target TLS runtime.
4350
43512005-12-01  Jakub Jelinek  <jakub@redhat.com>
4352
4353	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
4354	* testsuite/libgomp.c/nestedfn-3.c: New test.
4355
43562005-11-30  Jakub Jelinek  <jakub@redhat.com>
4357
4358	PR fortran/25162
4359	* testsuite/libgomp.fortran/pr25162.f: New test.
4360
43612005-11-28  Jakub Jelinek  <jakub@redhat.com>
4362
4363	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
4364	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
4365
43662005-11-25  Jakub Jelinek  <jakub@redhat.com>
4367
4368	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
4369	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
4370	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
4371	single.c, team.c, work.c, config/linux/alpha/futex.h,
4372	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
4373	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
4374	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
4375	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
4376	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
4377	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
4378	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
4379	FSF address.
4380
43812005-11-18  Jakub Jelinek  <jakub@redhat.com>
4382
4383	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
4384	to nodist_noinst_HEADERS.
4385	* Makefile.in: Rebuilt.
4386
4387	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
4388	add integer count field.
4389	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
4390	omp_nest_lock_t type change.
4391	(omp_init_nest_lock): Likewise.  Initialize count to 0.
4392	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
4393	Increment count.
4394	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
4395	Decrement count.
4396	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
4397	Increment count if successful and return the new nesting level.
4398	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
4399	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
4400	* testsuite/libgomp.c/lib-1.c: New test.
4401	* testsuite/libgomp.fortran/lib1.f90: New test.
4402	* testsuite/libgomp.fortran/lib2.f: New test.
4403	* testsuite/libgomp.fortran/lib3.f: New test.
4404
44052005-11-17  Richard Henderson  <rth@redhat.com>
4406
4407	PR 24845
4408	* Makefile.am (nodist_toolexeclib_HEADERS): New.
4409	* configure.ac (link_gomp): New.  Substitute it.
4410	(AC_CONFIG_FILES): Add libgomp.spec.
4411	* libgomp.spec.in: New file.
4412	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
4413	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
4414
44152005-11-18  Jakub Jelinek  <jakub@redhat.com>
4416
4417	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
4418	reduction(-:var) behaving the same as reduction(+:var).
4419	* testsuite/libgomp.c/reduction-4.c: New test.
4420
44212005-11-15  Uros Bizjak  <uros@kss-loka.si>
4422
4423	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
4424	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
4425	testsuite/libgomp.c/copyin-3.c,
4426	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
4427	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
4428	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
4429	testsuite/libgomp.c++/pr24455.C,
4430	testsuite/libgomp.fortran/threadprivate1.f90,
4431	testsuite/libgomp.fortran/threadprivate2.f90,
4432	testsuite/libgomp.fortran/threadprivate3.f90,
4433	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
4434	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
4435	testsuite/libgomp.fortran/omp_parse3.f90: Require
4436	effective-target TLS.
4437
44382005-11-14  Diego Novillo  <dnovillo@redhat.com>
4439
4440	* HEADER: Remove.
4441
44422005-11-13  Jakub Jelinek  <jakub@redhat.com>
4443
4444	PR libgomp/24797
4445	* team.c (initialize_team): Pass NULL rather than free as
4446	pthread_key_create destructor.  Initialize thread specific data
4447	pointer in initial thread to a static local variable rather than
4448	malloced memory.
4449
44502005-11-11  Uros Bizjak  <uros@kss-loka.si>
4451
4452	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
4453	its location to ld_library_path.
4454
44552005-11-10  Diego Novillo  <dnovillo@redhat.com>
4456
4457	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
4458
44592005-11-10  Diego Novillo  <dnovillo@redhat.com>
4460
4461	* testsuite/libgomp.c: Rename from libgomp.dg.
4462
44632005-11-09  Diego Novillo  <dnovillo@redhat.com>
4464
4465	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
4466	threadprivate variable 'i'.
4467
44682005-11-09  Jakub Jelinek  <jakub@redhat.com>
4469
4470	* config/linux/s390/futex.h: New file.
4471	* configure.tgt: Use it.
4472
4473	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
4474	before the parallel.
4475
44762005-11-08  Jakub Jelinek  <jakub@redhat.com>
4477
4478	PR c++/24734
4479	* testsuite/libgomp.c++/master-1.C: New test.
4480
44812005-11-07  Jakub Jelinek  <jakub@redhat.com>
4482
4483	* testsuite/libgomp.dg/copyin-3.c: New test.
4484
44852005-11-07  Jakub Jelinek  <jakub@redhat.com>
4486
4487	* testsuite/libgomp.fortran/retval1.f90: New test.
4488	* testsuite/libgomp.fortran/vla7.f90: New test.
4489
44902005-11-06  Jakub Jelinek  <jakub@redhat.com>
4491
4492	* testsuite/libgomp.fortran/vla2.f90: New test.
4493	* testsuite/libgomp.fortran/vla3.f90: New test.
4494	* testsuite/libgomp.fortran/vla4.f90: New test.
4495	* testsuite/libgomp.fortran/vla5.f90: New test.
4496	* testsuite/libgomp.fortran/vla6.f90: New test.
4497
44982005-11-01  Jakub Jelinek  <jakub@redhat.com>
4499
4500	* config/linux/sparc/futex.h: New file.
4501	* configure.tgt: Use it.
4502	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
4503
4504	* critical.c: Include stdlib.h.
4505	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
4506	ignoring return value.
4507	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
4508	LIBGOMP_CHECK_SYNC_BUILTINS check.
4509	* configure: Rebuilt.
4510
45112005-10-31  Jakub Jelinek  <jakub@redhat.com>
4512
4513	* testsuite/libgomp.fortran/vla1.f90: New test.
4514
45152005-10-31  Richard Henderson  <rth@redhat.com>
4516
4517	* testsuite/libgomp.fortran/character2.f90: Fix race condition
4518	setting 's' in different threads.
4519
45202005-10-31  Jakub Jelinek  <jakub@redhat.com>
4521
4522	* libgomp.h (attribute_hidden, ialias): Define.
4523	* config/posix/proc.c (omp_get_num_procs): Add ialias.
4524	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
4525	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
4526	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
4527	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
4528	omp_test_lock, omp_test_nest_lock): Likewise.
4529	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
4530	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
4531	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
4532	omp_test_lock, omp_test_nest_lock): Likewise.
4533	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
4534	omp_get_dynamic, omp_get_nested): Likewise.
4535	* parallel.c (omp_get_num_threads, omp_get_max_threads,
4536	omp_get_thread_num, omp_in_parallel): Likewise.
4537	* fortran.c (ialias_redirect): Define.
4538	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
4539	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
4540	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
4541	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
4542	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
4543	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
4544	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
4545	omp_get_wtime): Add ialias_redirect.
4546
45472005-10-30  Jakub Jelinek  <jakub@redhat.com>
4548
4549	* fortran.c: Include stdlib.h.
4550
45512005-10-29  Jakub Jelinek  <jakub@redhat.com>
4552
4553	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
4554	* Makefile.in: Regenerated.
4555
45562005-10-28  Jakub Jelinek  <jakub@redhat.com>
4557
4558	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
4559	* libgomp_f.h.in (omp_check_defines): New function.
4560	* env.c: Include libgomp_f.h.
4561	(initialize_env): Call omp_check_defines.
4562
4563	* testsuite/libgomp.dg/copyin-2.c: New test.
4564	* testsuite/libgomp.c++/copyin-2.C: New test.
4565	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
4566
4567	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
4568	* testsuite/libgomp.fortran/sharing2.f90: New test.
4569
4570	* testsuite/libgomp.dg/copyin-1.c: New test.
4571	* testsuite/libgomp.c++/copyin-1.C: New test.
4572
45732005-10-26  Jakub Jelinek  <jakub@redhat.com>
4574
4575	* testsuite/libgomp.fortran/crayptr1.f90: New test.
4576
4577	* testsuite/libgomp.fortran/workshare1.f90: New test.
4578
4579	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
4580	only test.
4581	* libgomp.fortran/sharing1.f90: New test.
4582
45832005-10-24  Jakub Jelinek  <jakub@redhat.com>
4584
4585	PR c++/24502
4586	* testsuite/libgomp.c++/loop-7.C: New test.
4587
4588	* testsuite/libgomp.dg/nestedfn-2.c: New test.
4589
4590	* testsuite/libgomp.dg/nestedfn-1.c: New test.
4591	* testsuite/libgomp.fortran/reduction6.f90: New test.
4592	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
4593
45942005-10-23  Richard Henderson  <rth@redhat.com>
4595
4596	* testsuite/libgomp.c++/ctor-1.C: New.
4597	* testsuite/libgomp.c++/ctor-2.C: New.
4598	* testsuite/libgomp.c++/ctor-3.C: New.
4599	* testsuite/libgomp.c++/ctor-4.C: New.
4600	* testsuite/libgomp.c++/ctor-5.C: New.
4601	* testsuite/libgomp.c++/ctor-6.C: New.
4602	* testsuite/libgomp.c++/ctor-7.C: New.
4603	* testsuite/libgomp.c++/ctor-8.C: New.
4604	* testsuite/libgomp.c++/ctor-9.C: New.
4605
46062005-10-21  Diego Novillo  <dnovillo@redhat.com>
4607
4608	PR 24455
4609	* testsuite/libgomp.c++/pr24455-1.C: New test.
4610	* testsuite/libgomp.c++/pr24455.C: New test.
4611	* testsuite/libgomp.dg/pr24455-1.c: New test.
4612	* testsuite/libgomp.dg/pr24455.c: New test.
4613
46142005-10-20  Richard Henderson  <rth@redhat.com>
4615
4616	* testsuite/libgomp.c++/loop-6.C: New.
4617	* testsuite/libgomp.dg/loop-3.c: New.
4618
46192005-10-20  Jakub Jelinek  <jakub@redhat.com>
4620
4621	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
4622	explicitly private.
4623	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
4624	explicitly shared.
4625
46262005-10-19  Diego Novillo  <dnovillo@redhat.com>
4627
4628	* testsuite/libgomp.fortran/jacobi.f: New test.
4629
46302005-10-19  Richard Henderson  <rth@redhat.com>
4631
4632	* configure.tgt (i?86-linux): Default to with_arch instead of
4633	CFLAGS.  Add -mtune to match target_cpu.
4634	(x86_64-linux): Tune to i686.
4635
4636	* fortran.c (omp_test_nest_lock_): Fix typo.
4637
46382005-10-19  Jakub Jelinek  <jakub@redhat.com>
4639
4640	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
4641	gomp_ordered_sync): Do nothing if team->nthreads == 1.
4642	* testsuite/libgomp.dg/ordered-3.c: New test.
4643
4644	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
4645	Remove volatile keyword.
4646
4647	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
4648	in COMMON block to avoid warnings on 64-bit targets.
4649
46502005-10-18  Diego Novillo  <dnovillo@redhat.com>
4651
4652	* testsuite/libgomp.dg/shared-3.c: New test.
4653
46542005-10-18  Jakub Jelinek  <jakub@redhat.com>
4655
4656	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
4657	* testsuite/libgomp.fortran/reduction5.f90: New test.
4658
46592005-10-18  Jakub Jelinek  <jakub@redhat.com>
4660
4661	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
4662	dg-options.
4663	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
4664	flush loop now that __sync_synchronize has proper memory barrier.
4665	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
4666	Add -ffixed-form to dg-options.
4667
46682005-10-17  Diego Novillo  <dnovillo@redhat.com>
4669
4670	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
4671	from subdirectories.
4672	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
4673	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
4674	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
4675	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
4676	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
4677	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
4678	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
4679	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
4680	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
4681	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
4682	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
4683	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
4684	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
4685	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
4686	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
4687	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
4688	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
4689	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
4690	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
4691	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
4692	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
4693	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
4694	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
4695	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
4696	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
4697
46982005-10-17  Jakub Jelinek  <jakub@redhat.com>
4699
4700	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
4701	lang_library_path exists.  Use find instead of glob to gather tests.
4702	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
4703
47042005-10-17  Diego Novillo  <dnovillo@redhat.com>
4705
4706	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
4707	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
4708	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
4709	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
4710	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
4711	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
4712	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
4713	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
4714	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
4715	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
4716	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
4717	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
4718	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
4719
47202005-10-15  Jakub Jelinek  <jakub@redhat.com>
4721
4722	* testsuite/libgomp.dg/vla-1.c: New test.
4723
4724	* testsuite/libgomp.fortran/reference2.f90: New test.
4725
4726	* testsuite/libgomp.fortran/character2.f90: Remove explicit
4727	declaration of omp_get_thread_num.
4728	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
4729	use omp_lib.
4730
4731	* testsuite/libgomp.fortran/reduction1.f90: New test.
4732	* testsuite/libgomp.fortran/reduction2.f90: New test.
4733	* testsuite/libgomp.fortran/reduction3.f90: New test.
4734	* testsuite/libgomp.fortran/reduction4.f90: New test.
4735
47362005-10-13  Richard Henderson  <rth@redhat.com>
4737
4738	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
4739	* Makefile.in: Regenerate.
4740	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
4741	* libgomp.h: Include bar.h.
4742	(struct gomp_barrier): Remove.
4743	(struct gomp_team): Add barrier.  Replace master_barrier with
4744	master_release.  Replace threads with ordered_release.
4745	(struct gomp_thread): Replace barrier with release.
4746	* ordered.c (gomp_ordered_first): Update for ordered_release change.
4747	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
4748	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
4749	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
4750	(GOMP_single_copy_end): Likewise.
4751	* team.c (gomp_threads_dock): New.
4752	(gomp_barrier_init, gomp_barrier_destroy): Remove.
4753	(gomp_thread_start): Use gomp_barrier_wait.
4754	(new_team, free_team): Update for gomp_team changes.
4755	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
4756	(gomp_team_end): Use gomp_barrier_wait.
4757	(initialize_team): Update for gomp_thread changes.
4758	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
4759	(gomp_work_share_end_nowait): Use atomic ops when available.
4760	* config/linux/bar.c, config/linux/bar.h: New files.
4761	* config/posix/bar.c, config/posix/bar.h: New files.
4762
47632005-10-13  Jakub Jelinek  <jakub@redhat.com>
4764
4765	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
4766	* testsuite/libgomp.dg/single-2.c: New test.
4767
4768	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
4769	lang_link_flags): Unset, so that they aren't inherited from previously
4770	sourced *.exp.
4771
4772	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
4773
47742005-10-12  Richard Henderson  <rth@redhat.com>
4775
4776	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
4777	(libgomp_init): Use lang_test_file, lang_library_path, and
4778	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
4779
4780	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
4781	(lang_test_file, lang_link_flags): New.
4782	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
4783
4784	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
4785	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
4786	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
4787	testsuite/libgomp.c++/parallel-1.C,
4788	testsuite/libgomp.c++/reduction-1.C,
4789	testsuite/libgomp.c++/reduction-2.C,
4790	testsuite/libgomp.c++/reduction-3.C,
4791	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
4792	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
4793	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
4794	New files, largely cribbed from the C testsuite.
4795
47962005-10-12  Jakub Jelinek  <jakub@redhat.com>
4797
4798	* testsuite/libgomp.fortran/character1.f90: New test.
4799	* testsuite/libgomp.fortran/character2.f90: New test.
4800
4801	* testsuite/libgomp.dg/nested-1.c: New test.
4802	* testsuite/libgomp.dg/nested-2.c: New test.
4803	* testsuite/libgomp.fortran/do1.f90: New test.
4804	* testsuite/libgomp.fortran/do2.f90: New test.
4805
4806	* testsuite/libgomp.fortran/reference1.f90: New test.
4807
48082005-10-11  Jakub Jelinek  <jakub@redhat.com>
4809
4810	* testsuite/libgomp.dg/reduction-1.c: New test.
4811	* testsuite/libgomp.dg/reduction-2.c: New test.
4812	* testsuite/libgomp.dg/reduction-3.c: New test.
4813
48142005-10-10  Jakub Jelinek  <jakub@redhat.com>
4815
4816	* testsuite/libgomp.dg/atomic-1.c: New test.
4817	* testsuite/libgomp.dg/atomic-2.c: New test.
4818
48192005-10-09  Richard Henderson  <rth@redhat.com>
4820
4821	* critical.c (atomic_lock): New.
4822	(initialize_critical): Initialize it.
4823	(GOMP_atomic_start, GOMP_atomic_end): New.
4824	* libgomp.map: Export them.
4825	* libgomp_g.h: Declare them.
4826
4827	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
4828
48292005-10-02  Richard Henderson  <rth@redhat.com>
4830
4831	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
4832	to XCFLAGS instead of CFLAGS.
4833
48342005-09-30  Richard Henderson  <rth@redhat.com>
4835
4836	* configure.ac: Determine whether -pthread or -lpthread is needed.
4837	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
4838	* Makefine.in, configure: Rebuild.
4839
48402005-09-28  Richard Henderson  <rth@redhat.com>
4841
4842	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
4843	* testsuite/libgomp.dg/omp-single-3.c: New test.
4844
48452005-09-28  Diego Novillo  <dnovillo@redhat.com>
4846
4847	* testsuite/libgomp.dg/omp-single-2.c: New test.
4848	* testsuite/libgomp.dg/shared-2.c: Fix return code.
4849
48502005-09-27  Richard Henderson  <rth@redhat.com>
4851
4852	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
4853	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
4854
48552005-09-27  Jakub Jelinek  <jakub@redhat.com>
4856
4857	* testsuite/libgomp.dg/omp-loop03.c: New test.
4858
48592005-09-27  Diego Novillo  <dnovillo@redhat.com>
4860
4861	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
4862
48632005-09-27  Diego Novillo  <dnovillo@redhat.com>
4864
4865	* testsuite/libgomp.dg/omp-single-1.c: New test.
4866	* testsuite/libgomp.dg/shared-1.c: Return 0.
4867	Add prototype for abort.
4868	* testsuite/libgomp.dg/shared-2.c: Likewise.
4869
48702005-09-26  Jakub Jelinek  <jakub@redhat.com>
4871
4872	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
4873	constructs.
4874
48752005-09-26  Diego Novillo  <dnovillo@redhat.com>
4876
4877	* testsuite/libgomp.dg/shared-1.c: New test.
4878	* testsuite/libgomp.dg/shared-2.c: New test.
4879
48802005-09-24  Richard Henderson  <rth@redhat.com>
4881
4882	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
4883
48842005-09-24  Richard Henderson  <rth@redhat.com>
4885
4886	* iter.c (gomp_iter_static_next): Round up when computing number
4887	of iterations.  Don't bother distributing a remainder equally.
4888
4889	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
4890	Don't call srand.  Zero b before testing.
4891	(main): New.
4892
48932005-09-24  Jakub Jelinek  <jakub@redhat.com>
4894
4895	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
4896	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
4897
48982005-09-23  Jakub Jelinek  <jakub@redhat.com>
4899
4900	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
4901	without !$omp end do, followed immediately by subroutine end.
4902
49032005-09-23  Diego Novillo  <dnovillo@redhat.com>
4904
4905	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
4906
49072005-09-22  Richard Henderson  <rth@redhat.com>
4908
4909	* critical.c (GOMP_critical_name_start): Change argument to void**.
4910	Reuse the pointer space if the mutex fits.
4911	(GOMP_critical_name_end): Likewise.
4912	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
4913	* libgomp_g.h (GOMP_critical_name_start): Update decl.
4914	(GOMP_critical_name_end): Likewise.
4915	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
4916	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
4917
49182005-09-20  Richard Henderson  <rth@redhat.com>
4919
4920	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
4921	(create_lock_lock): New.
4922	(initialize_critical): Initialize it.
4923	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
4924	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
4925
49262005-09-20  Diego Novillo  <dnovillo@redhat.com>
4927
4928	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
4929
49302005-09-20  Diego Novillo  <dnovillo@redhat.com>
4931
4932	* testsuite/libgomp.dg/omp-loop01.c: New test.
4933	* testsuite/libgomp.dg/omp-loop02.c: New test.
4934
49352005-09-20  Jakub Jelinek  <jakub@redhat.com>
4936
4937	* configure.ac (AC_PROG_FC): Add.
4938	(USE_FORTRAN): New automake conditional.
4939	* configure: Rebuilt.
4940	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
4941	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
4942	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
4943	Add rules to build them.
4944	* Makefile.in: Rebuilt.
4945	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
4946	OMP_NEST_LOCK_KIND.
4947	* libgomp.map: Add Fortran wrappers.
4948	* libgomp_f.h.in: New file.
4949	* omp_lib.h.in: New file.
4950	* omp_lib.f90.in: New file.
4951	* fortran.c: New file.
4952	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
4953	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
4954	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
4955	libgfortran has been built.
4956	* testsuite/libgomp.fortran/fortran.exp: New file.
4957	* testsuite/libgomp.fortran/omp_cond1.f: New test.
4958	* testsuite/libgomp.fortran/omp_cond2.f: New test.
4959	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
4960	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
4961	* testsuite/libgomp.fortran/omp_hello.f: New test.
4962	* testsuite/libgomp.fortran/omp_orphan.f: New test.
4963	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
4964	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
4965	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
4966	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
4967	* testsuite/libgomp.fortran/omp_reduction.f: New test.
4968	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
4969	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
4970
49712005-08-30  Richard Henderson  <rth@redhat.com>
4972
4973	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
4974	function for when aliases are not usable.
4975	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
4976	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
4977	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
4978	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
4979	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
4980	GOMP_loop_ordered_guided_next): Likewise.
4981	* ordered.c (GOMP_ordered_start): Likewise.
4982
49832005-08-01  Diego Novillo  <dnovillo@redhat.com>
4984
4985	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
4986	* testsuite/libgomp.dg/omp_hello.c: Fix return code
4987	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
4988	* testsuite/libgomp.dg/omp_orphan.c: Likewise
4989	* testsuite/libgomp.dg/omp_reduction.c: Likewise
4990	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
4991	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
4992	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
4993	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
4994
49952005-07-07  Eric Christopher  <echristo@redhat.com>
4996	    Diego Novillo  <dnovillo@redhat.com>
4997
4998	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
4999	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
5000	up code.
5001	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
5002	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
5003	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
5004	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
5005	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
5006	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
5007	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
5008
50092005-06-13  Diego Novillo  <dnovillo@redhat.com>
5010
5011	* TOPLEVEL.patch: Remove.
5012
50132005-05-16  Richard Henderson  <rth@redhat.com>
5014
5015	* configure.ac: Test for clock_gettime.
5016	* config.h.in, configure: Rebuild.
5017	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
5018	(omp_get_wtime): Use clock_gettime if available.
5019	(omp_get_wtick): Use clock_getres if available.
5020
50212005-05-11  Richard Henderson  <rth@redhat.com>
5022
5023	* config/linux/ia64/futex.h: New file.
5024	* configure.tgt: Use it.
5025
5026	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
5027
50282005-05-07  Richard Henderson  <rth@redhat.com>
5029
5030	* config/linux/powerpc/futex.h: New file.
5031	* configure.tgt: Use it.
5032
5033	* config/linux/i486/futex.h: Merge ...
5034	* config/linux/x86_64/futex.h: ... into ...
5035	* config/linux/x86/futex.h: ... here.
5036	* configure.tgt: Update to match.
5037
50382005-05-06  Richard Henderson  <rth@redhat.com>
5039
5040	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
5041	* config/linux/i486/futex.h: Likewise.
5042	* config/linux/x86_64/futex.h: Likewise.
5043
5044	* config/linux/lock.c: New file.
5045	* config/linux/omp-lock.h: New file.
5046
5047	* critical.c, env.h: Don't include omp.h
5048	* config/posix/lock.c: Include libgomp.h instead of omp.h.
5049	* config/posix/time.c: Likewise.
5050	* config/posix/omp-lock.h: New file.
5051	* libgomp.h: Include omp-lock.h and omp.h.
5052	* Makefile.am (nodist_include_HEADERS): New.
5053	(omp.h): New rule.
5054	* configure.ac (PERL): New.
5055	* mkomp_h.pl: New file.
5056	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
5057	with templates.
5058	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
5059
5060	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
5061	build directory.  Re-add -march=i486 hack.
5062
5063	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
5064	(libgomp_link_flags): Remove.
5065	(libgomp_initialized): Remove.
5066	(libgomp_init): Don't protect from reinitialization.  Copy code
5067	from libstdc++ for getting the multilib set correctly.
5068
50692005-05-05  Richard Henderson  <rth@redhat.com>
5070
5071	* config/linux/alpha/futex.h: New file.
5072	* configure.tgt (alpha*-*-linux*): Use it.
5073
5074	* config/posix/mutex.c: New file.
5075	* config/posix/sem.c: Use libgomp.h.
5076
5077	* configure.tgt (x86_64-linux): Also test CC for -m32.
5078	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
5079
5080	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
5081	after $gccpath.
5082
5083	* Makefile.am (SUBDIRS): New.
5084	(libgomp_la_LDFLAGS): Add -lpthread.
5085	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
5086	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
5087
5088	* libgomp_g.h: New file.
5089	* libgomp.h: Split out all public declarations to libgomp_g.h.
5090	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
5091	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
5092	* config/linux/sem.h: Likewise.
5093	* config/posix/sem.h: Likewise.
5094
5095	* Makefile.am (AM_LDFLAGS): New.
5096	(libgomp_version_script): Split out from ...
5097	(libgomp_la_LDFLAGS): ... here.
5098	(libgomp_version_info): New.
5099	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
5100	(LIBGOMP_ENABLE): New.
5101	(LIBGOMP_CHECK_LINKER_FEATURES): New.
5102	(LIBGOMP_ENABLE_SYMVERS): New.
5103	* configure.ac (AC_INIT): Version 1.0.
5104	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
5105	(enable-linux-futex): Likewise.  Rename from enable-futex.
5106	(libtool_VERSION): New.
5107	(LIBGOMP_ENABLE_SYMVERS): Use it.
5108	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
5109	* Makefile.in, aclocal.m4, configure: Rebuild.
5110
5111	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
5112	(gomp_mutex_unlock_slow): Fix typo.
5113	* config/linux/sem.c: Similarly.
5114	(gomp_sem_post_slow): Fix typo.
5115	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
5116	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
5117	[__PIC__] (sys_futex0): Don't use tmp output in asm.
5118
5119	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
5120	(libgomp_la_LDFLAGS): Add top_srcdir to path.
5121	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
5122	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
5123	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
5124	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
5125	LDFLAGS.  Pull enable_futex check to top-level.
5126	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
5127	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
5128
5129	First attempt at real configury.
5130	* Makefile, config.h: Remove file.
5131	* Makefile.am, Makefile.in: New file.
5132	* acinclude.m4 aclocal.m4: New file.
5133	* configure.ac, configure.tgt, configure: New file.
5134
5135	* config/posix/lock.c: Rename from sys-lock.c.
5136	* config/posix/mutex.h: Rename from sys-mutex.h.
5137	* config/posix/sem.c: Rename from sys-sem.c.
5138	* config/posix/sem.h: Rename from sys-sem.h.
5139	* config/posix/proc.c: Rename from sys-proc.c.
5140	* config/posix/time.c: Rename from sys-proc.c.
5141
5142	* config/linux/mutex.c: New file.
5143	* config/linux/mutex.h: New file.
5144	* config/linux/sem.c: New file.
5145	* config/linux/sem.h: New file.
5146	* config/linux/i486/futex.h: New file.
5147	* config/linux/x86_64/futex.h: New file.
5148
51492005-05-04  Richard Henderson  <rth@redhat.com>
5150
5151	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
5152	* libgomp.h: Declare them.
5153	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
5154	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
5155
51562005-05-04  Richard Henderson  <rth@redhat.com>
5157
5158	* libgomp-1 code drop
5159
51602005-05-04  Richard Henderson  <rth@redhat.com>
5161
5162	* iter.c (gomp_iter_static_next): Return tri-state on 0.
5163	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
5164	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
5165	(gomp_iter_static_next): Update.
5166	(gomp_ordered_static_next): Update.
5167	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
5168	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
5169	totally empty range.
5170	(gomp_loop_ordered_static_next): Refine test for calling
5171	gomp_ordered_static_next.
5172	* testsuite/ordered-1.c: Add case for more threads than iterations.
5173
5174	* iter.c (gomp_iter_runtime_next_locked): Remove.
5175	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
5176	gomp_loop_guided_start, gomp_loop_ordered_static_start,
5177	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5178	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
5179	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
5180	gomp_loop_ordered_guided_next): Downcase name, make static, add
5181	an external alias with the old name.
5182	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5183	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
5184	switch and call one of the above static functions.
5185	* libgomp.h: Update.
5186
5187	* work.c (gomp_work_share_start): Lock the mutex for !first too.
5188	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
5189	GOMP_loop_guided_start, GOMP_loop_runtime_start,
5190	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
5191	GOMP_loop_ordered_guided_start): Update to match.
5192	* sections.c (GOMP_sections_start): Likewise.
5193	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
5194
5195	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
5196	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
5197	Use bounds check instead of modulus.
5198	(gomp_ordered_sync): Split out of GOMP_ordered_start.
5199	(gomp_ordered_last): Don't sync with ordered_owner here.
5200	(gomp_ordered_next): Likewise.
5201	(gomp_ordered_static_loop_next): Likewise.
5202	* loop.c, libgomp.h: Update to match.
5203
5204	* libgomp.h (GOMP_barrier): Declare.
5205
5206	* testsuite/barrier-1.c: New file.
5207	* testsuite/critical-1.c: New file.
5208	* testsuite/ordered-2.c: New file.
5209	* testsuite/ordered-1.c: New file.
5210	* testsuite/sections-1.c: New file.
5211	* testsuite/single-1.c: New file.
5212	* testsuite/Makefile (TESTS): Add them.
5213
52142005-05-04  Richard Henderson  <rth@redhat.com>
5215
5216	* libgomp.h (struct gomp_work_share): Add ordered_owner.
5217	* loop.c (GOMP_loop_static_start): If not the startup thread,
5218	acquire the mutex to wait for initialization complete.
5219	(GOMP_loop_ordered_static_start): Likewise.
5220	(GOMP_loop_ordered_runtime_start): Likewise.
5221	(GOMP_loop_ordered_static_first): Remove.
5222	(GOMP_loop_ordered_dynamic_first): Remove.
5223	(GOMP_loop_ordered_guided_first): Remove.
5224	(GOMP_loop_ordered_runtime_first): Remove.
5225	* ordered.c (gomp_ordered_loop_first): Post to own release when
5226	we're the first thread.
5227	(gomp_ordered_loop_last): Wait on release if not owner.
5228	(gomp_ordered_loop_next): Likewise.
5229	(gomp_ordered_static_loop_init): New.
5230	(gomp_ordered_static_loop_next): Use ordered_owner.
5231	(GOMP_ordered_start): Likewise.
5232	* work.c (gomp_new_work_share): Initialize ordered_owner.
5233
52342005-05-03  Richard Henderson  <rth@redhat.com>
5235
5236	* Makefile (OPT): New.
5237	(CFLAGS): Use it.
5238
5239	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
5240	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
5241	* libgomp.h, libgomp.map, NOTES: Update to match.
5242
5243	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
5244	Add initialized and thr members.
5245	(gomp_thread_start): Pause when initially spawned to wait for
5246	the whole team to be created.
5247	(gomp_team_start): Release team members at the end.
5248
5249	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
5250	(f_foo_1): Use GOMP_loop_end.
5251	(f_foo_2): Use GOMP_loop_end_nowait.
5252
5253	* testsuite/loop-2.c: New file.
5254	* testsuite/Makefile (TESTS): Add it.
5255
52562005-05-03  Richard Henderson  <rth@redhat.com>
5257
5258	* iter.c (gomp_iter_static_next): Fix overflow check typo.
5259	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
5260	* team.c (new_team): Initialize oldest_live_gen to 1 if no
5261	initial work_share.
5262
5263	* testsuite/Makefile: New file.
5264	* testsuite/loop-1.c: New file.
5265
52662005-05-03  Richard Henderson  <rth@redhat.com>
5267
5268	Initial implementation and checkin.
5269