https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89592
Bug ID: 89592 Summary: FAIL: tmpdir-g++.dg-struct-layout-1/t025 cp_compat_x_alt.o-cp_compat_y_tst.o execute against GCC4.8 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: amker at gcc dot gnu.org Target Milestone: --- Created attachment 45892 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45892&action=edit t025_y.E With X86_64 host GCC4.8 configured as below: ../configure --prefix=/usr --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=... --with-cloog=... --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Configuring/building GCC6.5 as below: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --prefix=/usr --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --disable-libgcj --without-isl --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 We have below test case failure: FAIL: tmpdir-g++.dg-struct-layout-1/t025 cp_compat_x_alt.o-cp_compat_y_tst.o execute Attachment is reduced callee site code, compiling with following command line: $ g++ -w -mno-mmx -Wno-abi -S -o 48.S -xc++ t025_y.E -g with GCC4.8, we have: movl $0, -4(%rbp) movl $0, -8(%rbp) .loc 1 26 0 movl -64(%rbp), %edx movl s2227(%rip), %eax cmpl %eax, %edx je .L2 while with GCC6.5/GCC9, we have: movl $0, -4(%rbp) movl $0, -8(%rbp) .loc 1 26 0 movl 16(%rbp), %edx movl s2227(%rip), %eax cmpl %eax, %edx Given it checks compatibility between this GCC against old(4.8) one, there must be change in layout the structure from 4.8 to 6.5. Or I am missing something?