• mmitchel's avatar
    PR c++/18001 · ab6bb714
    mmitchel authored
    	* c-common.h (lvalue_use): Move here from c-ctypeck.c.
    	(lvalue_or_else): Declare.
    	* c-common.c (lvalue_or_else): Move here from c-typeck.c.
    	* c-typeck.c (lvalue_use): Remove.
    	(lvalue_or_else): Remove.
    
    	PR c++/18556
    	* toplev.c (check_global_declarations): Set DECL_IGNORED_P on
    	unemitted variables with static storage duration.
    
    	PR c++/18445
    	* class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with
    	unknown_type as non matching.  Tidy up.
    	* pt.c (build_non_dependent_expr): Do not build a
    	NON_DEPENDENT_EXPR for a VAR_DECL.
    
    	PR c++/18001
    	* cp-tree.h (lvalue_or_else): Remove declaration.
    	* tree.c (lvalue_or_else): Remove.
    	* typeck.c (build_unary_op): Adjust call to lvalue_or_else.
    	(build_modify_expr): Likewise.
    
    	PR c++/18625
    	* decl.c (duplicate_decls): Return error_mark_node on error, as
    	specified.
    
    	PR c++/18466
    	* decl.c (grokvardecl): Keep track of whether or not a there was
    	explicit qualification.
    	* name-lookup.c (set_decl_namespace): Complain about explicit
    	qualification of a name within its own namespace.
    
    	PR c++/18545
    	* typeck.c (check_return_expr): Robustify.
    
    	PR c++/18445
    	* g++.dg/template/crash28.C: Likewise.
    
    	PR c++/18001
    	* g++.dg/expr/unary2.C: Adjust lvalue messages.
    	* g++.dg/ext/lvaddr.C: Likewise.
    	* g++.dg/opt/pr7503-3.C: Likewise.
    
    	PR c++/18466
    	* g++.dg/parse/qualified3.C: New test.
    	* g++.old-deja/g++.other/friend7.C: Remove bogus qualification.
    
    	PR c++/18545
    	* g++.dg/expr/return1.C: New test.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91301 138bc75d-0d04-0410-961f-82ee72b054a4
    ab6bb714
class.c 237 KB