From 22c30bc09a6ff27638521bd82ac5e25c525f1273 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Mon, 16 Jan 2012 20:50:11 +0100 Subject: re PR fortran/51809 ([OOP] ICE (segfault) depending on USE statements order) 2012-01-16 Tobias Burnus PR fortran/51809 * class.c (gfc_find_derived_vtab): Mark __vtab and __def_init as FL_VARIABLE not as FL_PARAMETER. * expr.c (gfc_simplify_expr): Remove special handling of __vtab. * resolve.c (resolve_values): Ditto. * trans-decl.c (gfc_get_symbol_decl): Mark __vtab and __def_init as TREE_READONLY. 2012-01-16 Tobias Burnus PR fortran/51809 * gfortran.dg/use_20.f90: New From-SVN: r183219 --- gcc/fortran/expr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gcc/fortran/expr.c') diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index a6baa68..8f04c73 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -1883,8 +1883,7 @@ gfc_simplify_expr (gfc_expr *p, int type) initialization expression, or we want a subsection. */ if (p->symtree->n.sym->attr.flavor == FL_PARAMETER && (gfc_init_expr_flag || p->ref - || p->symtree->n.sym->value->expr_type != EXPR_ARRAY) - && !p->symtree->n.sym->attr.vtab) + || p->symtree->n.sym->value->expr_type != EXPR_ARRAY)) { if (simplify_parameter_variable (p, type) == FAILURE) return FAILURE; -- cgit v1.1