OSDN Git Service

Remove cast-as-lvalue extension.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Sep 2003 07:16:43 +0000 (07:16 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Sep 2003 07:16:43 +0000 (07:16 +0000)
commit29c42daf675f1f54b9de6f956d9ae08d6bf294c2
tree5bb40582c760ac444032db79c71b9f81c183e39e
parentc201d78b3236ad8aefbdd6a6fcee360d675b5738
Remove cast-as-lvalue extension.
* 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
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/expr/lval1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/lvcast.C [deleted file]