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

             Bug #: 50361
           Summary: gcc 4.6 ICE probably relating to std::initializer_list
                    and template argument deduction
    Classification: Unclassified
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: delon...@fb.com


Created attachment 25243
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25243
preprocessed source output

Error is:

gcc_test/test.cpp: In function ‘int main()’:
gcc_test/test.cpp:67: 1: internal compiler error: in fold_convert_loc, at
fold-const.c:2028
Please submit a full bug report,
with preprocessed source if appropriate.

I was running into this in a fairly convoluted case, but pulled parts of it out
until I had a fairly minimal repro.

A hint here appears to be that if you define the constructors inside the class
instead of outside the class the ICE goes away.  Also removing the union member
removes the ICE.

Reply via email to