summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authoredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-11 16:59:24 +0000
committeredlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-11 16:59:24 +0000
commitb4d02378e3d97ac15508a86f96dd2a8d95ec8e84 (patch)
tree292e9afae89e8ec005a9bb23606e011988bfbc04 /gcc/testsuite
parent72e9011ec83e61c8a62b96074f946f05bee20b7a (diff)
downloadgcc-b4d02378e3d97ac15508a86f96dd2a8d95ec8e84.tar.gz
2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
Sandra Loosemore <sandra@codesourcery.com> PR middle-end/23623 PR middle-end/48784 PR middle-end/56341 PR middle-end/56997 * expmed.c (strict_volatile_bitfield_p): Add bitregion_start and bitregion_end parameters. Test for compliance with C++ memory model. (store_bit_field): Adjust call to strict_volatile_bitfield_p. Add fallback logic for cases where -fstrict-volatile-bitfields is supposed to apply, but cannot. (extract_bit_field): Likewise. Use narrow_bit_field_mem and extract_fixed_bit_field_1 to do the extraction. (extract_fixed_bit_field): Revert to previous mode selection algorithm. Call extract_fixed_bit_field_1 to do the real work. (extract_fixed_bit_field_1): New function. testsuite: * gcc.dg/pr23623.c: Update to test interaction with C++ memory model. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205897 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/pr23623.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ac0b5fb1add..47ac2c3b44a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.dg/pr23623.c: Update to test interaction with C++
+ memory model.
+
2013-12-11 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/23623
diff --git a/gcc/testsuite/gcc.dg/pr23623.c b/gcc/testsuite/gcc.dg/pr23623.c
index 22da21d489b..c844f945e1a 100644
--- a/gcc/testsuite/gcc.dg/pr23623.c
+++ b/gcc/testsuite/gcc.dg/pr23623.c
@@ -8,16 +8,19 @@
extern struct
{
unsigned int b : 1;
+ unsigned int : 31;
} bf1;
extern volatile struct
{
unsigned int b : 1;
+ unsigned int : 31;
} bf2;
extern struct
{
volatile unsigned int b : 1;
+ volatile unsigned int : 31;
} bf3;
void writeb(void)