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