This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgomp/49965] libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC
- From: "ro at CeBiTec dot Uni-Bielefeld.DE" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 3 Aug 2011 16:27:06 +0000
- Subject: [Bug libgomp/49965] libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC
- Auto-submitted: auto-generated
- References: <bug-49965-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49965
--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2011-08-03 16:26:45 UTC ---
> --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-08-03 15:10:13 UTC ---
> for task-8.C, error is a function on linux, so please replace it by errval
> or err_atomic or similar instead if err doesn't work on Solaris.
Sure: I'd have tested that on Linux/x86_64 before submitting anyway.
> Fur reduction-4.C, perhaps Solaris long double handling is broken? The
Not in general :-)
> testcase doesn't use anything complicated, in *.omp_fn* of the long long/long
> double version the private f is initialized to +Inf, then in some iterations
> set to 9.0 or -2.0 and finally everything is MIN_EXPRed together in a critical
> section.
What I've done is adding a couple of printf's all over
template <typename I, typename F> void foo (): before the #pragma omp
parallel for, before and after each assignement in the for loop, and
before and after the abort, every time casting the args to long long
resp. long double with matching format strings. It I initialize i to 0
before the #pragma so I get comparable output, there's no difference in
output between i386-pc-solaris2.10 and sparc-sun-solaris2.11 except for
the abort.
Rainer