http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45740
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |ASSIGNED AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org |gnu.org | --- Comment #8 from janus at gcc dot gnu.org 2010-10-02 18:51:21 UTC --- Patch: Index: gcc/fortran/expr.c =================================================================== --- gcc/fortran/expr.c (revision 164900) +++ gcc/fortran/expr.c (working copy) @@ -3250,6 +3250,14 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_ex return FAILURE; } + /* Check for F08:C551. */ + if (rvalue->expr_type == EXPR_VARIABLE + && rvalue->symtree->n.sym->attr.is_protected + && rvalue->symtree->n.sym->attr.use_assoc) + gfc_error ("Variable '%s' is PROTECTED and can not appear in a " + "pointer assignment statement at %L", + rvalue->symtree->n.sym->name, &rvalue->where); + proc_pointer = lvalue->symtree->n.sym->attr.proc_pointer; rank_remap = false;