aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gimple-fold.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 58b6ea4..a821b64 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -4327,7 +4327,7 @@ clear_padding_union (clear_padding_struct *buf, tree type, HOST_WIDE_INT sz)
}
for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field))
- if (TREE_CODE (field) == FIELD_DECL)
+ if (TREE_CODE (field) == FIELD_DECL && !DECL_PADDING_P (field))
{
if (DECL_SIZE_UNIT (field) == NULL_TREE)
{
@@ -4455,13 +4455,11 @@ clear_padding_type (clear_padding_struct *buf, tree type, HOST_WIDE_INT sz)
HOST_WIDE_INT cur_pos;
cur_pos = 0;
for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field))
- if (TREE_CODE (field) == FIELD_DECL)
+ if (TREE_CODE (field) == FIELD_DECL && !DECL_PADDING_P (field))
{
tree ftype = TREE_TYPE (field);
if (DECL_BIT_FIELD (field))
{
- if (DECL_NAME (field) == NULL_TREE)
- continue;
HOST_WIDE_INT fldsz = TYPE_PRECISION (ftype);
if (fldsz == 0)
continue;