aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/primary.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2012-11-04 18:13:16 +0100
committerJanus Weil <janus@gcc.gnu.org>2012-11-04 18:13:16 +0100
commit049bb74ea2e50df059faf50b8dce663e10c6121c (patch)
treeb43d35487f7962a6cea06c09969b00b3919b362a /gcc/fortran/primary.c
parentf56f2d332c6f78342a8f52ab426c38806d772017 (diff)
downloadgcc-049bb74ea2e50df059faf50b8dce663e10c6121c.zip
gcc-049bb74ea2e50df059faf50b8dce663e10c6121c.tar.gz
gcc-049bb74ea2e50df059faf50b8dce663e10c6121c.tar.bz2
re PR fortran/55199 ([OOP] Equivalenced variable has wrong type when used with generic member function)
2012-11-04 Janus Weil <janus@gcc.gnu.org> PR fortran/55199 * primary.c (gfc_match_varspec): Clear typespec if it cannot be determined at this point. 2012-11-04 Janus Weil <janus@gcc.gnu.org> PR fortran/55199 * gfortran.dg/associate_12.f90: New. From-SVN: r193136
Diffstat (limited to 'gcc/fortran/primary.c')
-rw-r--r--gcc/fortran/primary.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index 7b64a3c..6be55b0 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -1975,6 +1975,8 @@ gfc_match_varspec (gfc_expr *primary, int equiv_flag, bool sub_flag,
gcc_assert (primary->symtree->n.sym->attr.referenced);
if (tbp_sym)
primary->ts = tbp_sym->ts;
+ else
+ gfc_clear_ts (&primary->ts);
m = gfc_match_actual_arglist (tbp->n.tb->subroutine,
&primary->value.compcall.actual);