]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/35299 (scope of variables in statement function do not acquire rank...
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 12 Feb 2018 18:26:44 +0000 (18:26 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 12 Feb 2018 18:26:44 +0000 (18:26 +0000)
2018-02-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

PR fortran/35299
ChangeLog for r257566
* gfortran.dg/statement_function_3.f: New test.

2018-02-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

PR fortran/35299
ChangeLog for r257566
* resolve.c (resolve_formal_arglist): Update error message.

From-SVN: r257597

gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/statement_function_3.f [new file with mode: 0644]

index 8d0e84a053596d11b42d62da437222e9324f2818..66ebb310265df9c328b8547c120475b5dd3c8f12 100644 (file)
@@ -1,3 +1,9 @@
+2018-02-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/35299
+       ChangeLog for r257566
+       * resolve.c (resolve_formal_arglist): Update error message.
+
 2018-02-12  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/54223
index ef938009f755d8331c39364b372ede74dd7d5f2b..84600bd959cd66abcbf91accec294c06cf27999c 100644 (file)
@@ -506,8 +506,11 @@ resolve_formal_arglist (gfc_symbol *proc)
        {
          if (sym->as != NULL)
            {
-             gfc_error ("Argument %qs of statement function at %L must "
-                        "be scalar", sym->name, &sym->declared_at);
+             /* F03:C1263 (R1238) The function-name and each dummy-arg-name
+                shall be specified, explicitly or implicitly, to be scalar.  */
+             gfc_error ("Argument '%s' of statement function '%s' at %L "
+                        "must be scalar", sym->name, proc->name,
+                        &proc->declared_at);
              continue;
            }
 
index c07d8797dace2069712f706e721eadb3c329d7ae..cb53750fd61b087336e715cab0698b418f5b6fe9 100644 (file)
@@ -1,3 +1,9 @@
+2018-02-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/35299
+       ChangeLog for r257566
+       * gfortran.dg/statement_function_3.f: New test.
+
 2018-02-12  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/54223
diff --git a/gcc/testsuite/gfortran.dg/statement_function_3.f b/gcc/testsuite/gfortran.dg/statement_function_3.f
new file mode 100644 (file)
index 0000000..dcfb3e2
--- /dev/null
@@ -0,0 +1,15 @@
+! { dg-do compile }
+! PR fortran/35299
+      subroutine phtod(e,n,i,h)
+      dimension e(n)
+      hstar(e,b)=b**.4*((1.25*fun(-e/40)+.18)) ! { dg-error "must be scalar" }
+      a = 1.
+      h = hstar(e(i-1), a)
+      end
+
+      function fun(a)
+         real a(*)
+         fun = 42
+      end
+! { dg-prune-output " Obsolescent feature" }
+