ivars.c: Add a check for classes without instance variables...
[gcc.git] / libgomp / ChangeLog
1 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
2
3 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
4 "$tgt_dir/lib32".
5 * configure: Regenerate.
6
7 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8 "intelmic" in $offload_targets.
9
10 2015-01-05 Jakub Jelinek <jakub@redhat.com>
11
12 Update copyright years.
13
14 * libgomp.texi: Bump @copying's copyright year.
15
16 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17
18 * testsuite/lib/libgomp.exp: Load target-utils.exp.
19 Move load of target-supportes.exp earlier.
20
21 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
22
23 * testsuite/libgomp.c/target-9.c: New test.
24
25 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
26
27 * config.h.in: Regenerate.
28 * configure: Regenerate.
29 * configure.ac: Add GCC_CHECK_EMUTLS.
30 * libgomp.h: Add check for USE_EMUTLS: this case
31 is equal to HAVE_TLS.
32 * team.c: Likewise.
33
34 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
35
36 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
37
38 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
39 Ilya Verbin <ilya.verbin@intel.com>
40
41 * testsuite/libgomp.c/target-critical-1.c: New test.
42
43 2014-11-26 Jakub Jelinek <jakub@redhat.com>
44
45 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
46 to dg-options unless expensive testing is on.
47 (TESTITERS): Define to N if not defined.
48 (main): Use TESTITERS instead of N.
49 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
50 dg-additional-options depending on whether expensive testing is on.
51 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
52 Decrease N to 100000 and CHUNKSZ to 10000.
53
54 2014-11-24 Jakub Jelinek <jakub@redhat.com>
55
56 PR fortran/63938
57 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
58 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
59
60 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
61
62 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
63
64 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
65
66 PR bootstrap/63784
67 * configure: Regenerated.
68
69 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
70
71 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
72 vect_simd_clones effective target.
73 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
74
75 2014-11-14 Jakub Jelinek <jakub@redhat.com>
76
77 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
78 of 32 as block_size.
79 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
80 instead of 32 as block_size.
81
82 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
83 Ilya Verbin <ilya.verbin@intel.com>
84
85 * Makefile.in: Regenerate.
86 * configure: Regenerate.
87 * configure.ac: Set up offload_additional_options,
88 offload_additional_lib_paths and offload_targets.
89 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
90 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
91 * testsuite/Makefile.in: Regenerate.
92 * testsuite/lib/libgomp.exp (libgomp_init): Append
93 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
94 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
95 build directory to LD_LIBRARY_PATH for intelmic offload targets.
96
97 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
98 Ilya Verbin <ilya.verbin@intel.com>
99 Kirill Yukhin <kirill.yukhin@intel.com>
100 Ilya Tocar <ilya.tocar@intel.com>
101
102 * testsuite/lib/libgomp.exp
103 (check_effective_target_offload_device): New.
104 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
105 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
106 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
107 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
108 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
109 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
110 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
111 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
112 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
113 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
114 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
115 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
116 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
117 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
118 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
119 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
120 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
121 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
122 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
123 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
124 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
125 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
126 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
127 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
128 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
129 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
130 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
131 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
132 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
133 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
134 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
135 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
136 * testsuite/libgomp.c/target-7.c: Fix test.
137 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
138 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
139 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
140 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
141 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
142 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
143 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
144 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
145 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
146 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
147 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
148 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
149 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
150 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
151 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
152 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
153 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
154 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
155 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
156 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
157 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
158 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
159 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
160 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
161 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
162 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
163 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
164 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
165 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
166 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
167 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
168
169 2014-11-13 Jakub Jelinek <jakub@redhat.com>
170 Ilya Verbin <ilya.verbin@intel.com>
171 Thomas Schwinge <thomas@codesourcery.com>
172 Andrey Turetskiy <andrey.turetskiy@intel.com>
173
174 * libgomp.map (GOMP_4.0.1): New symbol version.
175 Add GOMP_offload_register.
176 * libgomp_target.h: New file.
177 * splay-tree.h: New file.
178 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
179 (gomp_target_init): New forward declaration.
180 (gomp_is_initialized): New static variable.
181 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
182 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
183 New structures.
184 (offload_images, num_offload_images, devices, num_devices): New static
185 variables.
186 (splay_compare): New static function.
187 (struct gomp_device_descr): New structure.
188 (gomp_get_num_devices): Call gomp_target_init.
189 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
190 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
191 (GOMP_offload_register): New function.
192 (GOMP_target): Arrange for host callback to be performed in a separate
193 initial thread and contention group, inheriting ICVs from
194 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
195 Add device initialization and lookup for target function in splay tree.
196 (GOMP_target_data): Add device initialization and call gomp_map_vars.
197 (GOMP_target_end_data): Call gomp_unmap_vars.
198 (GOMP_target_update): Add device initialization and call gomp_update.
199 (gomp_load_plugin_for_device, gomp_register_images_for_device)
200 (gomp_target_init): New static functions.
201
202 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
203 Thomas Schwinge <thomas@codesourcery.com>
204 Ilya Verbin <ilya.verbin@intel.com>
205 Andrey Turetskiy <andrey.turetskiy@intel.com>
206
207 * config.h.in: Regenerate.
208 * configure: Regenerate.
209 * configure.ac: Check for libdl, required for plugin support.
210 (PLUGIN_SUPPORT): Define if plugins are supported.
211 (enable_offload_targets): Support Intel MIC targets.
212 (OFFLOAD_TARGETS): List of target names suitable for offloading.
213
214 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
215
216 PR target/63610
217 * configure: Regenerate.
218
219 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
220
221 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
222
223 2014-10-06 Marek Polacek <polacek@redhat.com>
224
225 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
226 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
227 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
228 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
229
230 2014-10-06 Marek Polacek <polacek@redhat.com>
231
232 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
233 * testsuite/libgomp.c/nqueens-1.c: Likewise.
234 * testsuite/libgomp.c/pr26943-3.c: Likewise.
235 * testsuite/libgomp.c/pr26943-4.c: Likewise.
236 * testsuite/libgomp.c/pr36802-2.c: Likewise.
237 * testsuite/libgomp.c/pr36802-3.c: Likewise.
238 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
239 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
240 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
241 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
242 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
243 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
244 * testsuite/libgomp.c/omp-single-1.c: Likewise.
245 * testsuite/libgomp.c/omp-single-2.c: Likewise.
246 * testsuite/libgomp.c/omp_matvec.c: Likewise.
247 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
248 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
249 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
250 declarations.
251
252 2014-10-03 Jakub Jelinek <jakub@redhat.com>
253
254 PR libgomp/61200
255 * testsuite/libgomp.c/pr61200.c: New test.
256
257 2014-09-18 Jakub Jelinek <jakub@redhat.com>
258
259 PR c++/63248
260 * testsuite/libgomp.c++/pr63248.C: New test.
261
262 2014-08-04 Jakub Jelinek <jakub@redhat.com>
263
264 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
265 is not zero, but taskgroup->children is NULL and there are
266 any task->children, schedule those instead of waiting.
267 * testsuite/libgomp.c/depend-6.c: New test.
268 * testsuite/libgomp.c/depend-7.c: New test.
269 * testsuite/libgomp.c/depend-8.c: New test.
270 * testsuite/libgomp.c/depend-9.c: New test.
271 * testsuite/libgomp.c/depend-10.c: New test.
272
273 2014-08-01 Jakub Jelinek <jakub@redhat.com>
274
275 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
276 (struct gomp_taskwait): New type.
277 (struct gomp_task): Add taskwait and parent_depends_on, remove
278 in_taskwait and taskwait_sem fields.
279 (gomp_finish_task): Don't destroy taskwait_sem.
280 * task.c (gomp_init_task): Don't init in_taskwait, instead init
281 taskwait and parent_depends_on.
282 (GOMP_task): For if (0) tasks with depend clause that depend on
283 earlier tasks don't defer them, instead call
284 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
285 Initialize redundant_out field, for redundant out entries just
286 move them at the end of linked list instead of removing them
287 completely, and set redundant_out flag instead of redundant.
288 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
289 that task.
290 (gomp_task_run_post_handle_dependers): If parent is in
291 gomp_task_maybe_wait_for_dependencies and newly runnable task
292 is not parent_depends_on, queue it in parent->children linked
293 list after all runnable tasks with parent_depends_on set.
294 Adjust for addition of taskwait indirection.
295 (gomp_task_run_post_remove_parent): If parent is in
296 gomp_task_maybe_wait_for_dependencies and task to be removed
297 is parent_depends_on, decrement n_depend and if needed awake
298 parent. Adjust for addition of taskwait indirection.
299 (GOMP_taskwait): Adjust for addition of taskwait indirection.
300 (gomp_task_maybe_wait_for_dependencies): New function.
301 * testsuite/libgomp.c/depend-5.c: New test.
302
303 2014-07-13 Tobias Burnus <burnus@net-b.de>
304
305 * testsuite/libgomp.fortran/pr34020.f90: Make compile
306 with TS 18508/Fortran 2015.
307
308 2014-07-06 Marek Polacek <polacek@redhat.com>
309
310 PR c/6940
311 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
312
313 2014-07-03 Jakub Jelinek <jakub@redhat.com>
314
315 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
316 matches regex $lang_source_re, add $lang_include_flags to options.
317 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
318 * testsuite/libgomp.c++/c++.exp: Likewise.
319 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
320 and lang_include_flags instead of adding -fintrinsic-modules-path= to
321 ALWAYS_CFLAGS.
322 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
323
324 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
325
326 * testsuite/libgomp.fortran/fortran.exp: Explain
327 gfortran-dg-runtest usage.
328
329 2014-06-25 Jakub Jelinek <jakub@redhat.com>
330
331 * testsuite/libgomp.fortran/simd5.f90: New test.
332 * testsuite/libgomp.fortran/simd6.f90: New test.
333 * testsuite/libgomp.fortran/simd7.f90: New test.
334
335 2014-06-24 Jakub Jelinek <jakub@redhat.com>
336
337 * testsuite/libgomp.c/for-2.c: Define SC to static for
338 #pragma omp for simd testing.
339 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
340 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
341 SC macro.
342 * testsuite/libgomp.c/simd-14.c: New test.
343 * testsuite/libgomp.c/simd-15.c: New test.
344 * testsuite/libgomp.c/simd-16.c: New test.
345 * testsuite/libgomp.c/simd-17.c: New test.
346 * testsuite/libgomp.c++/for-10.C: Define SC to static for
347 #pragma omp for simd testing.
348 * testsuite/libgomp.c++/simd10.C: New test.
349 * testsuite/libgomp.c++/simd11.C: New test.
350 * testsuite/libgomp.c++/simd12.C: New test.
351 * testsuite/libgomp.c++/simd13.C: New test.
352
353 * testsuite/libgomp.fortran/aligned1.f03: New test.
354 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
355 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
356 tasks with !$omp parallel !$omp single.
357 * testsuite/libgomp.fortran/target8.f90: New test.
358 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
359 not to use trim in the combiner, instead call elemental function.
360 (fn): New elemental function.
361 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
362 Make elemental.
363 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
364 omp_in): Likewise.
365 * testsuite/libgomp.fortran/udr12.f90: New test.
366 * testsuite/libgomp.fortran/udr13.f90: New test.
367 * testsuite/libgomp.fortran/udr14.f90: New test.
368 * testsuite/libgomp.fortran/udr15.f90: New test.
369
370 2014-06-18 Jakub Jelinek <jakub@redhat.com>
371
372 * omp_lib.f90.in (openmp_version): Set to 201307.
373 * omp_lib.h.in (openmp_version): Likewise.
374 * testsuite/libgomp.c/target-8.c: New test.
375 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
376 and inbranch clauses.
377 * testsuite/libgomp.fortran/depend-3.f90: New test.
378 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
379 openmp_version.
380 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
381 * testsuite/libgomp.fortran/target1.f90: New test.
382 * testsuite/libgomp.fortran/target2.f90: New test.
383 * testsuite/libgomp.fortran/target3.f90: New test.
384 * testsuite/libgomp.fortran/target4.f90: New test.
385 * testsuite/libgomp.fortran/target5.f90: New test.
386 * testsuite/libgomp.fortran/target6.f90: New test.
387 * testsuite/libgomp.fortran/target7.f90: New test.
388
389 2014-06-10 Jakub Jelinek <jakub@redhat.com>
390
391 PR fortran/60928
392 * testsuite/libgomp.fortran/allocatable9.f90: New test.
393 * testsuite/libgomp.fortran/allocatable10.f90: New test.
394 * testsuite/libgomp.fortran/allocatable11.f90: New test.
395 * testsuite/libgomp.fortran/allocatable12.f90: New test.
396 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
397 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
398 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
399 * testsuite/libgomp.fortran/associate1.f90: New test.
400 * testsuite/libgomp.fortran/associate2.f90: New test.
401 * testsuite/libgomp.fortran/procptr1.f90: New test.
402
403 2014-06-06 Jakub Jelinek <jakub@redhat.com>
404
405 * testsuite/libgomp.fortran/simd1.f90: New test.
406 * testsuite/libgomp.fortran/udr1.f90: New test.
407 * testsuite/libgomp.fortran/udr2.f90: New test.
408 * testsuite/libgomp.fortran/udr3.f90: New test.
409 * testsuite/libgomp.fortran/udr4.f90: New test.
410 * testsuite/libgomp.fortran/udr5.f90: New test.
411 * testsuite/libgomp.fortran/udr6.f90: New test.
412 * testsuite/libgomp.fortran/udr7.f90: New test.
413 * testsuite/libgomp.fortran/udr8.f90: New test.
414 * testsuite/libgomp.fortran/udr9.f90: New test.
415 * testsuite/libgomp.fortran/udr10.f90: New test.
416 * testsuite/libgomp.fortran/udr11.f90: New test.
417
418 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
419
420 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
421 vect_simd_clones effective target.
422 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
423
424 2014-05-21 Jakub Jelinek <jakub@redhat.com>
425
426 PR middle-end/61252
427 * testsuite/libgomp.c++/simd-9.C: New test.
428
429 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
430
431 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
432 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
433 texts according to their @menu entry positions.
434
435 2014-05-11 Jakub Jelinek <jakub@redhat.com>
436
437 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
438 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
439 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
440 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
441 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
442 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
443 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
444 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
445 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
446 * testsuite/libgomp.fortran/depend-1.f90: New test.
447 * testsuite/libgomp.fortran/depend-2.f90: New test.
448 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
449 * testsuite/libgomp.fortran/simd1.f90: New test.
450 * testsuite/libgomp.fortran/simd2.f90: New test.
451 * testsuite/libgomp.fortran/simd3.f90: New test.
452 * testsuite/libgomp.fortran/simd4.f90: New test.
453 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
454
455 2014-05-02 Jakub Jelinek <jakub@redhat.com>
456
457 * testsuite/libgomp.c/simd-10.c: New test.
458 * testsuite/libgomp.c/simd-11.c: New test.
459 * testsuite/libgomp.c/simd-12.c: New test.
460 * testsuite/libgomp.c/simd-13.c: New test.
461
462 2014-04-24 Jakub Jelinek <jakub@redhat.com>
463
464 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
465 atomic type clauses in any order and optional comma in between.
466 * testsuite/libgomp.c++/atomic-15.C: Likewise.
467 * testsuite/libgomp.c/atomic-17.c: Likewise.
468
469 * testsuite/libgomp.c/simd-7.c: New test.
470 * testsuite/libgomp.c/simd-8.c: New test.
471 * testsuite/libgomp.c/simd-9.c: New test.
472 * testsuite/libgomp.c/loop-16.c: New test.
473
474 2014-04-02 Richard Henderson <rth@redhat.com>
475
476 * config/linux/futex.h (futex_wait): Get error value from errno.
477 (futex_wake): Likewise.
478
479 2014-03-25 Jakub Jelinek <jakub@redhat.com>
480
481 PR c++/60331
482 * testsuite/libgomp.c++/udr-11.C: New test.
483 * testsuite/libgomp.c++/udr-12.C: New test.
484 * testsuite/libgomp.c++/udr-13.C: New test.
485 * testsuite/libgomp.c++/udr-14.C: New test.
486 * testsuite/libgomp.c++/udr-15.C: New test.
487 * testsuite/libgomp.c++/udr-16.C: New test.
488 * testsuite/libgomp.c++/udr-17.C: New test.
489 * testsuite/libgomp.c++/udr-18.C: New test.
490 * testsuite/libgomp.c++/udr-19.C: New test.
491
492 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
493
494 Update copyright years
495
496 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
497
498 * hashtab.h: Use the standard form for the copyright notice.
499
500 2014-01-02 Tobias Burnus <burnus@net-b.de>
501
502 * libgomp.texi: Bump @copying's copyright year.
503
504 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
505
506 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
507 alloca () with __builtin_alloca ().
508 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
509 * testsuite/libgomp.c/lock-3.c: Likewise.
510 * testsuite/libgomp.c/pr48591.c: Likewise.
511
512 2013-12-17 Jakub Jelinek <jakub@redhat.com>
513
514 PR testsuite/59534
515 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
516 comparisons.
517
518 2013-12-16 Jakub Jelinek <jakub@redhat.com>
519
520 PR libgomp/58756
521 * testsuite/libgomp.c/pr58756.c: New test.
522
523 2013-12-12 Jakub Jelinek <jakub@redhat.com>
524
525 PR libgomp/59467
526 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
527 !$omp parallel.
528
529 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
530
531 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
532 ALWAYS_CFLAGS.
533 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
534 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
535 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
536 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
537 Likewise.
538
539 * libgomp_g.h: Include <stddef.h> for size_t.
540
541 * libgomp.spec.in: Update comment about libgomp's dependencies.
542 * configure.ac: Likewise.
543 * configure: Regenerate.
544
545 2013-10-16 Tobias Burnus <burnus@net-b.de>
546
547 * libgomp.texi: (Runtime Library Routines): Update references for
548 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
549 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
550 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
551 (Environment Variables): Update references for OpenMP 4.0. Add
552 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
553 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
554 order.
555
556 2013-10-14 Jakub Jelinek <jakub@redhat.com>
557
558 * env.c (parse_bind_var): Initialize value to avoid
559 (false positive) warning.
560
561 2013-10-12 Jakub Jelinek <jakub@redhat.com>
562
563 PR libgomp/58691
564 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
565 to check variable.
566 (gomp_init_num_threads): Move i variable declaration into
567 #ifdef CPU_ALLOC_SIZE block.
568 * config/linux/affinity.c (gomp_affinity_init_level): Test
569 gomp_places_list_len == 0 rather than gomp_places_list == 0
570 when checking for topology reading error.
571 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
572 * env.c (parse_affinity): Add ignore argument, if true, don't populate
573 gomp_places_list, only parse env var and always return false.
574 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
575 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
576 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
577 and either of these variables were parsed correctly into a places
578 list.
579
580 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
581 Jakub Jelinek <jakub@redhat.com>
582
583 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
584 of 5 loopfn matches.
585 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
586 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
587 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
588 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
589 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
590 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
591 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
592 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
593
594 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
595
596 * Makefile.am (omp_lib.mod): Streamline rule.
597 * Makefile.in: Regenerate.
598
599 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
600 exceptions.
601
602 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
603 * testsuite/libgomp.fortran/lib1.f90: Likewise.
604 * testsuite/libgomp.fortran/lib2.f: Likewise.
605 * testsuite/libgomp.fortran/lib3.f: Likewise.
606
607 * configure.ac: Typo fix.
608 * configure: Regenerate.
609
610 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
611 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
612
613 * omp.h.in: Don't touch the user's namespace.
614
615 2013-10-11 Jakub Jelinek <jakub@redhat.com>
616 Tobias Burnus <burnus@net-b.de>
617 Richard Henderson <rth@redhat.com>
618
619 * target.c: New file.
620 * Makefile.am (libgomp_la_SOURCES): Add target.c.
621 * Makefile.in: Regenerated.
622 * libgomp_g.h (GOMP_task): Add depend argument.
623 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
624 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
625 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
626 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
627 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
628 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
629 GOMP_taskgroup_start, GOMP_taskgroup_end,
630 GOMP_parallel_sections): New prototypes.
631 * fortran.c (omp_is_initial_device): Add ialias_redirect.
632 (omp_is_initial_device_): New function.
633 (ULP, STR1, STR2, ialias_redirect): Removed.
634 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
635 omp_set_default_device_8_, omp_get_default_device_,
636 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
637 functions.
638 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
639 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
640 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
641 @@GOMP_4.0.
642 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
643 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
644 omp_set_default_device, omp_set_default_device_,
645 omp_set_default_device_8_, omp_get_default_device,
646 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
647 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
648 omp_get_team_num_): Export @@OMP_4.0.
649 * team.c (struct gomp_thread_start_data): Add place field.
650 (gomp_thread_start): Clear thr->thread_pool and
651 thr->task before returning. Use gomp_team_barrier_wait_final
652 instead of gomp_team_barrier_wait. Initialize thr->place.
653 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
654 team_cancelled and task_queued_count fields.
655 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
656 before calling pthread_exit.
657 (gomp_free_thread): No longer static. Use
658 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
659 (gomp_team_start): Add flags argument. Set
660 thr->thread_pool->threads_busy to nthreads immediately after creating
661 new pool. Use gomp_managed_threads_lock instead of
662 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
663 (gomp_team_end): Use gomp_managed_threads_lock instead of
664 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
665 of gomp_team_barrier_wait. If team->team_cancelled, call
666 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
667 rather than thr->ts.work_share.
668 (initialize_team): Don't call gomp_sem_init here.
669 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
670 caller.
671 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
672 * env.c (gomp_global_icv): Add default_device_var, target_data and
673 bind_var initializers.
674 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
675 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
676 gomp_places_list_len): New variables.
677 (parse_bind_var, parse_one_place, parse_places_var): New functions.
678 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
679 sized places.
680 (gomp_cancel_var): New global variable.
681 (parse_int): New function.
682 (handle_omp_display_env): New function.
683 (initialize_env): Use it. Initialize default_device_var.
684 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
685 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
686 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
687 been successfully parsed (and call gomp_init_affinity in that case).
688 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
689 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
690 omp_get_team_num, omp_is_initial_device): New functions.
691 * libgomp.h: Include stdlib.h.
692 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
693 Define.
694 (struct target_mem_desc): Forward declare.
695 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
696 and thread_limit_var fields.
697 (gomp_get_num_devices): New prototype.
698 (gomp_cancel_var): New extern decl.
699 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
700 team_cancelled and task_queued_count fields. Add comments about
701 task_{,queued_,running_}count.
702 (gomp_cancel_kind): New enum.
703 (gomp_work_share_end_cancel): New prototype.
704 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
705 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
706 and depend fields.
707 (struct gomp_taskgroup): New type.
708 (struct gomp_task_depend_entry,
709 struct gomp_dependers_vec): New types.
710 (gomp_finish_task): Free depend_hash if non-NULL.
711 (struct gomp_team_state): Add place_partition_off
712 and place_partition_len fields.
713 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
714 gomp_places_list_len): New extern decls.
715 (struct gomp_thread): Add place field.
716 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
717 (gomp_init_thread_affinity): Add place argument.
718 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
719 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
720 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
721 gomp_affinity_init_level, gomp_affinity_print_place): New
722 prototypes.
723 (gomp_team_start): Add flags argument.
724 (gomp_thread_limit_var, gomp_remaining_threads_count,
725 gomp_remaining_threads_lock): Remove.
726 (gomp_managed_threads_lock): New variable.
727 (struct gomp_thread_pool): Add threads_busy field.
728 (gomp_free_thread): New prototype.
729 * task.c: Include hashtab.h.
730 (hash_entry_type): New typedef.
731 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
732 (gomp_init_task): Clear dependers, depend_hash, depend_count,
733 copy_ctors_done and taskgroup fields.
734 (GOMP_task): Add depend argument, handle depend clauses. If
735 gomp_team_barrier_cancelled or if it's taskgroup has been
736 cancelled, don't queue or start new tasks. Set copy_ctors_done
737 field if needed. Initialize taskgroup field. If copy_ctors_done
738 and already cancelled, don't discard the task. If taskgroup is
739 non-NULL, enqueue the task into taskgroup queue. Increment
740 num_children field in taskgroup. Increment task_queued_count.
741 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
742 gomp_task_run_post_remove_taskgroup): New inline functions.
743 (gomp_task_run_post_handle_depend_hash,
744 gomp_task_run_post_handle_dependers,
745 gomp_task_run_post_handle_depend): New functions.
746 (GOMP_taskwait): Use them. If more than one new tasks
747 have been queued, wake other threads if needed.
748 (gomp_barrier_handle_tasks): Likewise. If
749 gomp_team_barrier_cancelled, don't start any new tasks, just free
750 all tasks.
751 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
752 * omp_lib.f90.in
753 (omp_proc_bind_kind, omp_proc_bind_false,
754 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
755 omp_proc_bind_spread): New params.
756 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
757 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
758 omp_get_team_num, omp_is_initial_device): New interfaces.
759 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
760 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
761 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
762 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
763 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
764 useless use omp_lib_kinds.
765 * omp.h.in (omp_proc_bind_t): New typedef.
766 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
767 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
768 omp_get_team_num, omp_is_initial_device): New prototypes.
769 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
770 through to gomp_team_start.
771 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
772 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
773 Adjust gomp_parallel_loop_start callers.
774 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
775 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
776 GOMP_loop_end_cancel): New functions.
777 (GOMP_parallel_end): Add ialias_redirect.
778 * hashtab.h: New file.
779 * libgomp.texi (Environment Variables): Minor cleanup,
780 update section refs to OpenMP 4.0rc2.
781 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
782 environment variables.
783 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
784 team->work_shares_to_free to thr->ts.work_share before calling
785 free_work_share.
786 (gomp_work_share_end_cancel): New function.
787 * config/linux/proc.c: Include errno.h.
788 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
789 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
790 sizeof (cpu_set_t) to determine number of iterations. Fix up check
791 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
792 gomp_cpuset_size is sizeof (cpu_set_t).
793 (gomp_init_num_threads): Initialize gomp_cpuset_size,
794 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
795 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
796 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
797 contain any logical CPUs.
798 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
799 is NULL. Use gomp_cpusetp instead of &cpuset and pass
800 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
801 pthread_getaffinity_np. Check gomp_places_list instead of
802 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
803 * config/linux/bar.c (gomp_barrier_wait_end,
804 gomp_barrier_wait_last): Use BAR_* defines.
805 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
806 from state where needed. Set work_share_cancelled to 0 on last
807 thread.
808 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
809 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
810 functions.
811 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
812 Add cpusetsize argument.
813 (gomp_cpuset_size, gomp_cpusetp): Declare.
814 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
815 (affinity_counter): Remove.
816 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
817 if CPU_ALLOC_SIZE isn't defined.
818 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
819 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
820 bind current thread to the first place.
821 (gomp_init_thread_affinity): Rewritten. Add place argument, just
822 pthread_setaffinity_np to gomp_places_list[place].
823 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
824 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
825 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
826 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
827 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
828 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
829 (gomp_barrier_t): Add awaited_final field.
830 (gomp_barrier_init): Initialize awaited_final field.
831 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
832 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
833 prototypes.
834 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
835 defines.
836 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
837 gomp_team_barrier_cancelled): New inline functions.
838 (gomp_barrier_last_thread,
839 gomp_team_barrier_set_task_pending,
840 gomp_team_barrier_clear_task_pending,
841 gomp_team_barrier_set_waiting_for_tasks,
842 gomp_team_barrier_waiting_for_tasks,
843 gomp_team_barrier_done): Use BAR_* defines.
844 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
845 (gomp_barrier_wait_end): Use BAR_* defines.
846 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
847 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
848 Use BAR_* defines.
849 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
850 gomp_team_barrier_cancel): New functions.
851 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
852 argument.
853 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
854 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
855 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
856 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
857 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
858 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
859 (gomp_barrier_t): Add cancellable field.
860 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
861 gomp_team_barrier_cancel): New prototypes.
862 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
863 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
864 gomp_team_barrier_cancelled): New inline functions.
865 (gomp_barrier_wait_start, gomp_barrier_last_thread,
866 gomp_team_barrier_set_task_pending,
867 gomp_team_barrier_clear_task_pending,
868 gomp_team_barrier_set_waiting_for_tasks,
869 gomp_team_barrier_waiting_for_tasks,
870 gomp_team_barrier_done): Use BAR_* defines.
871 * barrier.c (GOMP_barrier_cancel): New function.
872 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
873 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
874 omp_proc_bind_spread): New params.
875 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
876 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
877 omp_get_team_num, omp_is_initial_device): New externals.
878 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
879 New functions.
880 (gomp_resolve_num_threads): Adjust for thread_limit now being in
881 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
882 infinity. If not nested, just return minimum of max_num_threads
883 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
884 to the returned value. Otherwise, don't update atomically
885 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
886 (GOMP_parallel_end): Adjust for thread_limit now being in
887 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
888 infinity. Adjust threads_busy in the pool rather than
889 gomp_remaining_threads_count. Remember team->nthreads and call
890 gomp_team_end before adjusting threads_busy, if not nested
891 afterwards, just set it to 1 non-atomically. Add ialias.
892 (GOMP_parallel_start): Adjust gomp_team_start caller.
893 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
894 * testsuite/libgomp.c/affinity-1.c: New test.
895 * testsuite/libgomp.c/atomic-15.c: New test.
896 * testsuite/libgomp.c/atomic-16.c: New test.
897 * testsuite/libgomp.c/atomic-17.c: New test.
898 * testsuite/libgomp.c/cancel-for-1.c: New test.
899 * testsuite/libgomp.c/cancel-for-2.c: New test.
900 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
901 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
902 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
903 * testsuite/libgomp.c/cancel-sections-1.c: New test.
904 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
905 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
906 * testsuite/libgomp.c/depend-1.c: New test.
907 * testsuite/libgomp.c/depend-2.c: New test.
908 * testsuite/libgomp.c/depend-3.c: New test.
909 * testsuite/libgomp.c/depend-4.c: New test.
910 * testsuite/libgomp.c/for-1.c: New test.
911 * testsuite/libgomp.c/for-1.h: New file.
912 * testsuite/libgomp.c/for-2.c: New test.
913 * testsuite/libgomp.c/for-2.h: New file.
914 * testsuite/libgomp.c/for-3.c: New test.
915 * testsuite/libgomp.c/pr58392.c: New test.
916 * testsuite/libgomp.c/simd-1.c: New test.
917 * testsuite/libgomp.c/simd-2.c: New test.
918 * testsuite/libgomp.c/simd-3.c: New test.
919 * testsuite/libgomp.c/simd-4.c: New test.
920 * testsuite/libgomp.c/simd-5.c: New test.
921 * testsuite/libgomp.c/simd-6.c: New test.
922 * testsuite/libgomp.c/target-1.c: New test.
923 * testsuite/libgomp.c/target-2.c: New test.
924 * testsuite/libgomp.c/target-3.c: New test.
925 * testsuite/libgomp.c/target-4.c: New test.
926 * testsuite/libgomp.c/target-5.c: New test.
927 * testsuite/libgomp.c/target-6.c: New test.
928 * testsuite/libgomp.c/target-7.c: New test.
929 * testsuite/libgomp.c/taskgroup-1.c: New test.
930 * testsuite/libgomp.c/thread-limit-1.c: New test.
931 * testsuite/libgomp.c/thread-limit-2.c: New test.
932 * testsuite/libgomp.c/thread-limit-3.c: New test.
933 * testsuite/libgomp.c/udr-1.c: New test.
934 * testsuite/libgomp.c/udr-2.c: New test.
935 * testsuite/libgomp.c/udr-3.c: New test.
936 * testsuite/libgomp.c++/affinity-1.C: New test.
937 * testsuite/libgomp.c++/atomic-10.C: New test.
938 * testsuite/libgomp.c++/atomic-11.C: New test.
939 * testsuite/libgomp.c++/atomic-12.C: New test.
940 * testsuite/libgomp.c++/atomic-13.C: New test.
941 * testsuite/libgomp.c++/atomic-14.C: New test.
942 * testsuite/libgomp.c++/atomic-15.C: New test.
943 * testsuite/libgomp.c++/cancel-for-1.C: New test.
944 * testsuite/libgomp.c++/cancel-for-2.C: New test.
945 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
946 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
947 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
948 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
949 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
950 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
951 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
952 * testsuite/libgomp.c++/cancel-test.h: New file.
953 * testsuite/libgomp.c++/for-9.C: New test.
954 * testsuite/libgomp.c++/for-10.C: New test.
955 * testsuite/libgomp.c++/for-11.C: New test.
956 * testsuite/libgomp.c++/simd-1.C: New test.
957 * testsuite/libgomp.c++/simd-2.C: New test.
958 * testsuite/libgomp.c++/simd-3.C: New test.
959 * testsuite/libgomp.c++/simd-4.C: New test.
960 * testsuite/libgomp.c++/simd-5.C: New test.
961 * testsuite/libgomp.c++/simd-6.C: New test.
962 * testsuite/libgomp.c++/simd-7.C: New test.
963 * testsuite/libgomp.c++/simd-8.C: New test.
964 * testsuite/libgomp.c++/target-1.C: New test.
965 * testsuite/libgomp.c++/target-2.C: New test.
966 * testsuite/libgomp.c++/target-2-aux.cc: New file.
967 * testsuite/libgomp.c++/target-3.C: New test.
968 * testsuite/libgomp.c++/taskgroup-1.C: New test.
969 * testsuite/libgomp.c++/udr-1.C: New test.
970 * testsuite/libgomp.c++/udr-2.C: New test.
971 * testsuite/libgomp.c++/udr-3.C: New test.
972 * testsuite/libgomp.c++/udr-4.C: New test.
973 * testsuite/libgomp.c++/udr-5.C: New test.
974 * testsuite/libgomp.c++/udr-6.C: New test.
975 * testsuite/libgomp.c++/udr-7.C: New test.
976 * testsuite/libgomp.c++/udr-8.C: New test.
977 * testsuite/libgomp.c++/udr-9.C: New test.
978
979 2013-09-20 Jakub Jelinek <jakub@redhat.com>
980
981 PR testsuite/57605
982 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
983 ALWAYS_CFLAGS.
984
985 2013-09-20 Alan Modra <amodra@gmail.com>
986
987 * configure: Regenerate.
988
989 2013-09-19 Jakub Jelinek <jakub@redhat.com>
990
991 * testsuite/libgomp.c/sections-2.c: New test.
992
993 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
994
995 * testsuite/libgomp.fortran/strassen.f90:
996 Add dg-skip-if aarch64_tiny.
997
998 2013-06-20 Iain Sandoe <iain@codesourcery.com>
999 Cesar Philippidis <cesar@codesourcery.com>
1000
1001 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
1002 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
1003 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
1004 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1005 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1006 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
1007 Use dg-runtest rather than gfortran-dg-runtest.
1008
1009 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
1010
1011 * testsuite/libgomp.c/icv-2.c: Extend current handling of
1012 Linux-based x86 systems to cover all GNU systems.
1013 * testsuite/libgomp.c/lock-3.c: Likewise.
1014 * testsuite/libgomp.c/pr48591.c: Likewise.
1015
1016 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
1017
1018 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
1019 GNU/Hurd, as done for Linux-based systems.
1020
1021 * config/posix/ptrlock.h: Fix comment.
1022
1023 2013-05-27 Tobias Burnus <burnus@net-b.de>
1024
1025 PR fortran/57423
1026 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
1027 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
1028 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
1029 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
1030 omp_destroy_nest_lock): Correct arguments to match the one in
1031 the OpenMP spec.
1032 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
1033 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
1034 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
1035 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
1036
1037 2013-05-16 Jakub Jelinek <jakub@redhat.com>
1038
1039 * testsuite/libgomp.c/loop-13.c: New test.
1040 * testsuite/libgomp.c/loop-14.c: New test.
1041 * testsuite/libgomp.c/loop-15.c: New test.
1042 * testsuite/libgomp.c++/loop-13.C: New test.
1043 * testsuite/libgomp.c++/loop-14.C: New test.
1044 * testsuite/libgomp.c++/loop-15.C: New test.
1045
1046 2013-02-06 Jakub Jelinek <jakub@redhat.com>
1047
1048 PR middle-end/56217
1049 * testsuite/libgomp.c++/pr56217.C: New test.
1050
1051 2013-02-01 Alan Modra <amodra@gmail.com>
1052
1053 * task.c (GOMP_task, GOMP_taskwait): Comment.
1054
1055 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
1056 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
1057
1058 PR libgomp/55561
1059 * config/linux/wait.h (do_spin): Use atomic load for addr.
1060 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
1061 for intptr and ptrlock.
1062 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
1063 for ptrlock.
1064
1065 2013-01-22 Alan Modra <amodra@gmail.com>
1066
1067 PR libgomp/51376
1068 PR libgomp/56073
1069 * task.c (GOMP_task): Revert 2011-12-09 change.
1070 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
1071 barrier to read task->children..
1072 (gomp_barrier_handle_tasks): ..and matching atomic store with
1073 release barrier here when setting parent->children to NULL.
1074
1075 2013-01-16 Jakub Jelinek <jakub@redhat.com>
1076 Tobias Burnus <burnus@net-b.de>
1077
1078 PR driver/55884
1079 * testsuite/libgomp.fortran/fortran.exp: Use
1080 -fintrinsic-modules-path= instead of
1081 -fintrinsic-modules-path.
1082
1083 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
1084
1085 Update copyright years.
1086
1087 2012-12-19 Tobias Burnus <burnus@net-b.de>
1088
1089 * testsuite/libgomp.fortran/fortran.exp: Set
1090 -fintrinsic-modules-path.
1091
1092 2012-12-19 Tobias Burnus <burnus@net-b.de>
1093
1094 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
1095 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
1096
1097 2012-11-21 Jakub Jelinek <jakub@redhat.com>
1098
1099 PR libgomp/55411
1100 * team.c (gomp_free_thread): Decrease gomp_managed_threads
1101 if pool had any threads_used.
1102
1103 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
1104
1105 * testsuite/libgomp.c++/pr24455.C: Use
1106 -Wl,-undefined,dynamic_lookup on darwin.
1107
1108 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
1109
1110 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
1111
1112 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
1113
1114 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
1115
1116 2012-10-23 Ian Bolton <ian.bolton@arm.com>
1117 Jim MacArthur <jim.macarthur@arm.com>
1118 Marcus Shawcroft <marcus.shawcroft@arm.com>
1119 Nigel Stephens <nigel.stephens@arm.com>
1120 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1121 Richard Earnshaw <rearnsha@arm.com>
1122 Sofiane Naci <sofiane.naci@arm.com>
1123 Stephen Thomas <stephen.thomas@arm.com>
1124 Tejas Belagod <tejas.belagod@arm.com>
1125 Yufeng Zhang <yufeng.zhang@arm.com>
1126
1127 * configure.tgt: Add AArch64.
1128
1129 2012-10-04 Jason Merrill <jason@redhat.com>
1130
1131 * testsuite/libgomp.c++/tls-init1.C: New.
1132
1133 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
1134
1135 * configure: Regenerated.
1136
1137 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
1138
1139 * config/linux/mips/futex.h (sys_futex0): Change to static
1140 function with noinline, nomips16 attributes under MIPS16. Adjust
1141 asm statement to place 'li v0,SYS_futex' immediately before
1142 syscall insn.
1143
1144 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
1145
1146 * libgomp.texi (Library Index): Renamed from "Index" to prevent
1147 conflict with index.html on case-insensitive file systems.
1148
1149 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
1150
1151 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
1152 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
1153
1154 2012-07-02 Richard Guenther <rguenther@suse.de>
1155 Michael Matz <matz@suse.de>
1156 Tobias Grosser <tobias@grosser.es>
1157 Sebastian Pop <sebpop@gmail.com>
1158
1159 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1160 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1161 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1162 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1163
1164 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
1165
1166 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
1167
1168 2012-06-22 Richard Guenther <rguenther@suse.de>
1169
1170 Merge from graphite branch
1171 2012-01-13 Tobias Grosser <tobias@grosser.es>
1172
1173 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1174 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1175
1176 2012-06-07 Jakub Jelinek <jakub@redhat.com>
1177
1178 PR middle-end/53580
1179 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
1180 use GOMP_barrier () call instead.
1181 * testsuite/libgomp.c/pr26943-3.c: Likewise.
1182 * testsuite/libgomp.c/pr26943-4.c: Likewise.
1183 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
1184 call GOMP_barrier instead.
1185 * testsuite/libgomp.fortran/vla5.f90: Likewise.
1186
1187 2012-06-06 Jakub Jelinek <jakub@redhat.com>
1188
1189 PR libgomp/52993
1190 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
1191 argument to memset call.
1192
1193 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
1194
1195 * configure: Regenerated.
1196
1197 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1198
1199 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
1200
1201 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
1202
1203 PR bootstrap/52812
1204 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
1205
1206 2012-03-22 Jakub Jelinek <jakub@redhat.com>
1207
1208 PR middle-end/52547
1209 * testsuite/libgomp.c/pr52547.c: New test.
1210
1211 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1212
1213 * testsuite/lib/libgomp.exp: load fortran-modules.exp
1214
1215 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1216
1217 * configure.tgt (mips-sgi-irix6*): Remove.
1218
1219 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1220
1221 * configure.tgt (alpha*-dec-osf*): Remove.
1222
1223 * config/osf/sem.h: Remove.
1224 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
1225
1226 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
1227
1228 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
1229
1230 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1231
1232 PR libstdc++/52188
1233 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
1234 Remove ENABLE_SYMVERS_SOL2.
1235 * configure: Regenerate.
1236 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
1237 (PREPROCESS): New variable.
1238 (libgomp.ver): New target.
1239 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
1240 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
1241 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
1242 Use libgomp.ver.
1243 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
1244 * Makefile.in: Regenerate.
1245
1246 2012-02-14 Walter Lee <walt@tilera.com>
1247
1248 * configure.tgt: Handle tilegx and tilepro.
1249 * config/linux/tile/futex.h: New file.
1250
1251 2012-02-08 Richard Guenther <rguenther@suse.de>
1252
1253 PR tree-optimization/46886
1254 * testsuite/libgomp.c/pr46886.c: New testcase.
1255
1256 2012-01-25 Matthias Klose <doko@ubuntu.com>
1257
1258 * config/linux/arm: Remove empty directory.
1259 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
1260
1261 2011-12-09 Alan Modra <amodra@gmail.com>
1262
1263 PR libgomp/51376
1264 * task.c (GOMP_taskwait): Don't access task->children outside of
1265 task_lock mutex region.
1266 (GOMP_task): Likewise.
1267
1268 2011-12-06 Jakub Jelinek <jakub@redhat.com>
1269
1270 PR libgomp/51132
1271 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
1272 to file scope.
1273 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1274 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1275 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1276 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1277 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1278
1279 2011-12-02 Alan Modra <amodra@gmail.com>
1280
1281 * config/linux/affinity.c: Use atomic rather than sync builtin.
1282 * config/linux/lock.c: Likewise.
1283 * config/linux/ptrlock.h: Likewise.
1284 * config/linux/ptrlock.c: Likewise.
1285 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
1286 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
1287 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
1288 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
1289 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
1290 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
1291 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
1292 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
1293 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
1294 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
1295
1296 2011-11-30 Alan Modra <amodra@gmail.com>
1297
1298 PR libgomp/51298
1299 * config/linux/bar.h: Use atomic rather than sync builtins.
1300 * config/linux/bar.c: Likewise. Add missing acquire
1301 synchronisation on generation field.
1302 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
1303 double unlock.
1304
1305 2011-11-30 Alan Modra <amodra@gmail.com>
1306
1307 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
1308 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
1309 * config/linux/mutex.h: Use atomic rather than sync builtins.
1310 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
1311 * config/linux/omp-lock.h: Comment fix.
1312 * config/linux/arm/mutex.h: Delete.
1313 * config/linux/powerpc/mutex.h: Delete.
1314 * config/linux/ia64/mutex.h: Delete.
1315 * config/linux/mips/mutex.h: Delete.
1316
1317 2011-11-30 Alan Modra <amodra@gmail.com>
1318
1319 PR libgomp/51249
1320 * config/linux/sem.h: Rewrite.
1321 * config/linux/sem.c: Rewrite.
1322
1323 2011-11-28 Richard Henderson <rth@redhat.com>
1324
1325 * libgomp.h (enum memmodel): New.
1326
1327 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
1328
1329 * configure: Regenerate.
1330
1331 2011-10-10 Matthias Klose <doko@ubuntu.com>
1332
1333 * config/posix95: Remove empty directory.
1334
1335 2011-08-26 Jakub Jelinek <jakub@redhat.com>
1336
1337 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
1338
1339 2011-08-19 Jakub Jelinek <jakub@redhat.com>
1340
1341 PR fortran/49792
1342 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
1343 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
1344
1345 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1346
1347 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
1348
1349 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1350
1351 PR libgomp/49965
1352 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
1353
1354 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
1355
1356 * config/linux/proc.h: New.
1357 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
1358 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
1359 (gomp_init_num_threads): Update call to cpuset_popcount.
1360 (get_num_procs): Ditto.
1361 * config/linux/affinity.c (gomp_init_affinity): Call
1362 gomp_cpuset_popcount.
1363
1364 2011-08-02 Jakub Jelinek <jakub@redhat.com>
1365
1366 PR fortran/42041
1367 PR fortran/46752
1368 * omp.h.in (omp_in_final): New prototype.
1369 * omp_lib.f90.in (omp_in_final): New interface.
1370 (omp_integer_kind, omp_logical_kind): Remove
1371 and replace all its uses in the module with 4.
1372 (openmp_version): Change to 201107.
1373 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
1374 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
1375 kind for the parameters.
1376 (omp_in_final): New external.
1377 (openmp_version): Change to 201107.
1378 * task.c (omp_in_final): New function.
1379 (gomp_init_task): Initialize final_task.
1380 (GOMP_task): Remove unused attribute from flags. Handle final
1381 tasks.
1382 (GOMP_taskyield): New function.
1383 (omp_in_final): Return true if if (false) or final (true) task
1384 or descendant of final (true).
1385 * fortran.c (omp_in_final_): New function.
1386 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
1387 (GOMP_3.0): Export GOMP_taskyield.
1388 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
1389 variables.
1390 (parse_unsigned_long_list): New function.
1391 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
1392 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
1393 even if parse_affinity returned false.
1394 * config/linux/affinity.c (gomp_init_affinity): Handle
1395 gomp_cpu_affinity_len == 0.
1396 * libgomp_g.h (GOMP_taskyield): New prototype.
1397 * libgomp.h (struct gomp_task): Add final_task field.
1398 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
1399 * team.c (gomp_team_start): Override new task's nthreads_var icv
1400 if list form OMP_NUM_THREADS has been used and it has value for
1401 the new nesting level.
1402
1403 * testsuite/libgomp.c/atomic-11.c: New test.
1404 * testsuite/libgomp.c/atomic-12.c: New test.
1405 * testsuite/libgomp.c/atomic-13.c: New test.
1406 * testsuite/libgomp.c/atomic-14.c: New test.
1407 * testsuite/libgomp.c/reduction-6.c: New test.
1408 * testsuite/libgomp.c/task-5.c: New test.
1409 * testsuite/libgomp.c++/atomic-2.C: New test.
1410 * testsuite/libgomp.c++/atomic-3.C: New test.
1411 * testsuite/libgomp.c++/atomic-4.C: New test.
1412 * testsuite/libgomp.c++/atomic-5.C: New test.
1413 * testsuite/libgomp.c++/atomic-6.C: New test.
1414 * testsuite/libgomp.c++/atomic-7.C: New test.
1415 * testsuite/libgomp.c++/atomic-8.C: New test.
1416 * testsuite/libgomp.c++/atomic-9.C: New test.
1417 * testsuite/libgomp.c++/task-8.C: New test.
1418 * testsuite/libgomp.c++/reduction-4.C: New test.
1419 * testsuite/libgomp.fortran/allocatable7.f90: New test.
1420 * testsuite/libgomp.fortran/allocatable8.f90: New test.
1421 * testsuite/libgomp.fortran/crayptr3.f90: New test.
1422 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
1423 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
1424 * testsuite/libgomp.fortran/pointer1.f90: New test.
1425 * testsuite/libgomp.fortran/pointer2.f90: New test.
1426 * testsuite/libgomp.fortran/task4.f90: New test.
1427
1428 2011-08-02 Tobias Burnus <burnus@net-b.de>
1429
1430 * libgomp.texi: Update OpenMP spec references to 3.1.
1431 (omp_in_final,OMP_PROC_BIND): New sections.
1432 (OMP_NUM_THREADS): Document that the value can be now a list.
1433 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
1434
1435 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
1436
1437 * config/linux/x86/futex.h: Check __x86_64__ instead of
1438 __LP64__.
1439
1440 2011-07-29 Jakub Jelinek <jakub@redhat.com>
1441
1442 PR middle-end/49897
1443 PR middle-end/49898
1444 * testsuite/libgomp.c/pr49897-1.c: New test.
1445 * testsuite/libgomp.c/pr49897-2.c: New test.
1446 * testsuite/libgomp.c/pr49898-1.c: New test.
1447 * testsuite/libgomp.c/pr49898-2.c: New test.
1448
1449 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
1450
1451 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
1452 for ia32 instead of ilp32.
1453
1454 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
1455 * testsuite/libgomp.c/atomic-6.c: Likewise.
1456
1457 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
1458
1459 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
1460 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
1461
1462 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1463
1464 PR libgomp/45351
1465 * config/osf/sem.h: New file.
1466 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
1467
1468 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1469
1470 PR target/49541
1471 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
1472 ldflags.
1473
1474 2011-07-15 Jakub Jelinek <jakub@redhat.com>
1475
1476 * config/linux/wait.h (do_spin): New inline, largely copied
1477 from do_wait, just don't do futex_wait here, instead return true if
1478 it should be done.
1479 (do_wait): Implement using do_spin.
1480 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
1481 to prototype.
1482 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
1483 __sync_bool_compare_and_swap, pass the oldval to
1484 gomp_mutex_lock_slow.
1485 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
1486 If all mutex contenders are just spinning and not sleeping, don't
1487 change state to 2 unnecessarily. Optimize the loop when state has
1488 already become 2 to use just one atomic operation per loop instead
1489 of two.
1490 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
1491 to prototype.
1492 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
1493 __sync_bool_compare_and_swap, pass the oldval to
1494 gomp_mutex_lock_slow.
1495
1496 2011-06-22 Jakub Jelinek <jakub@redhat.com>
1497
1498 PR libgomp/49490
1499 * iter.c (gomp_iter_static_next): For chunk size 0
1500 only use n ceil/ nthreads size for the first
1501 n % nthreads threads in the team instead of
1502 all threads except for the last few ones which
1503 get less work or none at all.
1504 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
1505 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
1506 chunk argument, set run_sched_modifier to 0 for static
1507 resp. 1 for other kinds. If chunk argument is 0
1508 and not static, set value to 1.
1509
1510 2011-05-19 Jakub Jelinek <jakub@redhat.com>
1511
1512 PR c++/49043
1513 * testsuite/libgomp.c++/pr49043.C: New test.
1514
1515 PR c++/48869
1516 * testsuite/libgomp.c++/pr48869.C: New test.
1517
1518 2011-05-06 Jakub Jelinek <jakub@redhat.com>
1519
1520 PR fortran/48894
1521 * fortran.c: Include limits.h.
1522 (TO_INT): Define.
1523 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
1524 *set.
1525 (omp_set_num_threads_8_, omp_set_schedule_8_,
1526 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
1527 omp_get_team_size_8_): Use TO_INT macro.
1528 * testsuite/libgomp.fortran/pr48894.f90: New test.
1529
1530 2011-04-13 Jakub Jelinek <jakub@redhat.com>
1531
1532 PR middle-end/48591
1533 * testsuite/libgomp.c/pr48591.c: New test.
1534
1535 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1536
1537 PR bootstrap/48135
1538 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
1539 * configure: Regenerate.
1540
1541 2011-02-27 Jakub Jelinek <jakub@redhat.com>
1542
1543 PR fortran/47886
1544 * testsuite/libgomp.fortran/task3.f90: New test.
1545
1546 2011-02-24 Tobias Burnus <burnus@net-b.de>
1547
1548 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
1549
1550 2011-02-23 Jakub Jelinek <jakub@redhat.com>
1551
1552 PR libgomp/47854
1553 * libgomp.texi (omp_get_wtime): Don't say time in the past
1554 must be Unix Epoch.
1555
1556 2011-02-18 Jakub Jelinek <jakub@redhat.com>
1557
1558 PR libgomp/47804
1559 * testsuite/libgomp.fortran/fortran.exp: Check for both
1560 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
1561 but $blddir != "", still append ${blddir}/${lang_library_path}
1562 to ld_library_path.
1563
1564 2011-02-16 Tobias Burnus <burnus@net-b.de>
1565
1566 PR libgomp/47758
1567 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
1568 of libquadmath.a before adding its libpath to ldflags.
1569
1570 2011-02-14 Jakub Jelinek <jakub@redhat.com>
1571
1572 PR libgomp/47731
1573 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
1574 to FUTEX_WAIT futex syscall.
1575 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
1576
1577 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1578
1579 * configure: Regenerate.
1580
1581 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
1582
1583 PR libstdc++/36104
1584 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
1585
1586 2011-01-16 Gerald Pfeifer
1587
1588 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
1589
1590 2010-12-14 Jakub Jelinek <jakub@redhat.com>
1591
1592 PR fortran/46874
1593 * libgomp.fortran/allocatable6.f90: New test.
1594
1595 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1596
1597 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
1598 * configure: Regenerate.
1599
1600 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
1601
1602 PR target/40125
1603 PR lto/46695
1604 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
1605 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
1606 * aclocal.m4: Regenerate.
1607 * configure: Regenerate.
1608 * Makefile.in: Regenerate.
1609 * testsuite/Makefile.in: Regenerate.
1610
1611 2010-12-02 Jakub Jelinek <jakub@redhat.com>
1612
1613 PR fortran/46753
1614 * libgomp.fortran/pr46753.f90: New test.
1615
1616 PR libgomp/43706
1617 * env.c (initialize_env): Default to spin count 300000
1618 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
1619 is specified.
1620
1621 PR libgomp/45240
1622 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
1623 at the end if sync builtins aren't supported.
1624
1625 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1626
1627 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
1628
1629 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1630
1631 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
1632
1633 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
1634
1635 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
1636
1637 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1638 Tobias Burnus <burnus@net-b.de>
1639
1640 PR fortran/32049
1641 * configure.ac:
1642 * configure: Regenerate.
1643
1644 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
1645
1646 * config/linux/futex.h: New.
1647 * config/linux/arm/mutex.h: New.
1648 * configure.tgt (arm*-*-linux*): Add config path.
1649
1650 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
1651
1652 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1653
1654 2010-09-23 Tobias Burnus <burnus@net-b.de>
1655
1656 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
1657 Change Fortran datatype to LOGICAL.
1658 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
1659 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
1660
1661 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1662
1663 * configure: Regenerate.
1664
1665 2010-07-26 Jakub Jelinek <jakub@redhat.com>
1666
1667 * libgomp.texi: Add function keyword to a couple of Fortran
1668 interfaces, use integer instead of int for Fortran.
1669
1670 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
1671
1672 * libgomp.texi: Fix spelling and pasto problems throughout.
1673 Adjust prototypes to match code.
1674
1675 2010-07-24 Tobias Burnus <burnus@net-b.de>
1676
1677 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
1678 silence -fwhole-file warning.
1679
1680 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1681
1682 * configure.tgt (*-*-solaris2.[56]*): Removed.
1683
1684 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1685
1686 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
1687 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
1688 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
1689 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
1690 targetting solaris2*.
1691 * configure: Regenerate.
1692 * config.h.in: Regenerate.
1693
1694 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
1695 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
1696 Add libgomp_version_dep.
1697 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
1698 versioning.
1699 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
1700 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
1701 * Makefile.in: Regenerate.
1702
1703 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
1704 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
1705 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
1706 to common block, protected by
1707 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
1708
1709 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
1710
1711 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
1712
1713 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
1714
1715 PR bootstrap/43170
1716 * configure: Regenerate.
1717
1718 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1719
1720 PR other/43620
1721 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
1722 * configure: Regenerate.
1723 * Makefile.in: Regenerate.
1724 * testsuite/Makefile.in: Regenerate.
1725
1726 2010-04-26 Jakub Jelinek <jakub@redhat.com>
1727
1728 PR c/43893
1729 * testsuite/libgomp.c/pr43893.c: New test.
1730 * testsuite/libgomp.c++/pr43893.C: New test.
1731
1732 2010-04-21 Jakub Jelinek <jakub@redhat.com>
1733
1734 PR middle-end/43570
1735 * testsuite/libgomp.fortran/vla8.f90: New test.
1736
1737 2010-04-20 Jakub Jelinek <jakub@redhat.com>
1738
1739 PR libgomp/43706
1740 * config/linux/affinity.c (gomp_init_affinity): Decrease
1741 gomp_available_cpus if affinity mask confines the process to fewer
1742 CPUs.
1743 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
1744 non-NULL, just return gomp_available_cpus.
1745
1746 PR libgomp/43569
1747 * sections.c (gomp_sections_init): Initialize ws->mode.
1748
1749 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
1750
1751 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
1752 not unused bar variable.
1753 * configure: Regenerate.
1754
1755 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1756
1757 * Makefile.in: Regenerate.
1758 * aclocal.m4: Regenerate.
1759 * testsuite/Makefile.in: Regenerate.
1760
1761 2010-03-22 Jakub Jelinek <jakub@redhat.com>
1762
1763 PR libgomp/42942
1764 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
1765 (initialize_env): Adjust callers.
1766 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
1767 when the argument is 0.
1768
1769 * testsuite/libgomp.c/pr42942.c: New test.
1770
1771 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
1772
1773 PR middle-end/42644
1774 PR middle-end/42130
1775 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1776 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
1777
1778 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1779
1780 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
1781 * testsuite/libgomp.c++/task-6.C: Likewise.
1782
1783 2010-01-28 Steve Ellcey <sje@cup.hp.com>
1784
1785 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
1786
1787 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
1788
1789 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
1790 * configure: Regenerate.
1791
1792 2010-01-26 Jakub Jelinek <jakub@redhat.com>
1793
1794 PR fortran/42866
1795 * testsuite/libgomp.fortran/allocatable5.f90: New test.
1796
1797 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
1798
1799 * configure.ac: Test for executability of GFORTRAN.
1800 * configure: Regenerate.
1801
1802 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1803
1804 * configure: Regenerate.
1805
1806 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
1807
1808 PR libgomp/42602
1809 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
1810
1811 2010-01-03 Richard Guenther <rguenther@suse.de>
1812
1813 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
1814
1815 2009-12-23 Sebastian Pop <sebpop@gmail.com>
1816
1817 * testsuite/libgomp.graphite/pr4118.c: New.
1818
1819 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1820
1821 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
1822 for darwin, protect the test with require-effective-target tls_runtime.
1823 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1824
1825 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1826
1827 PR target/41605
1828 * testsuite/lib/libgomp.exp: Provide -B options to allow for
1829 link spec %s substitutions for static libraries.
1830
1831 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
1832
1833 PR testsuite/42135
1834 * libgomp.graphite/force-parallel-2.c: Reduce array size.
1835
1836 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1837
1838 * Makefile.in: Regenerate.
1839 * configure: Regenerate.
1840 * testsuite/Makefile.in: Regenerate.
1841
1842 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
1843
1844 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
1845 settings for LC_ALL and LANG.
1846
1847 2009-11-25 Jakub Jelinek <jakub@redhat.com>
1848
1849 PR fortran/42162
1850 * testsuite/libgomp.fortran/pr42162.f90: New test.
1851
1852 2009-11-13 Jakub Jelinek <jakub@redhat.com>
1853
1854 PR middle-end/42029
1855 * testsuite/libgomp.c/pr42029.c: New test.
1856
1857 2009-10-26 Jakub Jelinek <jakub@redhat.com>
1858
1859 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
1860 *s. Accept ld version without text in ()s.
1861 * configure: Regenerated.
1862
1863 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
1864
1865 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
1866
1867 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1868
1869 PR libgomp/41418
1870 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
1871 or a hyphen (happens with fortran language disabled).
1872 * configure: Regenerate.
1873
1874 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1875
1876 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
1877 use sed script portable to Solaris /bin/sed for extracting ld
1878 version.
1879 * configure: Regenerate.
1880
1881 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
1882
1883 * testsuite/libgomp.graphite/bounds.c: New test.
1884
1885 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1886
1887 * Makefile.am (libgomp_la_LINK): New.
1888 * Makefile.in: Regenerate.
1889
1890 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1891
1892 * configure.ac (AC_PREREQ): Bump to 2.64.
1893
1894 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1895
1896 * Makefile.am (install-html, install-pdf): Remove.
1897 * Makefile.in: Regenerate.
1898
1899 * Makefile.in: Regenerate.
1900 * aclocal.m4: Regenerate.
1901 * config.h.in: Regenerate.
1902 * configure: Regenerate.
1903 * testsuite/Makefile.in: Regenerate.
1904
1905 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1906
1907 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
1908 * Makefile.in: Regenerate.
1909
1910 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
1911
1912 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
1913 * Makefile.in: Regenerate.
1914
1915 2009-08-19 Tobias Burnus <burnus@net-b.de>
1916
1917 PR fortran/41102
1918 omp_lib.h.in: Fix -std=f95 errors.
1919
1920
1921 2009-08-14 David Edelsohn <edelsohn@gnu.org>
1922
1923 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
1924 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
1925 * testsuite/libgomp.graphite/graphite.exp: New.
1926
1927 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
1928
1929 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
1930 only build.
1931
1932 2009-08-04 David Daney <ddaney@caviumnetworks.com>
1933
1934 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
1935 needed memory barrier semantics.
1936 * config/linux/mips/mutex.h: New file.
1937
1938 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1939
1940 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1941
1942 2009-07-16 Joseph Myers <joseph@codesourcery.com>
1943
1944 * configure: Regenerate.
1945
1946 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1947
1948 PR testsuite/40699
1949 PR testsuite/40707
1950 PR testsuite/40709
1951 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
1952 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
1953 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
1954
1955 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
1956
1957 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
1958 options when choosing a multilib.
1959
1960 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1961
1962 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
1963 ld_library_path. Use add_path. Add just find_libgcc_s to
1964 ld_library_path, not every libgcc multilib directory.
1965 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
1966 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
1967 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
1968 Use add_path.
1969 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
1970
1971 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
1972
1973 * Makefile.am (LTLDFLAGS): Define.
1974 (LINK): Define.
1975 * Makefile.in: Regenerate.
1976
1977 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
1978
1979 PR fortran/39718
1980 * testsuite/libgomp.fortran/fortran.exp: Don't link with
1981 libgfortranbegin, check existence of libgfortran.a instead of
1982 libgfortranbegin.a.
1983
1984 2009-05-20 Jakub Jelinek <jakub@redhat.com>
1985
1986 PR libgomp/40174
1987 * team.c (gomp_thread_start): Destroy thr->release semaphore.
1988 (gomp_free_pool_helper): Likewise.
1989
1990 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
1991 Jakub Jelinek <jakub@redhat.com>
1992
1993 PR fortran/35423
1994 * testsuite/libgomp.fortran/workshare2.f90: New test.
1995
1996 2009-04-09 Nick Clifton <nickc@redhat.com>
1997
1998 * iter.c: Change copyright header to refer to version 3 of the
1999 GNU General Public License with version 3.1 of the GCC Runtime
2000 Library Exception and to point readers at the COPYING3 and
2001 COPYING3.RUNTIME files and the FSF's license web page.
2002 * alloc.c: Likewise.
2003 * barrier.c: Likewise.
2004 * config/bsd/proc.c: Likewise.
2005 * config/linux/affinity.c: Likewise.
2006 * config/linux/alpha/futex.h: Likewise.
2007 * config/linux/bar.c: Likewise.
2008 * config/linux/bar.h: Likewise.
2009 * config/linux/ia64/futex.h: Likewise.
2010 * config/linux/ia64/mutex.h: Likewise.
2011 * config/linux/lock.c: Likewise.
2012 * config/linux/mips/futex.h: Likewise.
2013 * config/linux/mutex.c: Likewise.
2014 * config/linux/mutex.h: Likewise.
2015 * config/linux/powerpc/futex.h: Likewise.
2016 * config/linux/proc.c: Likewise.
2017 * config/linux/ptrlock.c: Likewise.
2018 * config/linux/ptrlock.h: Likewise.
2019 * config/linux/s390/futex.h: Likewise.
2020 * config/linux/sem.c: Likewise.
2021 * config/linux/sem.h: Likewise.
2022 * config/linux/sparc/futex.h: Likewise.
2023 * config/linux/wait.h: Likewise.
2024 * config/linux/x86/futex.h: Likewise.
2025 * config/mingw32/proc.c: Likewise.
2026 * config/mingw32/time.c: Likewise.
2027 * config/posix/affinity.c: Likewise.
2028 * config/posix/bar.c: Likewise.
2029 * config/posix/bar.h: Likewise.
2030 * config/posix/lock.c: Likewise.
2031 * config/posix/mutex.h: Likewise.
2032 * config/posix/proc.c: Likewise.
2033 * config/posix/ptrlock.h: Likewise.
2034 * config/posix/sem.c: Likewise.
2035 * config/posix/sem.h: Likewise.
2036 * config/posix/time.c: Likewise.
2037 * config/posix95/lock.c: Likewise.
2038 * critical.c: Likewise.
2039 * env.c: Likewise.
2040 * error.c: Likewise.
2041 * fortran.c: Likewise.
2042 * iter_ull.c: Likewise.
2043 * libgomp.h: Likewise.
2044 * libgomp_f.h.in: Likewise.
2045 * libgomp_g.h: Likewise.
2046 * loop.c: Likewise.
2047 * loop_ull.c: Likewise.
2048 * omp.h.in: Likewise.
2049 * omp_lib.f90.in: Likewise.
2050 * omp_lib.h.in: Likewise.
2051 * ordered.c: Likewise.
2052 * parallel.c: Likewise.
2053 * sections.c: Likewise.
2054 * single.c: Likewise.
2055 * task.c: Likewise.
2056 * team.c: Likewise.
2057 * work.c: Likewise.
2058
2059 2009-04-09 Jakub Jelinek <jakub@redhat.com>
2060
2061 * testsuite/config/default.exp: Change copyright header to refer to
2062 version 3 of the GNU General Public License and to point readers
2063 at the COPYING3 file and the FSF's license web page.
2064
2065 2009-04-08 Jakub Jelinek <jakub@redhat.com>
2066
2067 PR middle-end/39573
2068 * libgomp.c++/pr39573.C: New test.
2069
2070 2009-04-01 Jakub Jelinek <jakub@redhat.com>
2071
2072 PR other/39591
2073 * testsuite/libgomp.c/pr39591-1.c: New test.
2074 * testsuite/libgomp.c/pr39591-2.c: New test.
2075 * testsuite/libgomp.c/pr39591-3.c: New test.
2076
2077 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
2078
2079 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
2080 * testsuite/libgomp.c/atomic-6.c: Ditto.
2081
2082 2009-03-23 Jakub Jelinek <jakub@redhat.com>
2083
2084 PR c/39495
2085 * testsuite/libgomp.c/loop-12.c: New test.
2086 * testsuite/libgomp.c/loop-11.c: New test.
2087 * testsuite/libgomp.c++/loop-11.C: New test.
2088 * testsuite/libgomp.c++/loop-12.C: New test.
2089 * testsuite/libgomp.c++/for-8.C: New test.
2090
2091 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2092
2093 * configure: Regenerate.
2094
2095 2009-02-11 Jakub Jelinek <jakub@redhat.com>
2096
2097 PR middle-end/39154
2098 * testsuite/libgomp.c/pr39154.c: New test.
2099
2100 2009-01-30 Ian Lance Taylor <iant@google.com>
2101
2102 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
2103 libgomp_ld_is_gold. Get gold version number.
2104 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
2105 * configure: Rebuild.
2106
2107 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2108
2109 * testsuite/lib/libgomp.exp: Add -B option for targets that
2110 use libgfortran.a%s in their specs.
2111
2112 2009-01-07 Jakub Jelinek <jakub@redhat.com>
2113
2114 PR libgomp/38086
2115 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
2116 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
2117 HAVE_AS_SYMVER_DIRECTIVE is not defined.
2118 * configure: Regenerated.
2119 * config.h.in: Likewise.
2120
2121 2008-12-28 Jakub Jelinek <jakub@redhat.com>
2122
2123 PR c++/38650
2124 * testsuite/libgomp.c/pr38650.c: New test.
2125 * testsuite/libgomp.c++/pr38650.C: New test.
2126
2127 2008-12-27 Jakub Jelinek <jakub@redhat.com>
2128
2129 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
2130
2131 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
2132
2133 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
2134
2135 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2136
2137 * configure: Regenerate.
2138
2139 2008-12-08 Jakub Jelinek <jakub@redhat.com>
2140
2141 PR middle-end/36802
2142 * testsuite/libgomp.c/pr36802-1.c: New test.
2143 * testsuite/libgomp.c/pr36802-2.c: New test.
2144 * testsuite/libgomp.c/pr36802-3.c: New test.
2145
2146 2008-12-01 Janis Johnson <janis187@us.ibm.com>
2147
2148 PR libgomp/38270
2149 * config/linux/powerpc/mutex.h: New.
2150
2151 2008-12-01 Jakub Jelinek <jakub@redhat.com>
2152
2153 PR c++/38257
2154 * testsuite/libgomp.c++/for-7.C: New test.
2155
2156 PR c++/38348
2157 * testsuite/libgomp.c++/for-6.C: New test.
2158
2159 2008-11-26 Janis Johnson <janis187@us.ibm.com>
2160
2161 PR testsuite/28870
2162 * testsuite/lib/libgomp.exp: Include new timeout library files.
2163 (libgomp_target_compile): Set timeout value from new proc.
2164
2165 2008-11-13 Steve Ellcey <sje@cup.hp.com>
2166
2167 PR libgomp/37938
2168 * config/linux/ia64/mutex.h: New.
2169
2170 2008-11-04 Tobias Burnus <burnus@net-b.de>
2171
2172 PR libgomp/37935
2173 * libgomp.texi (Runtime library routines, environment variables):
2174 Update for OpenMP version 3.0.
2175
2176 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
2177 Steve Ellcey <sje@cup.hp.com>
2178
2179 * configure: Regenerate for new libtool.
2180 * Makefile.in: Ditto.
2181 * testsuite/Makefile.in: Ditto.
2182
2183 2008-09-19 Jakub Jelinek <jakub@redhat.com>
2184 Andreas Tobler <a.tobler@schweiz.org>
2185
2186 * config/bsd/proc.c: New file.
2187 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
2188 * configure.ac: Check for header <sys/sysctl.h>
2189 * configure: Regenerate.
2190 * config.h.in: Likewise.
2191
2192 2008-09-05 Janis Johnson <janis187@us.ibm.com>
2193
2194 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
2195
2196 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2197
2198 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
2199 * Makefile.in: Regenerated.
2200 * testsuite/Makefile.in: Regenerated.
2201
2202 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
2203
2204 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
2205 depend on blddir if blddir exists.
2206 (libgomp_target_compile): Likewise.
2207 * testsuite/libgomp.c++/c++.exp: Likewise.
2208 * testsuite/libgomp.fortran/fortran.exp: Likewise.
2209
2210 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2211
2212 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
2213 Do not list GPL as Invariant Section.
2214
2215 2008-07-28 Ilie Garbacea <ilie@mips.com>
2216 Chao-ying Fu <fu@mips.com>
2217
2218 * configure.tgt: Enable futex for MIPS.
2219 * config/linux/mips/futex.h: New file.
2220
2221 2008-07-16 Jakub Jelinek <jakub@redhat.com>
2222
2223 * team.c (gomp_team_end): Free team immediately if it has
2224 just one thread.
2225
2226 2008-07-08 David Edelsohn <edelsohn@gnu.org>
2227
2228 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
2229 * testsuite/libgomp.fortran/fortran.exp: Same.
2230 * testsuite/libgomp.c/c.exp: Same.
2231 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
2232 directory to library path first.
2233
2234 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
2235
2236 * env.c (parse_stacksize): Add cast to avoid warning.
2237 (parse_spincount): Likewise.
2238
2239 2008-06-27 Jakub Jelinek <jakub@redhat.com>
2240
2241 * testsuite/libgomp.c/loop-10.c: New test.
2242 * libgomp.c/loop-3.c (main): Add lastprivate clause.
2243 * libgomp.c++/loop-6.C (main): Likewise.
2244
2245 PR debug/36617
2246 * testsuite/libgomp.c/debug-1.c: New test.
2247
2248 2008-06-19 Jakub Jelinek <jakub@redhat.com>
2249
2250 * testsuite/libgomp.c/nqueens-1.c: New test.
2251
2252 PR c++/36523
2253 * testsuite/libgomp.c++/task-7.C: New function.
2254
2255 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2256
2257 * configure: Regenerate.
2258
2259 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2260
2261 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
2262 mutex when HAVE_SYNC_BUILTINS isn't defined.
2263
2264 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2265
2266 * libgomp.texi (omp_test_lock): Fix typo.
2267
2268 2008-06-12 Tobias Burnus <burnus@net-b.de>
2269
2270 * omp_lib.f90.in: Add "implicit none".
2271
2272 2008-06-12 Jakub Jelinek <jakub@redhat.com>
2273
2274 PR middle-end/36506
2275 * testsuite/libgomp.c/reduction-5.c: New test.
2276
2277 2008-06-11 Jakub Jelinek <jakub@redhat.com>
2278
2279 * libgomp.h (struct gomp_task): Add in_tied_task field.
2280 * task.c (gomp_init_task): Initialize it.
2281 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
2282 unconditionally. Don't call gomp_team_barrier_wake if
2283 current task is implicit or if(0) from implicit and number of
2284 running tasks is equal to nthreads - 1.
2285
2286 PR libgomp/36471
2287 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
2288 omp_get_team_size_8): Fix pastos.
2289
2290 PR libgomp/36469
2291 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
2292 * configure: Regenerated.
2293 * config.h.in: Regenerated.
2294 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
2295 defined.
2296
2297 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
2298
2299 PR bootstrap/36452
2300 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
2301 (GOMP_loop_ull_dynamic_start): Likewise.
2302 (GOMP_loop_ull_guided_start): Likewise.
2303 (GOMP_loop_ull_ordered_static_start): Likewise.
2304 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
2305 (GOMP_loop_ull_ordered_guided_start): Likewise.
2306
2307 2008-06-06 Jakub Jelinek <jakub@redhat.com>
2308 Richard Henderson <rth@redhat.com>
2309 Ulrich Drepper <drepper@redhat.com>
2310 Jakob Blomer <jakob.blomer@ira.uka.de>
2311
2312 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
2313 Substitute also OMP_*LOCK_25*.
2314 * configure: Regenerated.
2315 * config.h.in: Regenerated.
2316 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
2317 ptrlock.c and task.c.
2318 * Makefile.in: Regenerated.
2319 * testsuite/Makefile.in: Regenerated.
2320 * task.c: New file.
2321 * loop_ull.c: New file.
2322 * iter_ull.c: New file.
2323 * libgomp.h: Include ptrlock.h.
2324 (enum gomp_task_kind): New type.
2325 (struct gomp_team): Add task_lock, task_queue, task_count,
2326 task_running_count, single_count fields. Add
2327 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
2328 Remove work_share_lock, generation_mask,
2329 oldest_live_gen, num_live_gen and init_work_shares fields, add
2330 work work_share_list_alloc, work_share_list_free and work_share_chunk
2331 fields. Change work_shares from pointer to pointers into an array.
2332 Change ordered_release field into gomp_sem_t ** from flexible array
2333 member. Add implicit_task and initial_work_shares fields.
2334 Move close to the end of the struct.
2335 (struct gomp_team_state): Add single_count, last_work_share,
2336 active_level and level fields, remove work_share_generation.
2337 (gomp_barrier_handle_tasks): New prototype.
2338 (gomp_finish_task): New inline function.
2339 (struct gomp_work_share): Move chunk_size, end, incr into
2340 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
2341 next_ll fields. Reshuffle fields. Add next_alloc,
2342 next_ws, next_free and inline_ordered_team_ids fields, change
2343 ordered_team_ids into pointer from flexible array member.
2344 Add mode field. Put lock and next into a different cache line
2345 from most of the write-once fields.
2346 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
2347 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
2348 gomp_iter_ull_guided_next): New prototypes.
2349 (gomp_new_icv): New prototype.
2350 (struct gomp_thread): Add thread_pool and task fields.
2351 (struct gomp_thread_pool): New type.
2352 (gomp_new_team): New prototype.
2353 (gomp_team_start): Change type of last argument.
2354 (gomp_new_work_share): Removed.
2355 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
2356 (gomp_work_share_init_done): New static inline.
2357 (gomp_throttled_spin_count_var, gomp_available_cpus,
2358 gomp_managed_threads): New extern decls.
2359 (gomp_init_task): New prototype.
2360 (gomp_spin_count_var): New extern var decl.
2361 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
2362 or no alias support, or if not PIC.
2363 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
2364 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
2365 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
2366 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
2367 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
2368 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
2369 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
2370 gomp_test_nest_lock_25): New prototypes.
2371 (omp_lock_symver, strong_alias): Define.
2372 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
2373 decls.
2374 (gomp_end_task): New.
2375 (struct gomp_task_icv, gomp_global_icv): New.
2376 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
2377 (struct gomp_task): New.
2378 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
2379 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
2380 (gomp_icv): New.
2381 (gomp_schedule_type): Reorder enum to match
2382 omp_sched_t.
2383 * team.c (struct gomp_thread_start_data): Add thread_pool and task
2384 fields.
2385 (gomp_thread_start): Add gomp_team_barrier_wait call.
2386 For non-nested case remove clearing of docked thread thr fields.
2387 Use pool fields instead of global gomp_* variables. Use
2388 gomp_barrier_wait_last when needed. Initialize ts.active_level.
2389 Create tasks for each member thread.
2390 (free_team): Only destroy team barrier, task_lock here and free it.
2391 (gomp_free_thread): Free last_team if non-NULL.
2392 (gomp_team_end): Call gomp_team_barrier_wait instead of
2393 gomp_barrier_wait. For nested case call one extra
2394 gomp_barrier_wait. Move here some destruction from free_team.
2395 Call free_team on pool->last_team if any, rather than freeing
2396 current team. Destroy work_share_list_free_lock ifndef
2397 HAVE_SYNC_BUILTINS.
2398 (gomp_new_icv): New function.
2399 (gomp_threads, gomp_threads_size, gomp_threads_used,
2400 gomp_threads_dock): Removed.
2401 (gomp_thread_destructor): New variable.
2402 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
2403 functions.
2404 (gomp_team_start): Create new pool if current thread doesn't have
2405 one. Use pool fields instead of global gomp_* variables.
2406 Initialize thread_pool field for new threads. Clear single_count.
2407 Change last argument from ws to team, don't create
2408 new team, set ts.work_share to &team->work_shares[0] and clear
2409 ts.last_work_share. Don't clear ts.work_share_generation.
2410 If number of threads changed, adjust atomically gomp_managed_threads.
2411 Use gomp_init_task instead of gomp_new_task,
2412 set thr->task to the corresponding implicit_task array entry.
2413 Create tasks for each member thread. Initialize ts.level.
2414 (initialize_team): Call pthread_key_create on
2415 gomp_thread_destructor.
2416 (team_destructor): New function.
2417 (new_team): Removed.
2418 (gomp_new_team): New function.
2419 (free_team): Free gomp_work_share blocks chained through next_alloc,
2420 instead of freeing work_shares and destroying work_share_lock.
2421 (gomp_team_end): Call gomp_fini_work_share. If number of threads
2422 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
2423 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
2424 of gomp_barrier_wait.
2425 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
2426 instead of gomp_barrier_wait. Call gomp_work_share_init_done
2427 if gomp_work_share_start returned true. Don't unlock ws->lock.
2428 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
2429 of gomp_barrier_wait.
2430 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
2431 gomp_work_share_init_done if gomp_work_share_start returned true.
2432 Don't unlock ws->lock.
2433 * work.c: Include stddef.h.
2434 (free_work_share): Use work_share_list_free_lock instead
2435 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
2436 Call gomp_fini_work_share and then either free ws if orphaned, or
2437 put it into work_share_list_free list of the current team.
2438 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
2439 functions.
2440 (gomp_work_share_start, gomp_work_share_end,
2441 gomp_work_share_end_nowait): Rewritten.
2442 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
2443 (openmp_version): Set to 200805.
2444 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
2445 omp_sched_guided, omp_sched_auto): New parameters.
2446 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2447 omp_set_max_active_levels, omp_get_max_active_levels,
2448 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2449 omp_get_active_level): New interfaces.
2450 * omp_lib.h.in (openmp_version): Set to 200805.
2451 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
2452 omp_sched_guided, omp_sched_auto): New parameters.
2453 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2454 omp_set_max_active_levels, omp_get_max_active_levels,
2455 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2456 omp_get_active_level): New externals.
2457 * loop.c: Include limits.h.
2458 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
2459 GFS_AUTO.
2460 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
2461 Likewise. Use gomp_icv.
2462 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
2463 ts.static_trip here.
2464 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
2465 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
2466 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
2467 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
2468 don't unlock ws->lock, otherwise lock it.
2469 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
2470 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
2471 (gomp_parallel_loop_start): Call gomp_new_team instead of
2472 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
2473 Adjust gomp_team_start caller. Pass 0 as second argument to
2474 gomp_resolve_num_threads.
2475 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
2476 If adding ws->chunk_size nthreads + 1 times after end won't
2477 overflow, set ws->mode to 1.
2478 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
2479 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
2480 GOMP_loop_ull_ordered_static_start,
2481 GOMP_loop_ull_ordered_dynamic_start,
2482 GOMP_loop_ull_ordered_guided_start,
2483 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
2484 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
2485 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
2486 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
2487 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
2488 prototypes.
2489 * libgomp.map: Export lock routines also @@OMP_2.0.
2490 (GOMP_loop_ordered_dynamic_first,
2491 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
2492 GOMP_loop_ordered_static_first): Remove.
2493 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
2494 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
2495 GOMP_loop_ull_ordered_dynamic_next,
2496 GOMP_loop_ull_ordered_dynamic_start,
2497 GOMP_loop_ull_ordered_guided_next,
2498 GOMP_loop_ull_ordered_guided_start,
2499 GOMP_loop_ull_ordered_runtime_next,
2500 GOMP_loop_ull_ordered_runtime_start,
2501 GOMP_loop_ull_ordered_static_next,
2502 GOMP_loop_ull_ordered_static_start,
2503 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
2504 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
2505 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
2506 (omp_set_schedule, omp_get_schedule,
2507 omp_get_thread_limit, omp_set_max_active_levels,
2508 omp_get_max_active_levels, omp_get_level,
2509 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
2510 omp_set_schedule_, omp_set_schedule_8_,
2511 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
2512 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
2513 omp_get_max_active_levels_, omp_get_level_,
2514 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
2515 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
2516 New exports @@OMP_3.0.
2517 * omp.h.in (omp_sched_t): New type.
2518 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2519 omp_set_max_active_levels, omp_get_max_active_levels,
2520 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2521 omp_get_active_level): New prototypes.
2522 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
2523 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
2524 gomp_thread_limit_var, gomp_remaining_threads_count,
2525 gomp_remaining_threads_lock): New variables.
2526 (parse_spincount): New function.
2527 (initialize_env): Call gomp_init_num_threads unconditionally.
2528 Initialize gomp_available_cpus. Call parse_spincount,
2529 initialize gomp_{,throttled_}spin_count_var
2530 depending on presence and value of OMP_WAIT_POLICY and
2531 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
2532 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
2533 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
2534 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
2535 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
2536 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
2537 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
2538 (gomp_global_icv): New.
2539 (parse_schedule): Use it. Parse "auto".
2540 (omp_set_num_threads): Use gomp_icv.
2541 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
2542 Likewise.
2543 (omp_get_max_threads): Move from parallel.c.
2544 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2545 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
2546 add ialias.
2547 (parse_stacksize, parse_wait_policy): New functions.
2548 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
2549 both wrappers for compatibility and new locks.
2550 (omp_set_schedule, omp_get_schedule,
2551 omp_get_thread_limit, omp_set_max_active_levels,
2552 omp_get_max_active_levels, omp_get_level,
2553 omp_get_ancestor_thread_num, omp_get_team_size,
2554 omp_get_active_level): New ialias_redirect.
2555 (omp_set_schedule_, omp_set_schedule_8_,
2556 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
2557 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
2558 omp_get_max_active_levels_, omp_get_level_,
2559 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
2560 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
2561 New functions.
2562 * parallel.c: Include limits.h.
2563 (gomp_resolve_num_threads): Add count argument. Rewritten.
2564 (GOMP_parallel_start): Call gomp_new_team and pass that as last
2565 argument to gomp_team_start. Pass 0 as second argument to
2566 gomp_resolve_num_threads.
2567 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
2568 if gomp_thread_limit_var != ULONG_MAX.
2569 (omp_in_parallel): Implement using ts.active_level.
2570 (omp_get_max_threads): Move to env.c.
2571 (omp_get_level, omp_get_ancestor_thread_num,
2572 omp_get_team_size, omp_get_active_level): New functions,
2573 add ialias.
2574 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
2575 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
2576 gomp_iter_dynamic_next instead of the _locked variant and don't take
2577 lock around it, otherwise acquire it before calling
2578 gomp_iter_dynamic_next_locked.
2579 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
2580 gomp_iter_dynamic_next instead of the _locked variant and don't take
2581 lock around it.
2582 (GOMP_parallel_sections_start): Call gomp_new_team instead of
2583 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
2584 Adjust gomp_team_start caller. Pass count as second argument to
2585 gomp_resolve_num_threads, don't adjust num_threads after the call.
2586 Use gomp_icv.
2587 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
2588 ws->chunk_size by incr.
2589 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
2590 code.
2591 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
2592 types.
2593 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
2594 (omp_check_defines): Check even the compat defines.
2595 * config/linux/ptrlock.c: New file.
2596 * config/linux/ptrlock.h: New file.
2597 * config/linux/wait.h: New file.
2598 * config/posix/ptrlock.c: New file.
2599 * config/posix/ptrlock.h: New file.
2600 * config/linux/bar.h (gomp_team_barrier_wait,
2601 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
2602 (gomp_team_barrier_set_task_pending,
2603 gomp_team_barrier_clear_task_pending,
2604 gomp_team_barrier_set_waiting_for_tasks,
2605 gomp_team_barrier_waiting_for_tasks,
2606 gomp_team_barrier_done): New inlines.
2607 (gomp_barrier_t): Rewritten.
2608 (gomp_barrier_state_t): New typedef.
2609 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
2610 gomp_barrier_wait_start): Rewritten.
2611 (gomp_barrier_wait_end): Change second argument to
2612 gomp_barrier_state_t.
2613 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
2614 inlines.
2615 * config/linux/bar.c: Include wait.h instead of libgomp.h and
2616 futex.h.
2617 (gomp_barrier_wait_end): Rewritten.
2618 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
2619 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
2620 * config/posix/bar.h (gomp_barrier_t): Add generation field.
2621 (gomp_barrier_state_t): New typedef.
2622 (gomp_team_barrier_wait,
2623 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
2624 (gomp_barrier_wait_start): Or all but low 2 bits from generation
2625 into the return value. Return gomp_barrier_state_t.
2626 (gomp_team_barrier_set_task_pending,
2627 gomp_team_barrier_clear_task_pending,
2628 gomp_team_barrier_set_waiting_for_tasks,
2629 gomp_team_barrier_waiting_for_tasks,
2630 gomp_team_barrier_done): New inlines.
2631 (gomp_barrier_wait_end): Change second argument to
2632 gomp_barrier_state_t.
2633 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
2634 inlines.
2635 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
2636 (gomp_barrier_wait_end): Change second argument to
2637 gomp_barrier_state_t.
2638 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
2639 gomp_team_barrier_wake): New functions.
2640 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
2641 futex.h.
2642 (gomp_futex_wake, gomp_futex_wait): New variables.
2643 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
2644 * config/linux/lock.c: Rewrite to make locks task owned,
2645 for backwards compatibility provide the old entrypoints
2646 if symbol versioning. Include wait.h instead of libgomp.h and
2647 futex.h.
2648 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
2649 * config/posix95/lock.c: Rewrite to make locks task owned,
2650 for backwards compatibility provide the old entrypoints
2651 if symbol versioning.
2652 * config/posix/lock.c: Rewrite to make locks task owned,
2653 for backwards compatibility provide the old entrypoints
2654 if symbol versioning.
2655 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
2656 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
2657 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
2658 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2659 (sys_futex0): Return error code.
2660 (futex_wake, futex_wait): If ENOSYS was returned, clear
2661 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2662 (cpu_relax, atomic_write_barrier): New static inlines.
2663 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2664 (futex_wake, futex_wait): If ENOSYS was returned, clear
2665 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2666 (cpu_relax, atomic_write_barrier): New static inlines.
2667 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2668 (sys_futex0): Return error code.
2669 (futex_wake, futex_wait): If ENOSYS was returned, clear
2670 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2671 (cpu_relax, atomic_write_barrier): New static inlines.
2672 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2673 (sys_futex0): Return error code.
2674 (futex_wake, futex_wait): If ENOSYS was returned, clear
2675 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2676 (cpu_relax, atomic_write_barrier): New static inlines.
2677 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2678 (sys_futex0): Return error code.
2679 (futex_wake, futex_wait): If ENOSYS was returned, clear
2680 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2681 (cpu_relax, atomic_write_barrier): New static inlines.
2682 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2683 (sys_futex0): Return error code.
2684 (futex_wake, futex_wait): If ENOSYS was returned, clear
2685 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2686 (cpu_relax, atomic_write_barrier): New static inlines.
2687 * config/linux/sem.c: Include wait.h instead of libgomp.h and
2688 futex.h.
2689 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
2690 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
2691 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
2692 types.
2693 (omp_nest_lock_t): Change owner into void *, add lock field.
2694 * config/posix95/omp-lock.h: Include semaphore.h.
2695 (omp_lock_25_t, omp_nest_lock_25_t): New types.
2696 (omp_lock_t): Use sem_t instead of mutex if semaphores
2697 aren't broken.
2698 (omp_nest_lock_t): Likewise. Change owner to void *.
2699 * config/posix/omp-lock.h: Include semaphore.h.
2700 (omp_lock_25_t, omp_nest_lock_25_t): New types.
2701 (omp_lock_t): Use sem_t instead of mutex if semaphores
2702 aren't broken.
2703 (omp_nest_lock_t): Likewise. Add owner field.
2704
2705 2008-06-06 Jakub Jelinek <jakub@redhat.com>
2706
2707 * testsuite/libgomp.c/collapse-1.c: New test.
2708 * testsuite/libgomp.c/collapse-2.c: New test.
2709 * testsuite/libgomp.c/collapse-3.c: New test.
2710 * testsuite/libgomp.c/icv-1.c: New test.
2711 * testsuite/libgomp.c/icv-2.c: New test.
2712 * testsuite/libgomp.c/lib-2.c: New test.
2713 * testsuite/libgomp.c/lock-1.c: New test.
2714 * testsuite/libgomp.c/lock-2.c: New test.
2715 * testsuite/libgomp.c/lock-3.c: New test.
2716 * testsuite/libgomp.c/loop-4.c: New test.
2717 * testsuite/libgomp.c/loop-5.c: New test.
2718 * testsuite/libgomp.c/loop-6.c: New test.
2719 * testsuite/libgomp.c/loop-7.c: New test.
2720 * testsuite/libgomp.c/loop-8.c: New test.
2721 * testsuite/libgomp.c/loop-9.c: New test.
2722 * testsuite/libgomp.c/nested-3.c: New test.
2723 * testsuite/libgomp.c/nestedfn-6.c: New test.
2724 * testsuite/libgomp.c/sort-1.c: New test.
2725 * testsuite/libgomp.c/task-1.c: New test.
2726 * testsuite/libgomp.c/task-2.c: New test.
2727 * testsuite/libgomp.c/task-3.c: New test.
2728 * testsuite/libgomp.c/task-4.c: New test.
2729 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
2730 to C++ testsuite default compiler options.
2731 * testsuite/libgomp.c++/collapse-1.C: New test.
2732 * testsuite/libgomp.c++/collapse-2.C: New test.
2733 * testsuite/libgomp.c++/ctor-10.C: New test.
2734 * testsuite/libgomp.c++/for-1.C: New test.
2735 * testsuite/libgomp.c++/for-2.C: New test.
2736 * testsuite/libgomp.c++/for-3.C: New test.
2737 * testsuite/libgomp.c++/for-4.C: New test.
2738 * testsuite/libgomp.c++/for-5.C: New test.
2739 * testsuite/libgomp.c++/loop-8.C: New test.
2740 * testsuite/libgomp.c++/loop-9.C: New test.
2741 * testsuite/libgomp.c++/loop-10.C: New test.
2742 * testsuite/libgomp.c++/task-1.C: New test.
2743 * testsuite/libgomp.c++/task-2.C: New test.
2744 * testsuite/libgomp.c++/task-3.C: New test.
2745 * testsuite/libgomp.c++/task-4.C: New test.
2746 * testsuite/libgomp.c++/task-5.C: New test.
2747 * testsuite/libgomp.c++/task-6.C: New test.
2748 * testsuite/libgomp.fortran/allocatable1.f90: New test.
2749 * testsuite/libgomp.fortran/allocatable2.f90: New test.
2750 * testsuite/libgomp.fortran/allocatable3.f90: New test.
2751 * testsuite/libgomp.fortran/allocatable4.f90: New test.
2752 * testsuite/libgomp.fortran/collapse1.f90: New test.
2753 * testsuite/libgomp.fortran/collapse2.f90: New test.
2754 * testsuite/libgomp.fortran/collapse3.f90: New test.
2755 * testsuite/libgomp.fortran/collapse4.f90: New test.
2756 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
2757 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
2758 * testsuite/libgomp.fortran/lib4.f90: New test.
2759 * testsuite/libgomp.fortran/lock-1.f90: New test.
2760 * testsuite/libgomp.fortran/lock-2.f90: New test.
2761 * testsuite/libgomp.fortran/nested1.f90: New test.
2762 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
2763 * testsuite/libgomp.fortran/strassen.f90: New test.
2764 * testsuite/libgomp.fortran/tabs1.f90: New test.
2765 * testsuite/libgomp.fortran/tabs2.f: New test.
2766 * testsuite/libgomp.fortran/task1.f90: New test.
2767 * testsuite/libgomp.fortran/task2.f90: New test.
2768 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
2769 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2770 * testsuite/libgomp.c/pr26943-2.c: Likewise.
2771 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2772 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2773
2774 2008-05-23 Jakub Jelinek <jakub@redhat.com>
2775
2776 PR c++/36308
2777 * testsuite/libgomp.c++/ctor-11.C: New test.
2778 * testsuite/libgomp.c++/ctor-12.C: New test.
2779
2780 2008-05-15 Janis Johnson <janis187@us.ibm.com>
2781
2782 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
2783
2784 2008-05-07 Jakub Jelinek <jakub@redhat.com>
2785
2786 PR middle-end/36106
2787 * testsuite/libgomp.c/atomic-5.c: New test.
2788 * testsuite/libgomp.c/atomic-6.c: New test.
2789 * testsuite/libgomp.c/autopar-1.c: New test.
2790
2791 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2792
2793 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
2794 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
2795 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
2796 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
2797 * configure: Regenerate.
2798 * Makefile.in, testsuite/Makefile.in: Likewise.
2799
2800 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
2801
2802 PR bootstrap/35457
2803 * aclocal.m4: Regenerate.
2804 * configure: Regenerate.
2805
2806 2008-03-18 Jakub Jelinek <jakub@redhat.com>
2807
2808 PR middle-end/35611
2809 * testsuite/libgomp.c/atomic-4.c: New test.
2810
2811 PR libgomp/35625
2812 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
2813 (gomp_iter_guided_next): Likewise.
2814 * testsuite/libgomp.c/pr35625.c: New test.
2815
2816 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2817
2818 * aclocal.m4: Regenerate.
2819 * configure: Likewise.
2820 * Makefile.in: Likewise.
2821 * testsuite/Makefile.in: Likewise.
2822
2823 2008-03-13 Jakub Jelinek <jakub@redhat.com>
2824
2825 PR middle-end/35185
2826 * testsuite/libgomp.c++/pr35185.C: New test.
2827
2828 2008-03-12 Jakub Jelinek <jakub@redhat.com>
2829
2830 PR middle-end/35549
2831 * testsuite/libgomp.c/pr35549.c: New test.
2832
2833 2008-03-06 Jakub Jelinek <jakub@redhat.com>
2834
2835 * testsuite/libgomp.c/atomic-3.c: New test.
2836
2837 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2838
2839 PR fortran/33197
2840 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
2841 .F08 file suffixes.
2842
2843 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
2844
2845 PR libgomp/33131
2846 * configure.ac: Add ACX_HEADER_STRING.
2847 * env.c: Include strings.h.
2848 * aclocal.m4: Regenerate.
2849 * config.h.in: Regenerate.
2850 * configure: Regenerate.
2851 * Makefile.in: Regenerate.
2852 * testsuite/Makefile.in: Regenerate.
2853
2854 2008-02-15 Jakub Jelinek <jakub@redhat.com>
2855
2856 PR middle-end/35196
2857 * testsuite/libgomp.c/pr35196.c: New test.
2858
2859 PR middle-end/35130
2860 * testsuite/libgomp.fortran/pr35130.f90: New test.
2861 * testsuite/libgomp.c/pr35130.c: New test.
2862
2863 2008-01-25 Jakub Jelinek <jakub@redhat.com>
2864
2865 PR middle-end/33880
2866 * testsuite/libgomp.c/pr33880.c: New test.
2867 * testsuite/libgomp.fortran/pr33880.f90: New test.
2868
2869 2008-01-24 David Edelsohn <edelsohn@gnu.org>
2870
2871 * configure: Regenerate.
2872
2873 2008-01-08 Jakub Jelinek <jakub@redhat.com>
2874
2875 * configure.ac: Move futex checking into ../config/futex.m4.
2876 * configure: Rebuilt.
2877 * aclocal.m4: Rebuilt.
2878 * Makefile.in: Rebuilt.
2879
2880 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
2881 2007-10-15 ../config/tls.m4 change.
2882
2883 2007-12-19 Jakub Jelinek <jakub@redhat.com>
2884
2885 PR c++/34513
2886 * testsuite/libgomp.c/pr34513.c: New test.
2887 * testsuite/libgomp.c++/pr34513.C: New test.
2888
2889 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
2890
2891 PR target/32765
2892 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
2893
2894 2007-12-04 Jakub Jelinek <jakub@redhat.com>
2895
2896 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
2897
2898 2007-12-03 Jakub Jelinek <jakub@redhat.com>
2899
2900 * testsuite/libgomp.c/private-1.c: New test.
2901
2902 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
2903 Paolo Bonzini <bonzini@gnu.org>
2904
2905 * Makefile.am: Use space as vpath separator. Use 'vpath %'
2906 instead of 'VPATH ='.
2907 * Makefile.in: Regenerate.
2908
2909 2007-11-23 Matthias Klose <doko@ubuntu.com>
2910
2911 * configure.ac: Adjust makeinfo version check.
2912 * configure: Regenerate.
2913
2914 2007-11-10 Jakub Jelinek <jakub@redhat.com>
2915
2916 PR fortran/34020
2917 * testsuite/libgomp.fortran/pr34020.f90: New test.
2918
2919 2007-11-06 Jakub Jelinek <jakub@redhat.com>
2920
2921 PR c++/33894
2922 * testsuite/libgomp.c++/atomic-1.C: New test.
2923
2924 2007-10-25 Jakub Jelinek <jakub@redhat.com>
2925
2926 PR libgomp/33275
2927 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
2928 Make x and y integers rather than (implicit) reals. Add private (j)
2929 clause to the last omp parallel.
2930
2931 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
2932
2933 * configure: Regenerate following changes to ../config/tls.m4.
2934
2935 2007-09-28 Jakub Jelinek <jakub@redhat.com>
2936
2937 * testsuite/libgomp.fortran/stack.f90: New test.
2938
2939 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
2940
2941 * config/mingw32/proc.c: New file.
2942
2943 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
2944
2945 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
2946 (main): Use __get_cpuid to get i386 target fetaures.
2947 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
2948 (main): Use __get_cpuid to get x86_64 target fetaures.
2949
2950 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
2951
2952 PR target/32765
2953 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
2954 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
2955
2956 2007-07-12 Jakub Jelinek <jakub@redhat.com>
2957
2958 PR fortran/32550
2959 * testsuite/libgomp.fortran/pr32550.f90: New test.
2960 * testsuite/libgomp.fortran/crayptr2.f90: New test.
2961
2962 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2963
2964 * aclocal.m4: Regenerated.
2965
2966 2007-07-05 Tobias Burnus <burnus@net-b.de>
2967
2968 PR fortran/32359
2969 * testsuite/libgomp.fortran/pr32359.f90: New.
2970
2971 2007-07-02 Jakub Jelinek <jakub@redhat.com>
2972
2973 PR libgomp/32468
2974 * sections.c (GOMP_parallel_sections_start): Only decrease
2975 number of threads to COUNT if dyn_var is true.
2976 * testsuite/libgomp.c/pr32468.c: New test.
2977
2978 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2979
2980 PR libgomp/26308
2981 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2982
2983 2007-06-21 Jakub Jelinek <jakub@redhat.com>
2984
2985 PR middle-end/32362
2986 * testsuite/libgomp.c/pr32362-1.c: New test.
2987 * testsuite/libgomp.c/pr32362-2.c: New test.
2988 * testsuite/libgomp.c/pr32362-3.c: New test.
2989
2990 2007-06-07 Jakub Jelinek <jakub@redhat.com>
2991
2992 * team.c (gomp_team_start): Fix setting up thread_attr
2993 stack size.
2994
2995 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
2996
2997 * configure: Regenerate.
2998
2999 2007-05-23 Steve Ellcey <sje@cup.hp.com>
3000
3001 * Makefile.in: Regenerate.
3002 * configure: Regenerate.
3003 * aclocal.m4: Regenerate.
3004 * testsuite/Makefile.in: Regenerate.
3005
3006 2007-05-04 Jakub Jelinek <jakub@redhat.com>
3007
3008 * config/linux/proc.c: New file.
3009
3010 PR libgomp/28482
3011 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
3012
3013 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
3014
3015 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
3016
3017 2007-04-16 Matthias Klose <doko@debian.org>
3018
3019 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
3020 flags if not building with -m64.
3021 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
3022 flag for i?86-*-* targets, if current target matches -m64.
3023
3024 2007-04-14 Steve Ellcey <sje@cup.hp.com>
3025
3026 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
3027 * Makefile.in: Regenerate.
3028
3029 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3030
3031 PR testsuite/31369
3032 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
3033 ld_library_path.
3034 * testsuite/libgomp.fortran/fortran.exp: Likewise.
3035
3036 2007-04-04 Jakub Jelinek <jakub@redhat.com>
3037
3038 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
3039 decls.
3040 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
3041 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
3042 (parse_affinity): New function.
3043 (initialize_env): Call it and gomp_init_affinity.
3044 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
3045 create new pthread_attr_t and call gomp_init_thread_affinity
3046 on it for each thread before passing the attribute to pthread_create.
3047 * config/linux/affinity.c: New file.
3048 * config/posix/affinity.c: New file.
3049 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
3050 * configure: Rebuilt.
3051 * config.h.in: Rebuilt.
3052 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
3053 * Makefile.in: Rebuilt.
3054
3055 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
3056
3057 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
3058 *-*-darwin*.
3059 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
3060 and use it if found.
3061
3062 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
3063
3064 * testsuite/config/default.exp: New file.
3065 * testsuite/lib/libgomp.exp: New file.
3066 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
3067 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
3068 load_lib *, load_gcc_lib *): Move to libgomp.exp.
3069 (libgomp_load): Remove.
3070 * testsuite/lib/libgomp.exp (libgomp_init): Compute
3071 always_ld_library_path, not ld_library_path. Set additional_flags
3072 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
3073 (target_compile): Do not call libgomp_init. Append lang_library_path
3074 and lang_link_flags to options.
3075 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
3076 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
3077 here.
3078 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
3079 always_ld_library_path. Set LD_LIBRARY_PATH here.
3080 * testsuite/libgomp.fortran/fortran.exp: Ditto.
3081 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
3082 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
3083 CX8 flag.
3084 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
3085 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
3086 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
3087 * testsuite/libgomp.c/pr29947-1.c: Ditto.
3088 * testsuite/libgomp.c/atomic-10.c: Ditto.
3089
3090 2007-03-21 Jakub Jelinek <jakub@redhat.com>
3091
3092 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
3093 dg-final cleanup-modules line.
3094 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
3095 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
3096 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
3097 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3098 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3099 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3100 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3101
3102 2007-03-18 Andreas Schwab <schwab@suse.de>
3103
3104 * acinclude.m4: Adjust regular expression for ld version
3105 extraction.
3106 * configure: Regenerate.
3107
3108 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
3109
3110 * Makefile.am: Add install-pdf target as copied from
3111 automake v1.10 rules.
3112 * Makefile.in: Regenerate
3113
3114 2007-02-07 Jakub Jelinek <jakub@redhat.com>
3115
3116 PR libgomp/28486
3117 * configure: Regenerate.
3118
3119 PR c++/30703
3120 * testsuite/libgomp.c++/pr30703.C: New test.
3121
3122 2007-02-02 Jakub Jelinek <jakub@redhat.com>
3123
3124 Revert:
3125 2006-07-05 Eric Christopher <echristo@apple.com>
3126 * configure.ac: Depend addition of -pthread on host OS.
3127 * configure: Regenerate.
3128
3129 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3130
3131 * libgomp.texi: Fix spacing after abbreviations.
3132
3133 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
3134
3135 PR libgomp/30546
3136 * configure.ac: Add check for makeinfo
3137 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
3138 if an appropiate version of makeinfo is found.
3139 * aclocal.m4: Regenerated.
3140 * configure: Regenerated.
3141 * Makefile.in: Regenerated.
3142 * testsuite/Makefile.in: Regenerated.
3143
3144 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
3145
3146 PR libgomp/30540
3147 * libgomp.texi: More about implementation-dependent settings.
3148
3149 2007-01-26 Tobias Burnus <burnus@net-b.de>
3150
3151 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
3152
3153 2007-01-24 Jakub Jelinek <jakub@redhat.com>
3154
3155 PR middle-end/30494
3156 * testsuite/libgomp.c/pr30494.c: New test.
3157
3158 2007-01-15 Tom Tromey <tromey@redhat.com>
3159
3160 * configure: Rebuilt.
3161 * configure.ac: Fixed comment.
3162
3163 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
3164
3165 * libgomp.texi: Document implementation specific default values of
3166 environment variables.
3167
3168 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
3169
3170 PR libgomp/28209
3171 * libgomp.texi: New file.
3172 * configure.ac: Add --enable-generated-files-in-srcdir option.
3173 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
3174 files to srcdir.
3175 * Makefile.in: Regenerated.
3176 * config.h.in: Regenerated.
3177 * testsuite/Makefile.in: Regenerated.
3178 * NOTES: Removed.
3179
3180 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
3181
3182 PR libgomp/29949
3183 * env.c (omp_set_num_threads): Set illegal thread count to 1.
3184
3185 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3186
3187 * configure: Regenerate.
3188
3189 2006-12-04 Jakub Jelinek <jakub@redhat.com>
3190
3191 PR libgomp/29947
3192 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
3193 start if there shouldn't be any loop iterations.
3194 (gomp_loop_ordered_static_start): Remove start == end test.
3195 * testsuite/libgomp.c/pr29947-1.c: New test.
3196 * testsuite/libgomp.c/pr29947-2.c: New test.
3197
3198 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3199
3200 * configure.tgt: Force initial-exec TLS model on Linux only.
3201
3202 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
3203
3204 * configure: Regenerated.
3205
3206 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
3207
3208 * env.c (parse_schedule): Reject out of range values.
3209 (parse_unsigned_long): Reject out of range, negative or zero values.
3210
3211 2006-10-29 Jakub Jelinek <jakub@redhat.com>
3212
3213 PR fortran/29629
3214 * testsuite/libgomp.fortran/pr29629.f90: New test.
3215
3216 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
3217
3218 PR libgomp/29494
3219 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
3220 * config/posix95: New directory.
3221 * config/posix95/omp-lock.h: New file.
3222 * config/posix95/lock.c: Likewise.
3223
3224 2006-10-14 Geoffrey Keating <geoffk@apple.com>
3225
3226 * aclocal.m4: Regenerate.
3227 * configure: Regenerate.
3228
3229 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
3230
3231 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
3232 '<' to '<='.
3233
3234 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
3235
3236 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
3237 test.
3238 * configure: Regenerate.
3239 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
3240
3241 2006-09-26 Jakub Jelinek <jakub@redhat.com>
3242
3243 PR middle-end/25261
3244 PR middle-end/28790
3245 * testsuite/libgomp.c/nestedfn-4.c: New test.
3246 * testsuite/libgomp.c/nestedfn-5.c: New test.
3247 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
3248
3249 PR fortran/29097
3250 * testsuite/libgomp.fortran/condinc1.f: New test.
3251 * testsuite/libgomp.fortran/condinc2.f: New test.
3252 * testsuite/libgomp.fortran/condinc3.f90: New test.
3253 * testsuite/libgomp.fortran/condinc4.f90: New test.
3254 * testsuite/libgomp.fortran/condinc1.inc: New file.
3255
3256 2006-09-18 Tom Tromey <tromey@redhat.com>
3257
3258 * configure: Rebuilt.
3259
3260 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
3261
3262 PR c/28768
3263 PR preprocessor/14634
3264 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
3265 to AC_DEFINE.
3266 * configure: Regenerate.
3267
3268 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
3269
3270 * testsuite/libgomp.fortran/reduction3.f90: Change
3271 -2147483648 to -huge(i)-1 to avoid overflow.
3272 * testsuite/libgomp.fortran/reduction4.f90: Change
3273 Z'ffffffff' to not(0) to avoid overflow.
3274
3275 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
3276
3277 PR libgomp/25938
3278 * Makefile.am (libsubincludedir): New.
3279 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
3280 * Makefile.in: Regenerate.
3281
3282 2006-08-17 Jakub Jelinek <jakub@redhat.com>
3283
3284 PR libgomp/28725
3285 * env.c: Include ctype.h.
3286 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
3287 leading and/or trailing whitespace and compare strings case
3288 insensitively.
3289
3290 2006-07-16 Jakub Jelinek <jakub@redhat.com>
3291
3292 PR fortran/28390
3293 * testsuite/libgomp.fortran/pr28390.f: New test.
3294
3295 2006-07-05 Eric Christopher <echristo@apple.com>
3296
3297 * configure.ac: Depend addition of -pthread on host OS.
3298 * configure: Regenerate.
3299
3300 2006-06-21 Jakub Jelinek <jakub@redhat.com>
3301
3302 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
3303 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
3304 defined.
3305
3306 2006-06-20 Jakub Jelinek <jakub@redhat.com>
3307
3308 PR libgomp/26175
3309 PR libgomp/26477
3310 * configure.ac: If neither --enable-linux-futex nor
3311 --disable-linux-futex is passed, determine the default by checking
3312 for compiling and/or running against NPTL. With --enable-linux-futex,
3313 check if SYS_gettid and SYS_futex are defined.
3314 * configure: Rebuilt.
3315
3316 2006-06-14 Richard Henderson <rth@redhat.com>
3317
3318 PR libgomp/28008
3319 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
3320 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
3321
3322 2006-06-09 Richard Henderson <rth@redhat.com>
3323
3324 * env.c (gomp_nthreads_var): Change to unsigned long.
3325 (gomp_run_sched_chunk): Likewise.
3326 (parse_unsigned_long): Rename from parse_num_threads and generalize.
3327 (initialize_env): Initialize gomp_thread_attr.
3328 * libgomp.h (gomp_nthreads_var): Update decl.
3329 (gomp_run_sched_chunk): Likewise.
3330 (gomp_thread_attr): Declare.
3331 * team.c (gomp_thread_attr): Export.
3332 (initialize_team): Don't initialize it.
3333
3334 2006-06-09 Jakub Jelinek <jakub@redhat.com>
3335
3336 PR fortran/27916
3337 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
3338 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
3339
3340 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3341
3342 * config/mingw32/time.c: New file.
3343 * configure.tgt: Use it.
3344
3345 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
3346
3347 * Makefile.am: Add install-html target. Add install-html to .PHONY
3348 * Makefile.in: Regenerate.
3349
3350 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3351
3352 PR libgomp/27612
3353 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
3354 * testsuite/libgomp.c/critical-1.c: Likewise.
3355 * testsuite/libgomp.c/loop-1.c: Likewise.
3356 * testsuite/libgomp.c/loop-2.c: Likewise.
3357 * testsuite/libgomp.c/single-1.c: Likewise.
3358 * testsuite/libgomp.c/ordered-1.c: Likewise.
3359 * testsuite/libgomp.c/ordered-2.c: Likewise.
3360
3361 2006-05-15 Jakub Jelinek <jakub@redhat.com>
3362
3363 PR middle-end/27416
3364 * libgomp.fortran/pr27416-1.f90: New test.
3365
3366 2006-05-03 Jakub Jelinek <jakub@redhat.com>
3367
3368 PR fortran/27395
3369 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
3370 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
3371
3372 2006-05-02 Jakub Jelinek <jakub@redhat.com>
3373
3374 PR c++/26943
3375 * testsuite/libgomp.c/pr26943-1.c: New test.
3376 * testsuite/libgomp.c/pr26943-2.c: New test.
3377 * testsuite/libgomp.c/pr26943-3.c: New test.
3378 * testsuite/libgomp.c/pr26943-4.c: New test.
3379 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
3380 * testsuite/libgomp.c++/pr26943.C: New test.
3381
3382 2006-05-02 Jakub Jelinek <jakub@redhat.com>
3383
3384 PR middle-end/27337
3385 * testsuite/libgomp.c++/pr27337.C: New test.
3386
3387 2006-04-26 Jakub Jelinek <jakub@redhat.com>
3388
3389 PR c/26171
3390 * testsuite/libgomp.c/pr26171.c: New test.
3391
3392 2006-04-25 Richard Henderson <rth@redhat.com>
3393
3394 PR libgomp/25865
3395 * configure.ac: Use GCC_CHECK_TLS.
3396 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
3397 * Makefile.in, aclocal.m4, configure: Regenerate.
3398
3399 2006-04-10 Matthias Klose <doko@debian.org>
3400
3401 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
3402 directory names containing underscores.
3403
3404 2006-03-21 Jakub Jelinek <jakub@redhat.com>
3405
3406 PR c++/26691
3407 * testsuite/libgomp.c++/pr26691.C: New test.
3408
3409 2006-03-13 Jakub Jelinek <jakub@redhat.com>
3410
3411 * testsuite/libgomp.fortran/retval2.f90: New test.
3412
3413 2006-03-09 Diego Novillo <dnovillo@redhat.com>
3414
3415 * testsuite/libgomp.c++: New directory.
3416
3417 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
3418
3419 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
3420 * config/posix/sem.c: Implement the above.
3421
3422 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
3423
3424 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
3425 define HAVE_BROKEN_POSIX_SEMAPHORES.
3426 * configure: Rebuilt.
3427 * config.h.in: Rebuilt.
3428
3429 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3430
3431 PR bootstrap/26161
3432 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
3433 for the other pthread check.
3434 * configure: Regenerate.
3435 * config.h.in: Regenerate.
3436
3437 2006-02-15 Jakub Jelinek <jakub@redhat.com>
3438
3439 PR libgomp/25938
3440 PR libgomp/25984
3441 * Makefile.am (fincludedir): New variable.
3442 (nodist_include_HEADERS): Remove Fortran files.
3443 (nodist_finclude_HEADERS): New variable.
3444 * Makefile.in: Regenerated.
3445
3446 2006-02-13 Jakub Jelinek <jakub@redhat.com>
3447
3448 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
3449 Remove tests for returning assumed character length arrays.
3450
3451 2006-02-12 Roger Sayle <roger@eyesopen.com>
3452 John David Anglin <dave@hiauly1.hia.nrc.ca>
3453
3454 PR libgomp/25936
3455 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
3456
3457 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
3458
3459 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
3460
3461 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3462
3463 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
3464 part of LD_LIBRARY_PATH manually.
3465
3466 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
3467
3468 PR libgomp/25852
3469 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
3470 libgomp_init.
3471
3472 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
3473
3474 PR libgomp/25884
3475 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
3476 * configure.ac (PERL): Don't set.
3477 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
3478 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
3479 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
3480 * omp.h.in: Wrap the new configure substitutions with @ characters.
3481 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
3482 * aclocal.m4, configure, Makefile.in: Regenerate.
3483 * mkomp_h.pl: Delete.
3484
3485 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
3486
3487 PR libgomp/25259
3488 * configure.ac: Use GCC_HEADER_STDINT.
3489 * libgomp.h: Include gstdint.h.
3490 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
3491 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
3492
3493 2006-01-24 Richard Henderson <rth@redhat.com>
3494
3495 PR libgomp/25942
3496 * configure.ac: Add AM_MAINTAINER_MODE.
3497 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
3498
3499 2006-01-24 Diego Novillo <dnovillo@redhat.com>
3500
3501 * Makefile.in: Regenerate.
3502 * testsuite/Makefile.in: Regenerate.
3503 * aclocal.m4: Regenerate.
3504
3505 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
3506
3507 * config/posix/proc.c: Conditional include of sys/loadavg.h for
3508 Solaris.
3509 * configure.ac: Add check for loadavg.h.
3510 (link_gomp): Adjust comment.
3511 * configure: Regenerate.
3512 * config.h.in: Regenerate.
3513
3514 2006-01-21 Steve Ellcey <sje@cup.hp.com>
3515
3516 PR libgomp/25877
3517 * configure.ac: Remove check for alloca.h.
3518 * configure: Regenerate.
3519 * config.h.in: Regenerate.
3520 * libgomp.h: define gomp_alloca to be __builtin_alloca.
3521 * team.c: Remove use of alloca.h.
3522 Call gomp_alloca instead of alloca.
3523
3524 2006-01-20 Steve Ellcey <sje@cup.hp.com>
3525
3526 PR libgomp/25877
3527 * team.c: Add include of alloca.h.
3528 * configure.ac: Add check for alloca.h.
3529 * configure: Regenerate.
3530 * config.h.in: Regenerate.
3531
3532 2006-01-17 Jakub Jelinek <jakub@redhat.com>
3533
3534 PR fortran/25219
3535 * testsuite/libgomp.fortran/pr25219.f90: New test.
3536
3537 2005-12-05 Uros Bizjak <uros@kss-loka.si>
3538
3539 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
3540 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
3541 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
3542 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
3543 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
3544 testsuite/libgomp.fortran/threadprivate1.f90,
3545 testsuite/libgomp.fortran/threadprivate2.f90,
3546 testsuite/libgomp.fortran/threadprivate3.f90,
3547 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
3548 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
3549 testsuite/libgomp.fortran/omp_parse3.f90: Change required
3550 effective-target to TLS runtime.
3551
3552 * testsuite/libgomp.fortran/pr25162.f: Require
3553 effective-target TLS runtime.
3554
3555 2005-12-01 Jakub Jelinek <jakub@redhat.com>
3556
3557 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
3558 * testsuite/libgomp.c/nestedfn-3.c: New test.
3559
3560 2005-11-30 Jakub Jelinek <jakub@redhat.com>
3561
3562 PR fortran/25162
3563 * testsuite/libgomp.fortran/pr25162.f: New test.
3564
3565 2005-11-28 Jakub Jelinek <jakub@redhat.com>
3566
3567 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
3568 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
3569
3570 2005-11-25 Jakub Jelinek <jakub@redhat.com>
3571
3572 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
3573 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
3574 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
3575 single.c, team.c, work.c, config/linux/alpha/futex.h,
3576 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
3577 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
3578 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
3579 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
3580 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
3581 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
3582 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
3583 FSF address.
3584
3585 2005-11-18 Jakub Jelinek <jakub@redhat.com>
3586
3587 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
3588 to nodist_noinst_HEADERS.
3589 * Makefile.in: Rebuilt.
3590
3591 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
3592 add integer count field.
3593 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
3594 omp_nest_lock_t type change.
3595 (omp_init_nest_lock): Likewise. Initialize count to 0.
3596 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
3597 Increment count.
3598 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
3599 Decrement count.
3600 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
3601 Increment count if successful and return the new nesting level.
3602 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
3603 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
3604 * testsuite/libgomp.c/lib-1.c: New test.
3605 * testsuite/libgomp.fortran/lib1.f90: New test.
3606 * testsuite/libgomp.fortran/lib2.f: New test.
3607 * testsuite/libgomp.fortran/lib3.f: New test.
3608
3609 2005-11-17 Richard Henderson <rth@redhat.com>
3610
3611 PR 24845
3612 * Makefile.am (nodist_toolexeclib_HEADERS): New.
3613 * configure.ac (link_gomp): New. Substitute it.
3614 (AC_CONFIG_FILES): Add libgomp.spec.
3615 * libgomp.spec.in: New file.
3616 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
3617 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
3618
3619 2005-11-18 Jakub Jelinek <jakub@redhat.com>
3620
3621 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
3622 reduction(-:var) behaving the same as reduction(+:var).
3623 * testsuite/libgomp.c/reduction-4.c: New test.
3624
3625 2005-11-15 Uros Bizjak <uros@kss-loka.si>
3626
3627 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
3628 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
3629 testsuite/libgomp.c/copyin-3.c,
3630 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
3631 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
3632 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
3633 testsuite/libgomp.c++/pr24455.C,
3634 testsuite/libgomp.fortran/threadprivate1.f90,
3635 testsuite/libgomp.fortran/threadprivate2.f90,
3636 testsuite/libgomp.fortran/threadprivate3.f90,
3637 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
3638 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
3639 testsuite/libgomp.fortran/omp_parse3.f90: Require
3640 effective-target TLS.
3641
3642 2005-11-14 Diego Novillo <dnovillo@redhat.com>
3643
3644 * HEADER: Remove.
3645
3646 2005-11-13 Jakub Jelinek <jakub@redhat.com>
3647
3648 PR libgomp/24797
3649 * team.c (initialize_team): Pass NULL rather than free as
3650 pthread_key_create destructor. Initialize thread specific data
3651 pointer in initial thread to a static local variable rather than
3652 malloced memory.
3653
3654 2005-11-11 Uros Bizjak <uros@kss-loka.si>
3655
3656 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
3657 its location to ld_library_path.
3658
3659 2005-11-10 Diego Novillo <dnovillo@redhat.com>
3660
3661 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
3662
3663 2005-11-10 Diego Novillo <dnovillo@redhat.com>
3664
3665 * testsuite/libgomp.c: Rename from libgomp.dg.
3666
3667 2005-11-09 Diego Novillo <dnovillo@redhat.com>
3668
3669 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
3670 threadprivate variable 'i'.
3671
3672 2005-11-09 Jakub Jelinek <jakub@redhat.com>
3673
3674 * config/linux/s390/futex.h: New file.
3675 * configure.tgt: Use it.
3676
3677 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
3678 before the parallel.
3679
3680 2005-11-08 Jakub Jelinek <jakub@redhat.com>
3681
3682 PR c++/24734
3683 * testsuite/libgomp.c++/master-1.C: New test.
3684
3685 2005-11-07 Jakub Jelinek <jakub@redhat.com>
3686
3687 * testsuite/libgomp.dg/copyin-3.c: New test.
3688
3689 2005-11-07 Jakub Jelinek <jakub@redhat.com>
3690
3691 * testsuite/libgomp.fortran/retval1.f90: New test.
3692 * testsuite/libgomp.fortran/vla7.f90: New test.
3693
3694 2005-11-06 Jakub Jelinek <jakub@redhat.com>
3695
3696 * testsuite/libgomp.fortran/vla2.f90: New test.
3697 * testsuite/libgomp.fortran/vla3.f90: New test.
3698 * testsuite/libgomp.fortran/vla4.f90: New test.
3699 * testsuite/libgomp.fortran/vla5.f90: New test.
3700 * testsuite/libgomp.fortran/vla6.f90: New test.
3701
3702 2005-11-01 Jakub Jelinek <jakub@redhat.com>
3703
3704 * config/linux/sparc/futex.h: New file.
3705 * configure.tgt: Use it.
3706 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
3707
3708 * critical.c: Include stdlib.h.
3709 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
3710 ignoring return value.
3711 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
3712 LIBGOMP_CHECK_SYNC_BUILTINS check.
3713 * configure: Rebuilt.
3714
3715 2005-10-31 Jakub Jelinek <jakub@redhat.com>
3716
3717 * testsuite/libgomp.fortran/vla1.f90: New test.
3718
3719 2005-10-31 Richard Henderson <rth@redhat.com>
3720
3721 * testsuite/libgomp.fortran/character2.f90: Fix race condition
3722 setting 's' in different threads.
3723
3724 2005-10-31 Jakub Jelinek <jakub@redhat.com>
3725
3726 * libgomp.h (attribute_hidden, ialias): Define.
3727 * config/posix/proc.c (omp_get_num_procs): Add ialias.
3728 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
3729 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
3730 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
3731 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
3732 omp_test_lock, omp_test_nest_lock): Likewise.
3733 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
3734 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
3735 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
3736 omp_test_lock, omp_test_nest_lock): Likewise.
3737 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
3738 omp_get_dynamic, omp_get_nested): Likewise.
3739 * parallel.c (omp_get_num_threads, omp_get_max_threads,
3740 omp_get_thread_num, omp_in_parallel): Likewise.
3741 * fortran.c (ialias_redirect): Define.
3742 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
3743 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
3744 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
3745 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
3746 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
3747 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
3748 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
3749 omp_get_wtime): Add ialias_redirect.
3750
3751 2005-10-30 Jakub Jelinek <jakub@redhat.com>
3752
3753 * fortran.c: Include stdlib.h.
3754
3755 2005-10-29 Jakub Jelinek <jakub@redhat.com>
3756
3757 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
3758 * Makefile.in: Regenerated.
3759
3760 2005-10-28 Jakub Jelinek <jakub@redhat.com>
3761
3762 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
3763 * libgomp_f.h.in (omp_check_defines): New function.
3764 * env.c: Include libgomp_f.h.
3765 (initialize_env): Call omp_check_defines.
3766
3767 * testsuite/libgomp.dg/copyin-2.c: New test.
3768 * testsuite/libgomp.c++/copyin-2.C: New test.
3769 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
3770
3771 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
3772 * testsuite/libgomp.fortran/sharing2.f90: New test.
3773
3774 * testsuite/libgomp.dg/copyin-1.c: New test.
3775 * testsuite/libgomp.c++/copyin-1.C: New test.
3776
3777 2005-10-26 Jakub Jelinek <jakub@redhat.com>
3778
3779 * testsuite/libgomp.fortran/crayptr1.f90: New test.
3780
3781 * testsuite/libgomp.fortran/workshare1.f90: New test.
3782
3783 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
3784 only test.
3785 * libgomp.fortran/sharing1.f90: New test.
3786
3787 2005-10-24 Jakub Jelinek <jakub@redhat.com>
3788
3789 PR c++/24502
3790 * testsuite/libgomp.c++/loop-7.C: New test.
3791
3792 * testsuite/libgomp.dg/nestedfn-2.c: New test.
3793
3794 * testsuite/libgomp.dg/nestedfn-1.c: New test.
3795 * testsuite/libgomp.fortran/reduction6.f90: New test.
3796 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
3797
3798 2005-10-23 Richard Henderson <rth@redhat.com>
3799
3800 * testsuite/libgomp.c++/ctor-1.C: New.
3801 * testsuite/libgomp.c++/ctor-2.C: New.
3802 * testsuite/libgomp.c++/ctor-3.C: New.
3803 * testsuite/libgomp.c++/ctor-4.C: New.
3804 * testsuite/libgomp.c++/ctor-5.C: New.
3805 * testsuite/libgomp.c++/ctor-6.C: New.
3806 * testsuite/libgomp.c++/ctor-7.C: New.
3807 * testsuite/libgomp.c++/ctor-8.C: New.
3808 * testsuite/libgomp.c++/ctor-9.C: New.
3809
3810 2005-10-21 Diego Novillo <dnovillo@redhat.com>
3811
3812 PR 24455
3813 * testsuite/libgomp.c++/pr24455-1.C: New test.
3814 * testsuite/libgomp.c++/pr24455.C: New test.
3815 * testsuite/libgomp.dg/pr24455-1.c: New test.
3816 * testsuite/libgomp.dg/pr24455.c: New test.
3817
3818 2005-10-20 Richard Henderson <rth@redhat.com>
3819
3820 * testsuite/libgomp.c++/loop-6.C: New.
3821 * testsuite/libgomp.dg/loop-3.c: New.
3822
3823 2005-10-20 Jakub Jelinek <jakub@redhat.com>
3824
3825 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
3826 explicitly private.
3827 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
3828 explicitly shared.
3829
3830 2005-10-19 Diego Novillo <dnovillo@redhat.com>
3831
3832 * testsuite/libgomp.fortran/jacobi.f: New test.
3833
3834 2005-10-19 Richard Henderson <rth@redhat.com>
3835
3836 * configure.tgt (i?86-linux): Default to with_arch instead of
3837 CFLAGS. Add -mtune to match target_cpu.
3838 (x86_64-linux): Tune to i686.
3839
3840 * fortran.c (omp_test_nest_lock_): Fix typo.
3841
3842 2005-10-19 Jakub Jelinek <jakub@redhat.com>
3843
3844 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
3845 gomp_ordered_sync): Do nothing if team->nthreads == 1.
3846 * testsuite/libgomp.dg/ordered-3.c: New test.
3847
3848 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
3849 Remove volatile keyword.
3850
3851 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
3852 in COMMON block to avoid warnings on 64-bit targets.
3853
3854 2005-10-18 Diego Novillo <dnovillo@redhat.com>
3855
3856 * testsuite/libgomp.dg/shared-3.c: New test.
3857
3858 2005-10-18 Jakub Jelinek <jakub@redhat.com>
3859
3860 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
3861 * testsuite/libgomp.fortran/reduction5.f90: New test.
3862
3863 2005-10-18 Jakub Jelinek <jakub@redhat.com>
3864
3865 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
3866 dg-options.
3867 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
3868 flush loop now that __sync_synchronize has proper memory barrier.
3869 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
3870 Add -ffixed-form to dg-options.
3871
3872 2005-10-17 Diego Novillo <dnovillo@redhat.com>
3873
3874 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
3875 from subdirectories.
3876 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
3877 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
3878 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
3879 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
3880 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
3881 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
3882 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
3883 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
3884 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
3885 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
3886 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
3887 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
3888 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
3889 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
3890 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
3891 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
3892 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
3893 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
3894 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
3895 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
3896 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
3897 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
3898 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
3899 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
3900 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
3901
3902 2005-10-17 Jakub Jelinek <jakub@redhat.com>
3903
3904 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
3905 lang_library_path exists. Use find instead of glob to gather tests.
3906 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
3907
3908 2005-10-17 Diego Novillo <dnovillo@redhat.com>
3909
3910 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
3911 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
3912 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
3913 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
3914 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
3915 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
3916 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
3917 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
3918 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
3919 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
3920 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
3921 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
3922 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
3923
3924 2005-10-15 Jakub Jelinek <jakub@redhat.com>
3925
3926 * testsuite/libgomp.dg/vla-1.c: New test.
3927
3928 * testsuite/libgomp.fortran/reference2.f90: New test.
3929
3930 * testsuite/libgomp.fortran/character2.f90: Remove explicit
3931 declaration of omp_get_thread_num.
3932 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
3933 use omp_lib.
3934
3935 * testsuite/libgomp.fortran/reduction1.f90: New test.
3936 * testsuite/libgomp.fortran/reduction2.f90: New test.
3937 * testsuite/libgomp.fortran/reduction3.f90: New test.
3938 * testsuite/libgomp.fortran/reduction4.f90: New test.
3939
3940 2005-10-13 Richard Henderson <rth@redhat.com>
3941
3942 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
3943 * Makefile.in: Regenerate.
3944 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
3945 * libgomp.h: Include bar.h.
3946 (struct gomp_barrier): Remove.
3947 (struct gomp_team): Add barrier. Replace master_barrier with
3948 master_release. Replace threads with ordered_release.
3949 (struct gomp_thread): Replace barrier with release.
3950 * ordered.c (gomp_ordered_first): Update for ordered_release change.
3951 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
3952 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
3953 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
3954 (GOMP_single_copy_end): Likewise.
3955 * team.c (gomp_threads_dock): New.
3956 (gomp_barrier_init, gomp_barrier_destroy): Remove.
3957 (gomp_thread_start): Use gomp_barrier_wait.
3958 (new_team, free_team): Update for gomp_team changes.
3959 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
3960 (gomp_team_end): Use gomp_barrier_wait.
3961 (initialize_team): Update for gomp_thread changes.
3962 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
3963 (gomp_work_share_end_nowait): Use atomic ops when available.
3964 * config/linux/bar.c, config/linux/bar.h: New files.
3965 * config/posix/bar.c, config/posix/bar.h: New files.
3966
3967 2005-10-13 Jakub Jelinek <jakub@redhat.com>
3968
3969 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
3970 * testsuite/libgomp.dg/single-2.c: New test.
3971
3972 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
3973 lang_link_flags): Unset, so that they aren't inherited from previously
3974 sourced *.exp.
3975
3976 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
3977
3978 2005-10-12 Richard Henderson <rth@redhat.com>
3979
3980 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
3981 (libgomp_init): Use lang_test_file, lang_library_path, and
3982 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
3983
3984 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
3985 (lang_test_file, lang_link_flags): New.
3986 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
3987
3988 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
3989 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
3990 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
3991 testsuite/libgomp.c++/parallel-1.C,
3992 testsuite/libgomp.c++/reduction-1.C,
3993 testsuite/libgomp.c++/reduction-2.C,
3994 testsuite/libgomp.c++/reduction-3.C,
3995 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
3996 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
3997 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
3998 New files, largely cribbed from the C testsuite.
3999
4000 2005-10-12 Jakub Jelinek <jakub@redhat.com>
4001
4002 * testsuite/libgomp.fortran/character1.f90: New test.
4003 * testsuite/libgomp.fortran/character2.f90: New test.
4004
4005 * testsuite/libgomp.dg/nested-1.c: New test.
4006 * testsuite/libgomp.dg/nested-2.c: New test.
4007 * testsuite/libgomp.fortran/do1.f90: New test.
4008 * testsuite/libgomp.fortran/do2.f90: New test.
4009
4010 * testsuite/libgomp.fortran/reference1.f90: New test.
4011
4012 2005-10-11 Jakub Jelinek <jakub@redhat.com>
4013
4014 * testsuite/libgomp.dg/reduction-1.c: New test.
4015 * testsuite/libgomp.dg/reduction-2.c: New test.
4016 * testsuite/libgomp.dg/reduction-3.c: New test.
4017
4018 2005-10-10 Jakub Jelinek <jakub@redhat.com>
4019
4020 * testsuite/libgomp.dg/atomic-1.c: New test.
4021 * testsuite/libgomp.dg/atomic-2.c: New test.
4022
4023 2005-10-09 Richard Henderson <rth@redhat.com>
4024
4025 * critical.c (atomic_lock): New.
4026 (initialize_critical): Initialize it.
4027 (GOMP_atomic_start, GOMP_atomic_end): New.
4028 * libgomp.map: Export them.
4029 * libgomp_g.h: Declare them.
4030
4031 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
4032
4033 2005-10-02 Richard Henderson <rth@redhat.com>
4034
4035 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
4036 to XCFLAGS instead of CFLAGS.
4037
4038 2005-09-30 Richard Henderson <rth@redhat.com>
4039
4040 * configure.ac: Determine whether -pthread or -lpthread is needed.
4041 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
4042 * Makefine.in, configure: Rebuild.
4043
4044 2005-09-28 Richard Henderson <rth@redhat.com>
4045
4046 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
4047 * testsuite/libgomp.dg/omp-single-3.c: New test.
4048
4049 2005-09-28 Diego Novillo <dnovillo@redhat.com>
4050
4051 * testsuite/libgomp.dg/omp-single-2.c: New test.
4052 * testsuite/libgomp.dg/shared-2.c: Fix return code.
4053
4054 2005-09-27 Richard Henderson <rth@redhat.com>
4055
4056 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
4057 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
4058
4059 2005-09-27 Jakub Jelinek <jakub@redhat.com>
4060
4061 * testsuite/libgomp.dg/omp-loop03.c: New test.
4062
4063 2005-09-27 Diego Novillo <dnovillo@redhat.com>
4064
4065 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
4066
4067 2005-09-27 Diego Novillo <dnovillo@redhat.com>
4068
4069 * testsuite/libgomp.dg/omp-single-1.c: New test.
4070 * testsuite/libgomp.dg/shared-1.c: Return 0.
4071 Add prototype for abort.
4072 * testsuite/libgomp.dg/shared-2.c: Likewise.
4073
4074 2005-09-26 Jakub Jelinek <jakub@redhat.com>
4075
4076 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
4077 constructs.
4078
4079 2005-09-26 Diego Novillo <dnovillo@redhat.com>
4080
4081 * testsuite/libgomp.dg/shared-1.c: New test.
4082 * testsuite/libgomp.dg/shared-2.c: New test.
4083
4084 2005-09-24 Richard Henderson <rth@redhat.com>
4085
4086 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
4087
4088 2005-09-24 Richard Henderson <rth@redhat.com>
4089
4090 * iter.c (gomp_iter_static_next): Round up when computing number
4091 of iterations. Don't bother distributing a remainder equally.
4092
4093 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
4094 Don't call srand. Zero b before testing.
4095 (main): New.
4096
4097 2005-09-24 Jakub Jelinek <jakub@redhat.com>
4098
4099 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
4100 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
4101
4102 2005-09-23 Jakub Jelinek <jakub@redhat.com>
4103
4104 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
4105 without !$omp end do, followed immediately by subroutine end.
4106
4107 2005-09-23 Diego Novillo <dnovillo@redhat.com>
4108
4109 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
4110
4111 2005-09-22 Richard Henderson <rth@redhat.com>
4112
4113 * critical.c (GOMP_critical_name_start): Change argument to void**.
4114 Reuse the pointer space if the mutex fits.
4115 (GOMP_critical_name_end): Likewise.
4116 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
4117 * libgomp_g.h (GOMP_critical_name_start): Update decl.
4118 (GOMP_critical_name_end): Likewise.
4119 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
4120 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
4121
4122 2005-09-20 Richard Henderson <rth@redhat.com>
4123
4124 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
4125 (create_lock_lock): New.
4126 (initialize_critical): Initialize it.
4127 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
4128 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
4129
4130 2005-09-20 Diego Novillo <dnovillo@redhat.com>
4131
4132 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
4133
4134 2005-09-20 Diego Novillo <dnovillo@redhat.com>
4135
4136 * testsuite/libgomp.dg/omp-loop01.c: New test.
4137 * testsuite/libgomp.dg/omp-loop02.c: New test.
4138
4139 2005-09-20 Jakub Jelinek <jakub@redhat.com>
4140
4141 * configure.ac (AC_PROG_FC): Add.
4142 (USE_FORTRAN): New automake conditional.
4143 * configure: Rebuilt.
4144 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
4145 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
4146 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
4147 Add rules to build them.
4148 * Makefile.in: Rebuilt.
4149 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
4150 OMP_NEST_LOCK_KIND.
4151 * libgomp.map: Add Fortran wrappers.
4152 * libgomp_f.h.in: New file.
4153 * omp_lib.h.in: New file.
4154 * omp_lib.f90.in: New file.
4155 * fortran.c: New file.
4156 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
4157 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
4158 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
4159 libgfortran has been built.
4160 * testsuite/libgomp.fortran/fortran.exp: New file.
4161 * testsuite/libgomp.fortran/omp_cond1.f: New test.
4162 * testsuite/libgomp.fortran/omp_cond2.f: New test.
4163 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
4164 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
4165 * testsuite/libgomp.fortran/omp_hello.f: New test.
4166 * testsuite/libgomp.fortran/omp_orphan.f: New test.
4167 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
4168 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
4169 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
4170 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
4171 * testsuite/libgomp.fortran/omp_reduction.f: New test.
4172 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
4173 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
4174
4175 2005-08-30 Richard Henderson <rth@redhat.com>
4176
4177 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
4178 function for when aliases are not usable.
4179 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
4180 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
4181 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
4182 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
4183 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
4184 GOMP_loop_ordered_guided_next): Likewise.
4185 * ordered.c (GOMP_ordered_start): Likewise.
4186
4187 2005-08-01 Diego Novillo <dnovillo@redhat.com>
4188
4189 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
4190 * testsuite/libgomp.dg/omp_hello.c: Fix return code
4191 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
4192 * testsuite/libgomp.dg/omp_orphan.c: Likewise
4193 * testsuite/libgomp.dg/omp_reduction.c: Likewise
4194 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
4195 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
4196 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
4197 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
4198
4199 2005-07-07 Eric Christopher <echristo@redhat.com>
4200 Diego Novillo <dnovillo@redhat.com>
4201
4202 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
4203 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
4204 up code.
4205 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
4206 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
4207 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
4208 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
4209 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
4210 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
4211 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
4212
4213 2005-06-13 Diego Novillo <dnovillo@redhat.com>
4214
4215 * TOPLEVEL.patch: Remove.
4216
4217 2005-05-16 Richard Henderson <rth@redhat.com>
4218
4219 * configure.ac: Test for clock_gettime.
4220 * config.h.in, configure: Rebuild.
4221 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
4222 (omp_get_wtime): Use clock_gettime if available.
4223 (omp_get_wtick): Use clock_getres if available.
4224
4225 2005-05-11 Richard Henderson <rth@redhat.com>
4226
4227 * config/linux/ia64/futex.h: New file.
4228 * configure.tgt: Use it.
4229
4230 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
4231
4232 2005-05-07 Richard Henderson <rth@redhat.com>
4233
4234 * config/linux/powerpc/futex.h: New file.
4235 * configure.tgt: Use it.
4236
4237 * config/linux/i486/futex.h: Merge ...
4238 * config/linux/x86_64/futex.h: ... into ...
4239 * config/linux/x86/futex.h: ... here.
4240 * configure.tgt: Update to match.
4241
4242 2005-05-06 Richard Henderson <rth@redhat.com>
4243
4244 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
4245 * config/linux/i486/futex.h: Likewise.
4246 * config/linux/x86_64/futex.h: Likewise.
4247
4248 * config/linux/lock.c: New file.
4249 * config/linux/omp-lock.h: New file.
4250
4251 * critical.c, env.h: Don't include omp.h
4252 * config/posix/lock.c: Include libgomp.h instead of omp.h.
4253 * config/posix/time.c: Likewise.
4254 * config/posix/omp-lock.h: New file.
4255 * libgomp.h: Include omp-lock.h and omp.h.
4256 * Makefile.am (nodist_include_HEADERS): New.
4257 (omp.h): New rule.
4258 * configure.ac (PERL): New.
4259 * mkomp_h.pl: New file.
4260 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
4261 with templates.
4262 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
4263
4264 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
4265 build directory. Re-add -march=i486 hack.
4266
4267 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
4268 (libgomp_link_flags): Remove.
4269 (libgomp_initialized): Remove.
4270 (libgomp_init): Don't protect from reinitialization. Copy code
4271 from libstdc++ for getting the multilib set correctly.
4272
4273 2005-05-05 Richard Henderson <rth@redhat.com>
4274
4275 * config/linux/alpha/futex.h: New file.
4276 * configure.tgt (alpha*-*-linux*): Use it.
4277
4278 * config/posix/mutex.c: New file.
4279 * config/posix/sem.c: Use libgomp.h.
4280
4281 * configure.tgt (x86_64-linux): Also test CC for -m32.
4282 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
4283
4284 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
4285 after $gccpath.
4286
4287 * Makefile.am (SUBDIRS): New.
4288 (libgomp_la_LDFLAGS): Add -lpthread.
4289 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
4290 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
4291
4292 * libgomp_g.h: New file.
4293 * libgomp.h: Split out all public declarations to libgomp_g.h.
4294 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
4295 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
4296 * config/linux/sem.h: Likewise.
4297 * config/posix/sem.h: Likewise.
4298
4299 * Makefile.am (AM_LDFLAGS): New.
4300 (libgomp_version_script): Split out from ...
4301 (libgomp_la_LDFLAGS): ... here.
4302 (libgomp_version_info): New.
4303 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
4304 (LIBGOMP_ENABLE): New.
4305 (LIBGOMP_CHECK_LINKER_FEATURES): New.
4306 (LIBGOMP_ENABLE_SYMVERS): New.
4307 * configure.ac (AC_INIT): Version 1.0.
4308 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
4309 (enable-linux-futex): Likewise. Rename from enable-futex.
4310 (libtool_VERSION): New.
4311 (LIBGOMP_ENABLE_SYMVERS): Use it.
4312 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
4313 * Makefile.in, aclocal.m4, configure: Rebuild.
4314
4315 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
4316 (gomp_mutex_unlock_slow): Fix typo.
4317 * config/linux/sem.c: Similarly.
4318 (gomp_sem_post_slow): Fix typo.
4319 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
4320 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
4321 [__PIC__] (sys_futex0): Don't use tmp output in asm.
4322
4323 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
4324 (libgomp_la_LDFLAGS): Add top_srcdir to path.
4325 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
4326 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
4327 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
4328 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
4329 LDFLAGS. Pull enable_futex check to top-level.
4330 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
4331 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
4332
4333 First attempt at real configury.
4334 * Makefile, config.h: Remove file.
4335 * Makefile.am, Makefile.in: New file.
4336 * acinclude.m4 aclocal.m4: New file.
4337 * configure.ac, configure.tgt, configure: New file.
4338
4339 * config/posix/lock.c: Rename from sys-lock.c.
4340 * config/posix/mutex.h: Rename from sys-mutex.h.
4341 * config/posix/sem.c: Rename from sys-sem.c.
4342 * config/posix/sem.h: Rename from sys-sem.h.
4343 * config/posix/proc.c: Rename from sys-proc.c.
4344 * config/posix/time.c: Rename from sys-proc.c.
4345
4346 * config/linux/mutex.c: New file.
4347 * config/linux/mutex.h: New file.
4348 * config/linux/sem.c: New file.
4349 * config/linux/sem.h: New file.
4350 * config/linux/i486/futex.h: New file.
4351 * config/linux/x86_64/futex.h: New file.
4352
4353 2005-05-04 Richard Henderson <rth@redhat.com>
4354
4355 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
4356 * libgomp.h: Declare them.
4357 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
4358 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
4359
4360 2005-05-04 Richard Henderson <rth@redhat.com>
4361
4362 * libgomp-1 code drop
4363
4364 2005-05-04 Richard Henderson <rth@redhat.com>
4365
4366 * iter.c (gomp_iter_static_next): Return tri-state on 0.
4367 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
4368 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
4369 (gomp_iter_static_next): Update.
4370 (gomp_ordered_static_next): Update.
4371 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
4372 (gomp_loop_ordered_static_start): Likewise. Exit early for a
4373 totally empty range.
4374 (gomp_loop_ordered_static_next): Refine test for calling
4375 gomp_ordered_static_next.
4376 * testsuite/ordered-1.c: Add case for more threads than iterations.
4377
4378 * iter.c (gomp_iter_runtime_next_locked): Remove.
4379 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
4380 gomp_loop_guided_start, gomp_loop_ordered_static_start,
4381 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
4382 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
4383 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
4384 gomp_loop_ordered_guided_next): Downcase name, make static, add
4385 an external alias with the old name.
4386 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
4387 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
4388 switch and call one of the above static functions.
4389 * libgomp.h: Update.
4390
4391 * work.c (gomp_work_share_start): Lock the mutex for !first too.
4392 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
4393 GOMP_loop_guided_start, GOMP_loop_runtime_start,
4394 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
4395 GOMP_loop_ordered_guided_start): Update to match.
4396 * sections.c (GOMP_sections_start): Likewise.
4397 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
4398
4399 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
4400 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
4401 Use bounds check instead of modulus.
4402 (gomp_ordered_sync): Split out of GOMP_ordered_start.
4403 (gomp_ordered_last): Don't sync with ordered_owner here.
4404 (gomp_ordered_next): Likewise.
4405 (gomp_ordered_static_loop_next): Likewise.
4406 * loop.c, libgomp.h: Update to match.
4407
4408 * libgomp.h (GOMP_barrier): Declare.
4409
4410 * testsuite/barrier-1.c: New file.
4411 * testsuite/critical-1.c: New file.
4412 * testsuite/ordered-2.c: New file.
4413 * testsuite/ordered-1.c: New file.
4414 * testsuite/sections-1.c: New file.
4415 * testsuite/single-1.c: New file.
4416 * testsuite/Makefile (TESTS): Add them.
4417
4418 2005-05-04 Richard Henderson <rth@redhat.com>
4419
4420 * libgomp.h (struct gomp_work_share): Add ordered_owner.
4421 * loop.c (GOMP_loop_static_start): If not the startup thread,
4422 acquire the mutex to wait for initialization complete.
4423 (GOMP_loop_ordered_static_start): Likewise.
4424 (GOMP_loop_ordered_runtime_start): Likewise.
4425 (GOMP_loop_ordered_static_first): Remove.
4426 (GOMP_loop_ordered_dynamic_first): Remove.
4427 (GOMP_loop_ordered_guided_first): Remove.
4428 (GOMP_loop_ordered_runtime_first): Remove.
4429 * ordered.c (gomp_ordered_loop_first): Post to own release when
4430 we're the first thread.
4431 (gomp_ordered_loop_last): Wait on release if not owner.
4432 (gomp_ordered_loop_next): Likewise.
4433 (gomp_ordered_static_loop_init): New.
4434 (gomp_ordered_static_loop_next): Use ordered_owner.
4435 (GOMP_ordered_start): Likewise.
4436 * work.c (gomp_new_work_share): Initialize ordered_owner.
4437
4438 2005-05-03 Richard Henderson <rth@redhat.com>
4439
4440 * Makefile (OPT): New.
4441 (CFLAGS): Use it.
4442
4443 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
4444 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
4445 * libgomp.h, libgomp.map, NOTES: Update to match.
4446
4447 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
4448 Add initialized and thr members.
4449 (gomp_thread_start): Pause when initially spawned to wait for
4450 the whole team to be created.
4451 (gomp_team_start): Release team members at the end.
4452
4453 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
4454 (f_foo_1): Use GOMP_loop_end.
4455 (f_foo_2): Use GOMP_loop_end_nowait.
4456
4457 * testsuite/loop-2.c: New file.
4458 * testsuite/Makefile (TESTS): Add it.
4459
4460 2005-05-03 Richard Henderson <rth@redhat.com>
4461
4462 * iter.c (gomp_iter_static_next): Fix overflow check typo.
4463 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
4464 * team.c (new_team): Initialize oldest_live_gen to 1 if no
4465 initial work_share.
4466
4467 * testsuite/Makefile: New file.
4468 * testsuite/loop-1.c: New file.
4469
4470 2005-05-03 Richard Henderson <rth@redhat.com>
4471
4472 Initial implementation and checkin.