gcc/libgomp/testsuite/libgomp.c++
Jakub Jelinek 5a0f4dd395 omp-low.c (extract_omp_for_data): For collapsed loops...
* omp-low.c (extract_omp_for_data): For collapsed loops,
	if at least one of the loops is known at compile time to
	iterate zero times, set count to 0.
	(expand_omp_regimplify_p): New function.
	(expand_omp_for_generic): For collapsed loops, if at least
	one of the loops isn't known to iterate at least once,
	add runtime check with setting count to 0.
	(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
	For unsigned types if it isn't known at compile time that
	the loop will iterate at least once, add runtime check to bypass
	the whole loop if initial condition isn't true.

	* testsuite/libgomp.c/loop-13.c: New test.
	* testsuite/libgomp.c/loop-14.c: New test.
	* testsuite/libgomp.c/loop-15.c: New test.
	* testsuite/libgomp.c++/loop-13.C: New test.
	* testsuite/libgomp.c++/loop-14.C: New test.
	* testsuite/libgomp.c++/loop-15.C: New test.

From-SVN: r198966
2013-05-16 12:43:33 +02:00
..
atomic-1.C
atomic-2.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-3.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-4.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-5.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-6.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-7.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-8.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
atomic-9.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
c++.exp re PR testsuite/40699 (All sparcv9 libjava execution tests fail on Solaris 11/SPARC) 2009-07-11 06:10:49 +00:00
collapse-1.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
collapse-2.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
copyin-1.C
copyin-2.C
ctor-1.C
ctor-2.C
ctor-3.C
ctor-4.C
ctor-5.C
ctor-6.C
ctor-7.C
ctor-8.C
ctor-9.C
ctor-10.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
ctor-11.C re PR c++/36308 (OpenMP privatized vars don't get dtors called if they are virtual) 2008-05-23 13:52:44 +02:00
ctor-12.C re PR c++/36237 (internal compiler error: in lower_stmt, at gimple-low.c:282 erase 'private(localTodoStack)' it compiles successfully.) 2008-05-23 15:21:47 +02:00
for-1.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
for-2.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
for-3.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
for-4.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
for-5.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
for-6.C re PR c++/38348 (ICE from c_finish_omp_for) 2008-12-01 16:10:25 +01:00
for-7.C re PR c++/38257 (ICE with auto and #pragma omp parallel) 2008-12-01 16:27:12 +01:00
for-8.C re PR c/39495 (OMP parallel loop w/ unsigned index var rejected) 2009-03-23 22:05:30 +01:00
loop-1.C
loop-2.C
loop-3.C
loop-4.C
loop-5.C
loop-6.C gimplify.c (omp_is_private): Don't return true if decl is not already private on #pragma omp for or #pragma... 2008-06-27 21:45:14 +02:00
loop-7.C
loop-8.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
loop-9.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
loop-10.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
loop-11.C re PR c/39495 (OMP parallel loop w/ unsigned index var rejected) 2009-03-23 22:05:30 +01:00
loop-12.C re PR c/39495 (OMP parallel loop w/ unsigned index var rejected) 2009-03-23 22:05:30 +01:00
loop-13.C omp-low.c (extract_omp_for_data): For collapsed loops... 2013-05-16 12:43:33 +02:00
loop-14.C omp-low.c (extract_omp_for_data): For collapsed loops... 2013-05-16 12:43:33 +02:00
loop-15.C omp-low.c (extract_omp_for_data): For collapsed loops... 2013-05-16 12:43:33 +02:00
master-1.C
nested-1.C
parallel-1.C
pr24455-1.C
pr24455.C re PR target/54908 (misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables) 2013-01-19 00:25:25 -05:00
pr26691.C
pr26943.C
pr27337.C
pr30703.C
pr34513.C
pr35185.C re PR middle-end/35185 (ICE using openmp with g++-4.2) 2008-03-13 10:26:25 +01:00
pr38650.C re PR c++/38650 (Trouble with volatile and #pragma omp for) 2008-12-28 21:06:00 +01:00
pr39573.C re PR middle-end/39573 (Linking fails on AMD with -march=native and -fopenmp, works with generic x86_64) 2009-04-08 22:04:45 +02:00
pr43893.C re PR c/43893 (Error: Invalid controlling predicate with -fopenmp) 2010-04-26 22:07:10 +02:00
pr48869.C re PR c++/48869 (OpenMP task construct fails to instantiate copy constructor(same as Bug 36523)) 2011-05-19 09:44:31 +02:00
pr49043.C re PR c++/49043 ([OpenMP & C++0x]: Compiler error when lambda-function within OpenMP loop) 2011-05-19 15:11:56 +02:00
pr56217.C re PR c++/56217 (ICE: OpenMP: when combining shared() and a move constructor) 2013-02-06 11:34:53 +01:00
reduction-1.C
reduction-2.C
reduction-3.C
reduction-4.C backport: re PR fortran/46752 (OpenMP - Seg fault for unallocated allocatable array in firstprivate clause) 2011-08-02 18:13:29 +02:00
sections-1.C
shared-1.C
shared-2.C
single-1.C
single-2.C
single-3.C
task-1.C task-1.C: Renamed err to e. 2010-01-29 15:34:07 +00:00
task-2.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
task-3.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
task-4.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
task-5.C c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
task-6.C task-1.C: Renamed err to e. 2010-01-29 15:34:07 +00:00
task-7.C re PR c++/36523 (OpenMP task construct fails to instantiate copy constructor) 2008-06-20 04:18:07 +02:00
task-8.C re PR target/49965 (libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC) 2011-08-05 12:22:10 +00:00
tls-init1.C * semantics.c (finish_omp_threadprivate): Call complete_type. 2012-10-25 11:53:40 -04:00