aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c-family/ChangeLog6
-rw-r--r--gcc/c-family/c-common.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 875b08d9bea..cbefac7d82c 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2013-12-05 Marek Polacek <polacek@redhat.com>
+
+ PR c/52023
+ * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
+ [ADJUST_FIELD_ALIGN].
+
2013-12-04 Joseph Myers <joseph@codesourcery.com>
PR c/52023
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index a06dea8b7f3..a4f85645e51 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -5004,10 +5004,10 @@ c_sizeof_or_alignof_type (location_t loc,
#ifdef BIGGEST_FIELD_ALIGNMENT
align = MIN (align, BIGGEST_FIELD_ALIGNMENT);
#endif
- tree field = build_decl (UNKNOWN_LOCATION, FIELD_DECL, NULL_TREE,
- type);
unsigned int field_align = align;
#ifdef ADJUST_FIELD_ALIGN
+ tree field = build_decl (UNKNOWN_LOCATION, FIELD_DECL, NULL_TREE,
+ type);
field_align = ADJUST_FIELD_ALIGN (field, field_align);
#endif
align = MIN (align, field_align);