https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79430

            Bug ID: 79430
           Summary: [7 Regression] action of statement incorrectly
                    optimised away
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: juergen.reuter at desy dot de
  Target Milestone: ---

Unfortunately this is only in a very large test case at the moment, which needs
both gfortran and OCaml, using: 
http://whizard.hepforge.org/versions/unofficial/whizard-2.4.1_alpha-20170131.tar.gz
and configuring with ./configure --with-precision=extended
Then make and make check. In the test suite, the functional test
mlm_matching_isr
will show a discrepancy coming from the fact that in the function
integral_over_z_isr 
in shower_core.f90 the if clause after 'call integral_over_z_part_isr', namely
if (integral > final) then
  return
end if 
is not correctly executed, either optimised away or scrambled. 
Funnily, this happens only if the default precision for real types is set to
extended precision, for double and quadruple precision it works as in previous
gfortran versions. 
The attempt to reduce this case made this behaviour disappear.

Reply via email to