OSDN Git Service

* common.opt (-fstrict-volatile-bitfields): new.
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Jun 2010 22:52:25 +0000 (22:52 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Jun 2010 22:52:25 +0000 (22:52 +0000)
commita420d927846c59b8b089ccdd66361ee2d0fe0962
tree3dd0caaaba78a7ab2d30d7b774f9c8f7ea157dc6
parentd603fd8614a143dec3d639929c643c3a58997717
* common.opt (-fstrict-volatile-bitfields): new.
* doc/invoke.texi: Document it.
* fold-const.c (optimize_bit_field_compare): For volatile
bitfields, use the field's type to determine the mode, not the
field's size.
* expr.c (expand_assignment): Likewise.
(get_inner_reference): Likewise.
(expand_expr_real_1): Likewise.
* expmed.c (store_fixed_bit_field): Likewise.
(extract_bit_field_1): Likewise.
(extract_fixed_bit_field): Likewise.

* gcc.target/i386/volatile-bitfields-1.c: New.
* gcc.target/i386/volatile-bitfields-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160865 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/expmed.c
gcc/expr.c
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/volatile-bitfields-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/volatile-bitfields-2.c [new file with mode: 0644]