aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/check.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2011-10-20 00:05:23 +0200
committerJanus Weil <janus@gcc.gnu.org>2011-10-20 00:05:23 +0200
commit2c23ebfec69d77f9d62e80bfb4157c184f88364f (patch)
tree7bb1b66ecb7f8dab68864953e87af67e4240c434 /gcc/fortran/check.c
parente423833d36290e6919a4f286f0ba92e2395267c5 (diff)
downloadgcc-2c23ebfec69d77f9d62e80bfb4157c184f88364f.zip
gcc-2c23ebfec69d77f9d62e80bfb4157c184f88364f.tar.gz
gcc-2c23ebfec69d77f9d62e80bfb4157c184f88364f.tar.bz2
re PR fortran/47023 (C_Sizeof: Rejects valid code)
2011-10-19 Janus Weil <janus@gcc.gnu.org> PR fortran/47023 * check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF. * intrinsinc.texi (SIZEOF): Document it. (STORAGE_SIZE): Fix special characters. Fix line breaks. 2011-10-19 Janus Weil <janus@gcc.gnu.org> PR fortran/47023 * gfortran.dg/sizeof_proc.f90: New. From-SVN: r180210
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r--gcc/fortran/check.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
index eb8b3e1..bf45592 100644
--- a/gcc/fortran/check.c
+++ b/gcc/fortran/check.c
@@ -3444,8 +3444,15 @@ gfc_check_size (gfc_expr *array, gfc_expr *dim, gfc_expr *kind)
gfc_try
-gfc_check_sizeof (gfc_expr *arg ATTRIBUTE_UNUSED)
+gfc_check_sizeof (gfc_expr *arg)
{
+ if (arg->ts.type == BT_PROCEDURE)
+ {
+ gfc_error ("'%s' argument of '%s' intrinsic at %L may not be a procedure",
+ gfc_current_intrinsic_arg[0]->name, gfc_current_intrinsic,
+ &arg->where);
+ return FAILURE;
+ }
return SUCCESS;
}