On 02/03/15 18:43, Aldy Hernandez wrote:
TYPE_BINFO is null when no optimization is used, but odr_violated is unset.
Fixed and approved in the PR by Honza.
Tested on x86-64 Linux.
Committed to mainline.
Hi,
I believe your testcase does not work for arm-none-eabi:
Executing on host: /arm-none-eabi/obj/gcc2/gcc/testsuite/g++8/../../xg++
-B/arm-none-eabi/obj/gcc2/gcc/testsuite/g++8/../../ cp_lto_pr65276_0.o
cp_lto_pr65276_1.o g++_tg.o -fno-diagnostics-show-caret
-fdiagnostics-color=never -nostdinc++
-I/arm-none-eabi/obj/gcc2/arm-none-eabi/libstdc++-v3/include/arm-none-eabi
-I/arm-none-eabi/obj/gcc2/arm-none-eabi/libstdc++-v3/include
-I/src/gcc/libstdc++-v3/libsupc++
-I/src/gcc/libstdc++-v3/include/backward
-I/src/gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -flto -O0
-std=c++11 -specs=rdimon.specs -Wa,-mno-warn-deprecated
-L/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs
-B/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs
-Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -o
g++-dg-lto-pr65276-01.exe (timeout = 300)
spawn /arm-none-eabi/obj/gcc2/gcc/testsuite/g++8/../../xg++
-B/arm-none-eabi/obj/gcc2/gcc/testsuite/g++8/../../ cp_lto_pr65276_0.o
cp_lto_pr65276_1.o g++_tg.o -fno-diagnostics-show-caret
-fdiagnostics-color=never -nostdinc++
-I/arm-none-eabi/obj/gcc2/arm-none-eabi/libstdc++-v3/include/arm-none-eabi
-I/arm-none-eabi/obj/gcc2/arm-none-eabi/libstdc++-v3/include
-I/src/gcc/libstdc++-v3/libsupc++
-I/src/gcc/libstdc++-v3/include/backward
-I/src/gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -flto -O0
-std=c++11 -specs=rdimon.specs -Wa,-mno-warn-deprecated
-L/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs
-B/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs
-Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -o
g++-dg-lto-pr65276-01.exe
/tmp/61243907.0/ccwrV09Z.ltrans0.ltrans.o:(.rodata+0x0): multiple
definition of `typeinfo for std::exception'
/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs/libstdc++.a(eh_exception.o):(.rodata._ZTISt9exception+0x0):
first defined here
/tmp/61243907.0/ccwrV09Z.ltrans0.ltrans.o:(.rodata+0x8): multiple
definition of `typeinfo name for std::exception'
/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs/libstdc++.a(eh_exception.o):/src/gcc/libstdc++-v3/libsupc++/eh_exception.cc:35:
first defined here
collect2: error: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/61243907.0/ccwrV09Z.ltrans0.ltrans.o:(.rodata+0x0): multiple
definition of `typeinfo for std::exception'
/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs/libstdc++.a(eh_exception.o):(.rodata._ZTISt9exception+0x0):
first defined here
/tmp/61243907.0/ccwrV09Z.ltrans0.ltrans.o:(.rodata+0x8): multiple
definition of `typeinfo name for std::exception'
/arm-none-eabi/obj/gcc2/arm-none-eabi/./libstdc++-v3/src/.libs/libstdc++.a(eh_exception.o):/src/gcc/libstdc++-v3/libsupc++/eh_exception.cc:35:
first defined here
collect2: error: ld returned 1 exit status
FAIL: g++.dg/lto/pr65276 cp_lto_pr65276_0.o-cp_lto_pr65276_1.o link,
-flto -O0 -std=c++11
UNRESOLVED: g++.dg/lto/pr65276 cp_lto_pr65276_0.o-cp_lto_pr65276_1.o
execute -flto -O0 -std=c++11
Kind regards,
Alex