summaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-27 11:00:38 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-27 11:00:38 +0000
commit1040f7a17ea583240c194ac0a6d796fec3c262a1 (patch)
treed87a910aa92849bb44796633b36b39da56efa712 /gcc/tree-sra.c
parentb73a2cf781d73d3d32259690842b80015d6cf2e4 (diff)
downloadgcc-1040f7a17ea583240c194ac0a6d796fec3c262a1.tar.gz
* tree-sra.c (sra_type_can_be_decomposed_p) <RECORD_TYPE>: Make sure
that the bitfield is of integral type before testing its precision. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136009 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 9e15f928bf3..244219ffe79 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -268,6 +268,7 @@ sra_type_can_be_decomposed_p (tree type)
{
/* Reject incorrectly represented bit fields. */
if (DECL_BIT_FIELD (t)
+ && INTEGRAL_TYPE_P (TREE_TYPE (t))
&& (tree_low_cst (DECL_SIZE (t), 1)
!= TYPE_PRECISION (TREE_TYPE (t))))
goto fail;