]> granicus.if.org Git - clang/commit
Adjust type-trait evaluation to properly handle Using(Shadow)Decls
authorHal Finkel <hfinkel@anl.gov>
Sun, 27 Nov 2016 16:26:14 +0000 (16:26 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sun, 27 Nov 2016 16:26:14 +0000 (16:26 +0000)
commitb3eb023bef514b684fcb374ae674c251e48514fd
tree081f49940829562a6c7530ac6ee69adb638c661a
parentfa27a624b22fa1e25138430831305c32cc52083b
Adjust type-trait evaluation to properly handle Using(Shadow)Decls

Since r274049, for an inheriting constructor declaration, the name of the using
declaration (and using shadow declaration comes from the using declaration) is
the name of a derived class, not the base class (line 8225-8232 of
lib/Sema/SemaDeclCXX.cpp in https://reviews.llvm.org/rL274049). Because of
this, name-based lookup performed inside Sema::LookupConstructors returns not
only CXXConstructorDecls but also Using(Shadow)Decls, which results assertion
failure reported in PR29087.

Patch by Taewook Oh, thanks!

Differential Revision: https://reviews.llvm.org/D23765

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287999 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaExprCXX.cpp
test/SemaCXX/cxx11-crashes.cpp