summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-02-07 11:29:06 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-02-07 11:29:06 +0000
commita4cf4b647cd239cc57d88ed82f7243e7efdf43f5 (patch)
tree9fc890de85ab3e01588ab9bf2c29333aec48c2bb /libobjc
parent7af4b20d83a8ce3033148f0d14c2e725791a7afd (diff)
downloadgcc-a4cf4b647cd239cc57d88ed82f7243e7efdf43f5.tar.gz
re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test)
2017-02-07 Richard Biener <rguenther@suse.de> PR tree-optimization/79256 PR middle-end/79278 * builtins.c (get_object_alignment_2): Use min_align_of_type to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN. * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional type parameter. * doc/tm.texi: Regenerate. * stor-layout.c (layout_decl): Adjust. (update_alignment_for_field): Likewise. (place_field): Likewise. (min_align_of_type): Likewise. * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust. * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise. * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise. * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise. * config/frv/frv.c (frv_adjust_field_align): Likewise. * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise. * config/i386/i386.c (x86_field_alignment): Likewise. * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise. * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): Likewise. go/ * go-backend.c (go_field_alignment): Adjust. libobjc/ * encoding.c (objc_layout_structure_next_member): Adjust ADJUST_FIELD_ALIGN usage. Revert 2017-01-30 Richard Biener <rguenther@suse.de> PR tree-optimization/79256 * targhooks.c (default_builtin_vector_alignment_reachable): Honor BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus alignment on TYPE. From-SVN: r245245
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog7
-rw-r--r--libobjc/encoding.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 55987a3ff3b..f73c54747a4 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,10 @@
+2017-02-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/79256
+ PR middle-end/79278
+ * encoding.c (objc_layout_structure_next_member): Adjust
+ ADJUST_FIELD_ALIGN usage.
+
2017-01-18 Matthias Klose <doko@ubuntu.com>
PR libobjc/78697
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 3850477fdb6..6f18d604442 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -1159,7 +1159,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
desired_align = MIN (desired_align, BIGGEST_FIELD_ALIGNMENT);
#endif
#ifdef ADJUST_FIELD_ALIGN
- desired_align = ADJUST_FIELD_ALIGN (type, desired_align);
+ desired_align = ADJUST_FIELD_ALIGN (type, type, desired_align);
#endif
/* Record must have at least as much alignment as any field.