Hi!

Because e5 and f5 share space (like in C union), it is undesirable
to use non-shortcircuited comparisons, because e.g. on alpha we can end up
with denormal exception.

Committed thusly:

2013-12-17  Jakub Jelinek  <ja...@redhat.com>

        PR testsuite/59534
        * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
        comparisons.

--- libgomp/testsuite/libgomp.fortran/retval1.f90.jj    2008-09-05 
12:53:58.000000000 +0200
+++ libgomp/testsuite/libgomp.fortran/retval1.f90       2013-12-17 
16:08:54.076319770 +0100
@@ -91,8 +91,8 @@ entry e5 (is_f5)
   l = .false.
 !$omp parallel firstprivate (f5, e5) shared (is_f5) num_threads (2) &
 !$omp reduction (.or.:l)
-  l = .not. is_f5 .and. e5 .ne. 8
-  l = l .or. (is_f5 .and. f5 .ne. 6.5)
+  if (.not. is_f5) l = l .or. e5 .ne. 8
+  if (is_f5) l = l .or. f5 .ne. 6.5
   if (omp_get_thread_num () .eq. 0) e5 = 8
   if (omp_get_thread_num () .eq. 1) e5 = 14
   f5 = e5 - 4.5

        Jakub

Reply via email to