• mmitchel's avatar
    Remove cast-as-lvalue extension. · 29c42daf
    mmitchel authored
    	* call.c (build_conditional_expr): Correct formatting.
    	(convert_like_real): Use lvalue_p, not non_cast_lvalue_p.
    	(initialize_real): Use real_lvalue_p, not real_non_cast_lvalue_p.
    	* cp-tree.h (non_cast_lvalue_p): Remove.
    	(real_non_cast_lvalue_p): Remove.
    	(non_cast_lvalue_or_else): Remove.
    	* tree.c (lvalue_p_1): Remove allow_cast_as_lvalue parameter.
    	(real_lvalue_p): Adjust call to lvalue_p_1.
    	(non_cast_lvalue_p): Remove.
    	(non_cast_lvalue_or_else): Remove.
    	(lvalue_p): Adjust call to lvalue_p_1.
    	(lvalue_or_else): Simplify.
    	* typeck.c (build_unary_op): Use lvalue_or_else, not
    	non_cast_lvalue_or_else.
    	(build_static_cast): Use real_lvalue_p, not real_non_cast_lvalue_p.
    
    	* doc/extend.texi: Document removal of cast-as-lvalue extension in
    	C++.
    
    	* g++.dg/expr/lval1.C: New test.
    	* g++.dg/ext/lvcast.C: Remove.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71051 138bc75d-0d04-0410-961f-82ee72b054a4
    29c42daf
tree.c 64.9 KB