Feel free to land with fixes.
================
Comment at: lib/Sema/SemaDecl.cpp:155-156
@@ -154,10 +154,4 @@
continue;
- auto *BasePrimaryTemplate = cast<CXXRecordDecl>(TD->getTemplatedDecl());
- // FIXME: Allow lookup into non-dependent bases of dependent bases,
possibly
- // by calling or integrating with the main LookupQualifiedName mechanism.
- for (NamedDecl *ND : BasePrimaryTemplate->lookup(&II)) {
- if (FoundTypeDecl)
- return ParsedType();
- FoundTypeDecl = isa<TypeDecl>(ND);
- if (!FoundTypeDecl)
- return ParsedType();
+ if (CXXRecordDecl *BasePrimaryTemplate =
+ dyn_cast_or_null<CXXRecordDecl>(TD->getTemplatedDecl())) {
+ // FIXME: Allow lookup into non-dependent bases of dependent bases,
possibly
----------------
I think this change can just be s/cast/dyn_cast_or_null/ and inserting "if
(!BasePrimaryTemplate) continue;"
================
Comment at: test/SemaTemplate/ms-lookup-template-base-classes.cpp:468-470
@@ +467,5 @@
+{
+ void bar() {
+ foo();
+ }
+};
----------------
These 'foo' identifiers are getting delayed by ADL because they are function
calls. I would try to use an unqualified name to try to declare a member, since
I believe only a type can occur there.
http://reviews.llvm.org/D4992
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits