// RUN: %clang_cc1 -analyze -analyzer-checker=core -fblocks -verify %s // Do not crash on this templated code which uses a block. typedef void (^my_block)(void); static void useBlock(my_block block){} template class MyClass; typedef MyClass Mf; template class MyClass { public: MyClass() {} MyClass(T a); void I(); private: static const T one; }; template const T MyClass::one = static_cast(1); template inline MyClass::MyClass(T a){} template void MyClass::I() { static MyClass* mPtr = 0; useBlock(^{ mPtr = new MyClass (MyClass::one); }); }; int main(){ Mf m; m.I(); }