aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2018-02-12 18:11:58 +0100
committerJanus Weil <janus@gcc.gnu.org>2018-02-12 18:11:58 +0100
commit24abcc441ab1c0e8705e43189efff80daa36acfb (patch)
tree79894e2f612f76d538f033dec77acd9629148019 /gcc/fortran/resolve.c
parent78604de064490c8c12d2d4efadbd453f7c8c7685 (diff)
downloadgcc-24abcc441ab1c0e8705e43189efff80daa36acfb.zip
gcc-24abcc441ab1c0e8705e43189efff80daa36acfb.tar.gz
gcc-24abcc441ab1c0e8705e43189efff80daa36acfb.tar.bz2
re PR fortran/84273 ([F03] Reject allocatable passed-object dummy argument (proc_ptr_47.f90))
2018-02-12 Janus Weil <janus@gcc.gnu.org> PR fortran/84273 * resolve.c (resolve_component): Fix checks of passed argument in procedure-pointer components. 2018-02-12 Janus Weil <janus@gcc.gnu.org> PR fortran/84273 * gfortran.dg/proc_ptr_47.f90: Fix invalid test case. * gfortran.dg/proc_ptr_comp_pass_4.f90: Fix and extend test case. From-SVN: r257590
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 429c1c4..01e2c38 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -13706,8 +13706,8 @@ resolve_component (gfc_component *c, gfc_symbol *sym)
return false;
}
- /* Check for C453. */
- if (me_arg->attr.dimension)
+ /* Check for F03:C453. */
+ if (CLASS_DATA (me_arg)->attr.dimension)
{
gfc_error ("Argument %qs of %qs with PASS(%s) at %L "
"must be scalar", me_arg->name, c->name, me_arg->name,
@@ -13716,7 +13716,7 @@ resolve_component (gfc_component *c, gfc_symbol *sym)
return false;
}
- if (me_arg->attr.pointer)
+ if (CLASS_DATA (me_arg)->attr.class_pointer)
{
gfc_error ("Argument %qs of %qs with PASS(%s) at %L "
"may not have the POINTER attribute", me_arg->name,
@@ -13725,7 +13725,7 @@ resolve_component (gfc_component *c, gfc_symbol *sym)
return false;
}
- if (me_arg->attr.allocatable)
+ if (CLASS_DATA (me_arg)->attr.allocatable)
{
gfc_error ("Argument %qs of %qs with PASS(%s) at %L "
"may not be ALLOCATABLE", me_arg->name, c->name,