]> granicus.if.org Git - clang/commit
Instantiating a class template should not instantiate the definition of any
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 14 Mar 2012 23:13:10 +0000 (23:13 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 14 Mar 2012 23:13:10 +0000 (23:13 +0000)
commitf1c66b40213784a1c4612f04c14cafa2b0e89988
treee7ce75134aa9dfc30fce2b5a85088baf65423294
parent59e7f4e6e69872d2fc4031f66b47b8ad64967e51
Instantiating a class template should not instantiate the definition of any
scoped enumeration members. Later uses of an enumeration temploid as a nested
name specifier should cause its instantiation. Plus some groundwork for
explicit specialization of member enumerations of class templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152750 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
include/clang/AST/Decl.h
include/clang/AST/DeclTemplate.h
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/Sema.h
include/clang/Sema/Template.h
lib/AST/Decl.cpp
lib/Sema/SemaCXXScopeSpec.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp
test/CXX/temp/temp.spec/temp.explicit/p8.cpp
test/CXX/temp/temp.spec/temp.inst/p1.cpp [new file with mode: 0644]
test/PCH/cxx11-enum-template.cpp [new file with mode: 0644]
www/cxx_status.html