]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/tree.c
re PR c/16202 (The -Wsequence-point warning misses many important instances)
authorManuel López-Ibáñez <manu@gcc.gnu.org>
Tue, 21 Apr 2009 07:47:13 +0000 (07:47 +0000)
committerManuel López-Ibáñez <manu@gcc.gnu.org>
Tue, 21 Apr 2009 07:47:13 +0000 (07:47 +0000)
commit1e4ae551ddb8ba1e02e3dd50bc55381d313fed8e
tree42ffdc85ff34751f35f4783c71117e6304c80f6b
parent6e9a9f9fed6b9a26fe8dda1a0a51713007c260a1
re PR c/16202 (The -Wsequence-point warning misses many important instances)

2009-04-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR 16202
* c-typeck.c (lvalue_p): Move declaration ...
* c-common.h (lvalue_p): ... to here.
* c-common.c (candidate_equal_p): New.
(add_tlist): Use it.
(merge_tlist): Use it.
(warn_for_collisions_1): Likewise.
(warning_candidate_p): Accept more candidates.
(verify_tree): A warning candidate can be an expression. Use
candidate_equal_p.
cp/
* tree.c (lvalue_p_1): Use const_tree.
Use CONST_CAST_TREE to avoid warning.
(lvalue_p): Returns bool, receives const_tree.
testsuite/
* gcc.dg/sequence-pt-1.c: Remove XFAILs.
* gcc.dg/sequence-pt-2.c: New.
* gcc.dg/sequence-pt-3.c: New.
* g++.dg/warn/sequence-pt-1.C: Remove XFAILs.
* g++.dg/warn/sequence-pt-2.c: New.
* g++.dg/warn/sequence-pt-3.c: New.

From-SVN: r146472
14 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-typeck.c
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/sequence-pt-1.C
gcc/testsuite/g++.dg/warn/sequence-pt-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/sequence-pt-3.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/sequence-pt-1.c
gcc/testsuite/gcc.dg/sequence-pt-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/sequence-pt-3.c [new file with mode: 0644]