]> granicus.if.org Git - clang/commit
Support explicit template specialization and instantiation for members
authorDouglas Gregor <dgregor@apple.com>
Mon, 7 Mar 2011 16:54:27 +0000 (16:54 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 7 Mar 2011 16:54:27 +0000 (16:54 +0000)
commitcc20945c787a56abe418947fc6a2c520bcec66c0
tree3c3ff3e18927a91b57b0e7622266000d72719d26
parent944cdae86ecb2ab5deda96804099bd28f6a6cd39
Support explicit template specialization and instantiation for members
of a C++0x inline namespace within enclosing namespaces, as noted in
C++0x [namespace.def]p8.

Fixes <rdar://problem/9006349>, a libc++ failure where Clang was
rejected an explicit specialization of std::swap (since libc++ puts it
into an inline, versioned namespace std::__1).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127162 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Sema/IdentifierResolver.h
include/clang/Sema/Sema.h
lib/Sema/IdentifierResolver.cpp
lib/Sema/SemaDecl.cpp
test/CXX/dcl.dcl/basic.namespace/namespace.def/p8.cpp
test/CXX/temp/temp.spec/temp.expl.spec/p2-0x.cpp
test/CXX/temp/temp.spec/temp.explicit/p3-0x.cpp [new file with mode: 0644]