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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/pack9.adb | 2 | ||||
-rw-r--r-- | gcc/tree-sra.c | 3 |
4 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71e64e4..0b92221 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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. + 2011-01-03 H.J. Lu <hongjiu.lu@intel.com> PR driver/47137 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 86f8e3e..ae48268 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2011-01-03 Martin Jambor <mjambor@suse.cz> + PR tree-optimization/46801 + * gnat.dg/pack9.adb: Remove xfail. + +2011-01-03 Martin Jambor <mjambor@suse.cz> + PR tree-optimization/46984 * g++.dg/ipa/pr46984.C: New test. diff --git a/gcc/testsuite/gnat.dg/pack9.adb b/gcc/testsuite/gnat.dg/pack9.adb index aa0298b..7e74050 100644 --- a/gcc/testsuite/gnat.dg/pack9.adb +++ b/gcc/testsuite/gnat.dg/pack9.adb @@ -15,5 +15,5 @@ package body Pack9 is end Pack9; --- { dg-final { scan-tree-dump-not "gnat_rcheck" "optimized" { xfail *-*-* } } } +-- { dg-final { scan-tree-dump-not "gnat_rcheck" "optimized" } } -- { dg-final { cleanup-tree-dump "optimized" } } 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) |