Found at http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/0019cb490586ed91/
SIGN with INTEGER arguments is allowed for initialization expressions in Fortran 95; using REAL arguments it is only allowed for Fortran 2003. gfortran -std=f95 prints the wrong error message for: integer :: a = sign(1,1) 1 Error: Extension: Evaluation of nonstandard initialization expression at (1) For the following: real :: a = sign(1.,1.) 1 Error: Extension: Evaluation of nonstandard initialization expression at (1) I would have expected "Error: Fortran 2003:". >From the Fortran 95 standard: "An initialization expression is a constant expression in which the exponentiation operation is permitted only with an integer power, and each primary is [...] (4) An elemental intrinsic function reference of type integer or character where each argument is an initialization expression of type integer or character," >From the Fortran 2003 standard: "An initialization expression is an expression [...] in which each operation is intrinsic, and each primary is [...] (4) A reference to an elemental standard intrinsic function, where each argument is an initialization expression [...] 13.7.109 SIGN (A, B) [...] Class. Elemental function." -- Summary: -std=f95: SIGN with integer arguments rejected as initialization expression Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33178