diff options
author | Martin Jambor <mjambor@suse.cz> | 2011-01-03 16:43:23 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2011-01-03 16:43:23 +0100 |
commit | 1a2e38f3dde8b51484397c9e8a278fa4ddd29442 (patch) | |
tree | 8e3eb76fb7f4ff159c99ac6fdc0d3f7aecec255b /gcc/tree-sra.c | |
parent | 56b721c5912aa1594dafc92cee1d84c626c3245d (diff) | |
download | gcc-1a2e38f3dde8b51484397c9e8a278fa4ddd29442.zip gcc-1a2e38f3dde8b51484397c9e8a278fa4ddd29442.tar.gz gcc-1a2e38f3dde8b51484397c9e8a278fa4ddd29442.tar.bz2 |
re PR tree-optimization/46801 (FAIL: gnat.dg/pack9.adb scan-tree-dump-not optimized "gnat_rcheck")
2011-01-03 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/46801
* tree-sra.c (type_internals_preclude_sra_p): Check whether
aggregate fields start at byte boundary instead of the bit-field flag.
* testsuite/gnat.dg/pack9.adb: Remove xfail.
From-SVN: r168431
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 9d22ad7..14fef47 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -653,7 +653,8 @@ type_internals_preclude_sra_p (tree type) || !DECL_FIELD_OFFSET (fld) || !DECL_SIZE (fld) || !host_integerp (DECL_FIELD_OFFSET (fld), 1) || !host_integerp (DECL_SIZE (fld), 1) - || (DECL_BIT_FIELD (fld) && AGGREGATE_TYPE_P (ft))) + || (AGGREGATE_TYPE_P (ft) + && int_bit_position (fld) % BITS_PER_UNIT != 0)) return true; if (AGGREGATE_TYPE_P (ft) |