------- Comment #3 from bangerth at dealii dot org 2005-11-23 17:12 ------- Here's a much shorter testcase: --------------------- #include <vector>
struct Point { Point (const Point &); Point (const double x); double values[3]; }; Point::Point (const double x) { this->values[0] = x; } Point::Point (const Point &p) { for (unsigned int i=0; i<3; ++i) values[i] = p.values[i]; } struct X { void bar (const std::vector<Point> &vertices); }; void foo (X &x) { const Point vertices[2] = { Point(1), Point(1), }; x.bar (std::vector<Point>(&vertices[0], &vertices[2])); } ---------------------- deal.II/deal.II> c++ -c -O3 -funroll-loops x.cc x.cc: In function 'void foo(X&)': x.cc:25: error: insn does not satisfy its constraints: (insn 556 554 555 (set (reg:DI 1 dx [orig:153 D.13205 ] [153]) (mult:DI (reg:DI 7 sp [118]) (const_int 2 [0x2]))) 196 {*lea_2_rex64} (nil) (nil)) x.cc:25: internal compiler error: in extract_constrain_insn_cached, at recog.c:2002 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. W. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25005