http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47049

           Summary: internal compiler error: in write_unnamed_type_name
                    due to C++0x lamba use
           Product: gcc
           Version: 4.5.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: emn13+...@nerbonne.org


Created attachment 22842
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22842
Preprocessed source

errtest.cpp: In lambda function:
errtest.cpp:16:78: internal compiler error: in write_unnamed_type_name, at
cp/mangle.c:1311

While using a mingw64 build I encountered the above ICE and reported it @
http://sourceforge.net/tracker/?func=detail&atid=983354&aid=3141173&group_id=202880

It was suggested that this is a gcc bug (and it looks like it).  I'm using a
lambda in a class template; as follows:

std::sort(v.begin(),v.end(), [&eigenvaluesUnsorted](size_t a, size_t b) -> bool
{ return eigenvaluesUnsorted(a) > eigenvaluesUnsorted(b);});

Attached are the small unpreprocessed source, the huge preprocessed source, and
g++'s output.  The command line was:
g++ -I%EIGEN3_DIR% --std=c++0x -march=core2 -v -save-temps errtest.cpp
2>gcc-err.txt

Reply via email to