$ ./xgcc -v Using built-in specs. COLLECT_GCC=./xgcc Target: powerpc-unknown-linux-gnu Configured with: ../configure --target=powerpc-unknown-linux-gnu --prefix=/home/ryan/cross/powerpc-unknown-linux-gnu/ --with-local-prefix=/home/ryan/cross/powerpc-unknown-linux-gnu/powerpc-unknown-linux-gnu/sys-root --disable-multilib --with-sysroot=/home/ryan/cross/powerpc-unknown-linux-gnu/powerpc-unknown-linux-gnu/sys-root --enable-shared --with-gmp=/home/ryan/cross/powerpc-unknown-linux-gnu --with-mpfr=/home/ryan/cross/powerpc-unknown-linux-gnu --enable-__cxa_atexit --disable-nls --enable-symvers=gnu --enable-languages=c --enable-target-optspace --enable-lto Thread model: posix gcc version 4.5.0 20090605 (experimental) (lto merged with rev 148228)
$ ./xgcc -B. -flto -shared ctanf.o ctanhl.o ctanh.o In function 'ctanh': lto1: error: invalid conversion in gimple call const long double <float:64> tv_34 = tan (im.7_33); lto1: error: invalid conversion in gimple call const long double <float:64> sv_36 = _Sinh (re.3_35, 1.0e+0); lto1: error: type mismatch in binary expression <float:64> const long double const long double D.2436_37 = tv_34 * tv_34; lto1: error: type mismatch in binary expression const long double <float:64> const long double bv_39 = D.2437_38 * sv_36; lto1: error: type mismatch in binary expression <float:64> const long double const long double D.2438_40 = bv_39 * sv_36; lto1: error: type mismatch in binary expression const long double <float:64> <float:64> dv_41 = D.2438_40 + 1.0e+0; lto1: error: type mismatch in comparison expression <unnamed type> <float:64> const long double if (D.2439_42 == dv_41) lto1: error: type mismatch in binary expression <float:64> const long double <float:64> D.2447_46 = tv_34 * 0.0; lto1: error: type mismatch in binary expression <float:64> const long double const long double D.2448_48 = sv_36 * sv_36; lto1: error: type mismatch in binary expression <float:64> <float:64> const long double D.2451_51 = D.2450_50 * bv_39; lto1: error: type mismatch in binary expression <float:64> <float:64> const long double D.2452_52 = D.2451_51 / dv_41; lto1: error: type mismatch in binary expression <float:64> const long double const long double D.2453_53 = tv_34 / dv_41; lto1: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper: ././xgcc returned 1 exit status collect2: lto-wrapper returned 1 exit status -- Summary: [LTO] ICE verify_stmts failed Product: gcc Version: lto Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rmansfield at qnx dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: powerpc-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40410