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

            Bug ID: 109511
           Summary: incorrectly rejects set_exponent with constant
                    negative exponent
           Product: gcc
           Version: 12.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sebastien at debian dot org
  Target Milestone: ---

The following program fails to compile:

program exponent
  print *, set_exponent(1., -1)
end program exponent

With the following error message:

exponent.f08:2:24:

    2 |   print *, set_exponent(1., -1)
      |                        1
Error: Result of SET_EXPONENT overflows its kind at (1)

But as I understand it, this is a valid program.

Note that the problem does not occur if the exponent is positive. It also does
not occur if the exponent is variable (even with a negative value). So it looks
like the static analyzer is overly restrictive.

Reply via email to