This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug lto/65193] New: [4.9 Regression] ICE: Segmentation fault with -g -flto


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]