I just tried to compile the package normaliz-2.2 with the C++ compiler version 4.5 snapshot 20100311 and it said vector_operations.cpp: In function 'std::vector<long int> v_make_prime(const std::vector<long int>&, Integer&)': vector_operations.cpp:300:17: error: statement marked for throw in middle of block # .MEM_36 = VDEF <.MEM_81> D.34201_8 = v_gcd (v_2(D)); vector_operations.cpp:300:17: 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. Preprocessed source code attached. Flags -O2 -floop-parallelize-all required.
Created attachment 20140 [details] C++ source code
Reduced testcase: struct vector { long &operator[](int __n) { return *(_M_start + __n); } ~vector(); long *_M_start; }; long v_gcd(); void v_make_prime(vector& v,long& g, long j){ int i; vector w; g=v_gcd(); for (i = 0; i < j; i++) w[i]=v[i]/g; }
Seems fixed to me.