This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libgomp/49965] libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]