[gfortran, patch] PR29441: Error out for non-standard intrinsics in initialization expression

Tobias Schlüter tobias.schlueter@physik.uni-muenchen.de
Wed Nov 22 17:58:00 GMT 2006


We used to only error out for code such as
  real, parameter :: pi = 4.*atan(1.0)
if -pedantic was given, even with -std=f95.  This patch fixes this by  
removing pedantic from the condition leading to the error.

Testcase included in diff, built & tested on i686-darwin.

- Tobi

2006-11-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

         PR fortran/29441
         * intrinsic.c (gfc_intrinsic_func_interface): Always check if  
intrinsic is
         allowed in initialization expression.


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

-------------- next part --------------
Index: gcc/testsuite/gfortran.dg/initialization_4.f90
===================================================================
--- gcc/testsuite/gfortran.dg/initialization_4.f90	(revision 0)
+++ gcc/testsuite/gfortran.dg/initialization_4.f90	(revision 0)
@@ -0,0 +1,4 @@
+! { dg-do compile }
+! { dg-options "-std=f95" }
+real, parameter :: pi = 4.0*Atan(1.0) ! { dg-error "Evaluation of nonstandard initialization expression" }
+end
Index: gcc/fortran/intrinsic.c
===================================================================
--- gcc/fortran/intrinsic.c	(revision 119090)
+++ gcc/fortran/intrinsic.c	(working copy)
@@ -3397,7 +3397,7 @@
   /* TODO: We should probably only allow elemental functions here.  */
   flag |= (expr->ts.type != BT_INTEGER && expr->ts.type != BT_CHARACTER);
 
-  if (pedantic && gfc_init_expr
+  if (gfc_init_expr
       && flag && gfc_init_expr_extensions (specific))
     {
       if (gfc_notify_std (GFC_STD_GNU, "Extension: Evaluation of "


More information about the Fortran mailing list