https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65193
Bug ID: 65193 Summary: [4.9 Regression] ICE: Segmentation fault with -g -flto Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Boost doesn't build with gcc-4.9 and -flto -g: markus@x4 testcase % cat nexttowardl.ii void frexp (int, int *); namespace std { int ldexp (int, int); struct A { }; template <class T> T get_min_shift_value (); template <class> struct min_shift_initializer { struct B { B () { get_min_shift_value<long double> (); } } static const b; static void m_fn1 () { b; } }; template <class T> const typename min_shift_initializer<T>::B min_shift_initializer<T>::b; template <class T> inline T get_min_shift_value () { using std::ldexp; static T c = ldexp (0, 0); min_shift_initializer<T>::m_fn1; } template <class T, class Policy> void float_next_imp (T p1, Policy p2) { using std::ldexp; int d; float_next (0, p2); frexp (p1, &d); } template <class T, class Policy> int float_next (const T &p1, Policy &p2) { float_next_imp (p1, p2); } template <class T, class Policy> void float_prior_imp (T, Policy) { get_min_shift_value<T> (); } template <class T, class Policy> int float_prior (T, Policy) { float_prior_imp (static_cast<T> (0), 0); } template <class T, class U, class Policy> void nextafter (T p1, U p2, Policy p3) { p2 ? float_next (0, p3) : float_prior (p1, 0); } long double e; int f; void nextafter () { nextafter (e, f, A ()); } } markus@x4 testcase % g++ -fPIC -flto -shared -O2 -g nexttowardl.ii nexttowardl.ii: In function ‘float_next_imp’: nexttowardl.ii:33:1: internal compiler error: Segmentation fault float_next_imp (T p1, Policy p2) ^ 0x814e6f crash_signal ../../gcc/gcc/toplev.c:337 0x91e78b mark_use_processed ../../gcc/gcc/tree-ssa-sccvn.c:2708 0x91e78b visit_use ../../gcc/gcc/tree-ssa-sccvn.c:3366 0x92164c process_scc ../../gcc/gcc/tree-ssa-sccvn.c:3718 0x92164c extract_and_process_scc_for_name ../../gcc/gcc/tree-ssa-sccvn.c:3802 0x92164c DFS ../../gcc/gcc/tree-ssa-sccvn.c:3854 0x92164c run_scc_vn(vn_lookup_kind) ../../gcc/gcc/tree-ssa-sccvn.c:4097 0x8fe71a execute_fre ../../gcc/gcc/tree-ssa-pre.c:4839 0x8fe71a execute ../../gcc/gcc/tree-ssa-pre.c:4890 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper: /var/tmp/gcc_test_/usr/local/bin/g++ returned 1 exit status /usr/bin/ld: fatal error: lto-wrapper failed collect2: error: ld returned 1 exit status