Don't create out-of-bounds BIT_FIELD_REF.
commit2dda221d048928227d5230ef6a02bdb3944b8c7c
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Nov 2013 10:00:30 +0000 (27 10:00 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Nov 2013 10:00:30 +0000 (27 10:00 +0000)
treef44d3af2f2bc8bececb8139a727cb2e3d0ec9069
parent1603adf95d3634275f6f4e4bb5ac53aad71c7c7c
Don't create out-of-bounds BIT_FIELD_REF.

2013-11-27  Tom de Vries  <tom@codesourcery.com>
    Marc Glisse  <marc.glisse@inria.fr>

PR middle-end/59037
* semantics.c (cxx_fold_indirect_ref): Don't create out-of-bounds
BIT_FIELD_REF.

* fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
BIT_FIELD_REF.
* gimple-fold.c (gimple_fold_indirect_ref): Same.
* tree-cfg.c (verify_expr): Give error if BIT_FIELD_REF is
out-of-bounds.

* c-c++-common/pr59037.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205438 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/semantics.c
gcc/fold-const.c
gcc/gimple-fold.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr59037.c [new file with mode: 0644]
gcc/tree-cfg.c