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



             Bug #: 55944

           Summary: [C++11] static local member with constexpr c'tor

                    causes ICE

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: daniel.krueg...@googlemail.com





While testing bug 55931 on gcc 4.8.0 20130106 (experimental) using the compiler

flags 



-Wall -std=c++11 -pedantic



the following program causes an ICE:



//-----------------------------------

template<class T>

struct Test

{

  constexpr Test(T val) : value(val) {}

  static void test()

  {

    static constexpr Test<int> x(42); // ICE

  }

  T value;

};



int main()

{

  static constexpr Test<int> x(42); // OK

  Test<double>::test();

}

//-----------------------------------



"7|internal compiler error: tree check: expected target_expr, have cast_expr in

check_initializer, at cp/decl.c:5699"



This program should be accepted.

Reply via email to