For a code with an arithmetic IF, for example

program xx
implicit none
integer :: i
i = 0
if (i) 10,20,30
10 print*,"negative"
stop
20 print*,"zero"
stop
30 print*,"positive"
stop
end program xx

mingw gfortran 4.3.0 20061021 says

 In file xarithmetic_if.f90:5

if (i) 10,20,30
              1
Warning: Obsolete: arithmetic IF statement at (1)

According to the Fortran 95 Handbook the arithmetic IF is "obsolescent", not
"obsolete".

The Fortran 2003 standard lists the following features as "obsolescent" in
section B.2, "Obsolescent features".

5 (1) Arithmetic IF — use the IF statement (8.1.2.4) or IF construct (8.1.2).
6 (2) Shared DO termination and termination on a statement other than END DO or
CON7
TINUE — use an END DO or a CONTINUE statement for each DO statement.
8 (3) Alternate return — see B.2.1.
9 (4) Computed GO TO statement — see B.2.2.
10 (5) Statement functions — see B.2.3.
11 (6) DATA statements amongst executable statements — see B.2.4.
12 (7) Assumed length character functions — see B.2.5.
13 (8) Fixed form source — see B.2.6.
14 (9) CHARACTER* form of CHARACTER declaration — see B.2.7.

Gfortran should use the term "obsolescent" rather than "obsolete" for all of
these features. I have only looked at arithmetic IF.


-- 
           Summary: "obsolescent" vs. "obsolete"
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: vivekrao4 at yahoo dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30681

Reply via email to