I turfed up an ICE with optimization, but the thing compiled fine without. To reproduce, use the soon-to-be attached source and do: madison.gams.com:/home/steve/lang/cpp/alpsBug$g++ -c AlpsTreeNode.ii madison.gams.com:/home/steve/lang/cpp/alpsBug$g++ -O3 -c AlpsTreeNode.ii AlpsTreeNode.cpp: In member function 'AlpsReturnStatus AlpsTreeNode::encodeAlps(AlpsEncoded*) const': AlpsTreeNode.cpp:144: internal compiler error: canonical types differ for identical types const int and const AlpsNodeIndex_t Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
I was using the trunk src at rev 142984: $gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/usr/local2 --enable-languages=c,c++,fortran Thread model: posix gcc version 4.4.0 20081231 (experimental) (GCC) -- Summary: ICE: canonical types differ for identical types const int and const AlpsNodeIndex_t Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sdirkse at gams dot com GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38705