Public bug reported: This code shows the bug: ---test.cc--- #include <stdio.h>
typedef __attribute__ ((__aligned__ (16))) struct _TEST_FLOAT128 { __extension__ unsigned long long Part[2]; } TEST_FLOAT128; int main( void ) { TEST_FLOAT128 tf; printf( "alignof(tf) = %d\n",(int)__alignof__(tf) ); printf( "alignof(struct _TEST_FLOAT128) = %d\n",(int)__alignof__(struct _TEST_FLOAT128) ); printf( "alignof(TEST_FLOAT128) = %d\n",(int)__alignof__(TEST_FLOAT128) ); return 0; } --- $ g++-4.9 -O3 -flto -oalign test.cc -Wall -Wextra -g # compiles without warnings. $ g++-5 -O3 -flto -oalign test.cc -Wall -Wextra -g test.cc:3:51: warning: type ‘struct _TEST_FLOAT128’ violates one definition rule [-Wodr] typedef __attribute__ ((__aligned__ (16))) struct _TEST_FLOAT128 { ^ test.cc:5:3: note: a type with different alignment is defined in another translation unit } TEST_FLOAT128; ^ # triggers a warning. ** Affects: gcc-5 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1720959 Title: Bug with LTO optimizations in G++? To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1720959/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs