]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/29441 ([4.1/4.2 only] non-constant parameter (constant) accepted)
authorTobias Schlüter <tobi@gcc.gnu.org>
Wed, 22 Nov 2006 22:09:14 +0000 (23:09 +0100)
committerTobias Schlüter <tobi@gcc.gnu.org>
Wed, 22 Nov 2006 22:09:14 +0000 (23:09 +0100)
fortran/
        PR fortran/29441
        * intrinsic.c (gfc_intrinsic_func_interface): Always check if
        intrinsic is allowed in initialization expression.
testsuite/
        PR fortran/29441
        * gfortran.dg/initialization_4.f90: New test.

From-SVN: r119101

gcc/fortran/ChangeLog
gcc/fortran/intrinsic.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/initialization_4.f90 [new file with mode: 0644]

index b9c5944829ac6a7eb4003a09739387eeead67a33..8391c965965ad50c30e352c8e53483e32d995295 100644 (file)
@@ -1,17 +1,23 @@
-2006-11-22 Paul Thomas  <pault@gcc.gnu.org>
+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.
+
+2006-11-22  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/25087
        * resolve.c (resolve_fl_procedure): Add an error if an external
        automatic character length function does not have an explicit
        interface.
 
-2006-11-22 Paul Thomas  <pault@gcc.gnu.org>
+2006-11-22  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/29652
        * interface.c (check_interface1): Use a local value, instead of
        the dummy, as the inner iterator over interface symbols.
 
-2006-11-21 Paul Thomas  <pault@gcc.gnu.org>
+2006-11-21  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/29820
        * trans-array.c (gfc_get_derived_type): Once done, spread the
index c2c37e829a090ef4a2f247543fa0419a1d398f1d..d284f3cd8bc5e49ce12efad03f15c479de36bf6f 100644 (file)
@@ -3397,8 +3397,7 @@ got_specific:
   /* 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
-      && flag && gfc_init_expr_extensions (specific))
+  if (gfc_init_expr && flag && gfc_init_expr_extensions (specific))
     {
       if (gfc_notify_std (GFC_STD_GNU, "Extension: Evaluation of "
            "nonstandard initialization expression at %L", &expr->where)
index 2e65881667cc0eb90f0f25c8a908566fa0271733..ff2a80dad5b1eb3ee29d67390c7916ffbda5c7e8 100644 (file)
@@ -1,3 +1,8 @@
+2006-11-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/29441
+       * gfortran.dg/initialization_4.f90: New test.
+
 2006-11-22  Ira Rosen  <irar@il.ibm.com>
 
        * gcc.dg/vect/vect-1.c: Additional loop is now vectorizable on 
diff --git a/gcc/testsuite/gfortran.dg/initialization_4.f90 b/gcc/testsuite/gfortran.dg/initialization_4.f90
new file mode 100644 (file)
index 0000000..b0f2431
--- /dev/null
@@ -0,0 +1,6 @@
+! PR 29441 : No error was given for disallowed function in
+! initialization expression, even if -std=f95 was used
+! { dg-do compile }
+! { dg-options "-std=f95" }
+real, parameter :: pi = 4.0*Atan(1.0) ! { dg-error "Evaluation of nonstandard initialization expression" }
+end