https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89261
Uroš Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-02-10
Ever confirmed|0 |1
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
Following patch:
--cut here--
Index: config/i386/i386-protos.h
===================================================================
--- config/i386/i386-protos.h (revision 268670)
+++ config/i386/i386-protos.h (working copy)
@@ -207,7 +207,7 @@
#endif /* RTX_CODE */
#ifdef TREE_CODE
-extern int ix86_data_alignment (tree, int, bool);
+extern int ix86_data_alignment (tree, unsigned int, bool);
extern unsigned int ix86_local_alignment (tree, machine_mode,
unsigned int);
extern unsigned int ix86_minimum_alignment (tree, machine_mode,
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c (revision 268670)
+++ config/i386/i386.c (working copy)
@@ -29620,7 +29616,7 @@
instead of that alignment to align the object. */
int
-ix86_data_alignment (tree type, int align, bool opt)
+ix86_data_alignment (tree type, unsigned int align, bool opt)
{
/* GCC 4.8 and earlier used to incorrectly assume this alignment even
for symbols from other compilation units or symbols that don't need
--cut here--
fixes the testcase:
.file "align.c"
.text
.globl foo
.data
.align 268435456
.type foo, @object
.size foo, 16
foo:
.long 0
.long 1072693248
.long 0
.long 1073741824
.ident "GCC: (GNU) 9.0.1 20190208 (experimental) [trunk revision
268670]"
.section .note.GNU-stack,"",@progbits