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 c++/64995] New: [5 Regression] ICE in vn_reference_insert_pieces, at tree-ssa-sccvn.c:2341


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64995

            Bug ID: 64995
           Summary: [5 Regression] ICE in vn_reference_insert_pieces, at
                    tree-ssa-sccvn.c:2341
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org

seen with trunk 20150210 on x86_64-linux-gnu

$ g++ -c -g -O2 World.cc 
World.cc: In function 'void passTime()':
World.cc:23:6: internal compiler error: in vn_reference_insert_pieces, at
tree-ssa-sccvn.c:2341
 void passTime() {
      ^
Please submit a full bug report,
with preprocessed source if appropriate.

$ cat World.cc 
extern "C" double acos(double);
class A {
public:
  double mY, mZ;
  A(double, double);
  double m_fn1(A *);
  int *m_fn2();
};
double a;
A *b;
A::A(double, double) : mY(), mZ() {}

double A::m_fn1(A *) { return mY * mZ; }

inline int *A::m_fn2() {
  mZ = 0;
  double c = m_fn1(this);
  a = acos(c);
  double d = m_fn1(b);
  acos(d);
}

void passTime() {
  A e(0, 1);
  e.m_fn2();
}


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