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