Instantiate incomplete class used in template method.
authorSerge Pavlov <sepavloff@gmail.com>
Mon, 4 May 2015 16:44:39 +0000 (16:44 +0000)
committerSerge Pavlov <sepavloff@gmail.com>
Mon, 4 May 2015 16:44:39 +0000 (16:44 +0000)
commit4c51174677306561eb4a18bb05b20cd3030d4b74
treedd955ff4af5faaaa840146c140538496552abf30
parent19f731f0eaeb02eca8fc7b23a2435f021d7b7e9c
Instantiate incomplete class used in template method.

If a class is absent from instantiation and is incomplete, instantiate it as
an incomplete class thus avoiding compiler crash.

This change fixes PR18653.

Differential Revision: http://reviews.llvm.org/D8281

llvm-svn: 236426
clang/lib/Sema/SemaTemplateInstantiate.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/SemaTemplate/instantiate-local-class.cpp