Created attachment 13496 [details] test case Fuzzing discovered that the attached test case, when given as input to clang -fno-crash-diagnostics -std=c++11 -xc++ -c -emit-llvm causes this assertion failure: clang-3.6: tools/clang/include/clang/AST/ExprCXX.h:975: clang::Expr *clang::CXXDefaultInitExpr::getExpr(): Assertion `Field->getInClassInitializer() && "initializer hasn't been parsed"' failed.
Still repros
I discovered this with one of our internal tests. Our reduced test case is similar and has the same issues: template < class > struct A { int N = sizeof (A < wchar_t >) /; void F() { A < wchar_t > a; } }; clang -std=c++11
Looks like this was fixed. Erich's example gives a proper error like so: template <class> struct A { int N = sizeof(A<wchar_t>) / ; void F() { A<wchar_t> a; } }; $ clang -cc1 -std=c++11 t.cpp -emit-llvm t.cpp:3:37: error: expected expression int N = sizeof (A < wchar_t >) /; ^ 1 error generated. And the original attached test case doesn't crash.