[PATCH] D20500: [ms] Allow more unqualified lookup of types in dependent base classes

Richard Smith via cfe-commits cfe-commits at lists.llvm.org
Mon May 23 12:37:45 PDT 2016


rsmith added inline comments.

================
Comment at: include/clang/Sema/Sema.h:1536-1537
@@ -1535,3 +1535,4 @@
   /// other template arguments.
   ParsedType ActOnDelayedDefaultTemplateArg(const IdentifierInfo &II,
                                             SourceLocation NameLoc);
+  ParsedType ActOnMSVCUnknownTypeName(const IdentifierInfo &II,
----------------
Can you remove this now, along with the corresponding recovery path in the parser? The new recovery path seems like it should be able to cover a superset of cases.

================
Comment at: lib/Sema/SemaDecl.cpp:524-527
@@ +523,6 @@
+
+  const CXXRecordDecl *RD =
+      findRecordWithDependentBasesOfEnclosingMethod(CurContext);
+  if (!RD)
+    return ParsedType();
+
----------------
Instead of doing this, could you `synthesizeCurrentNestedNameSpecifier` as `ActOnDelayedDefaultTemplateArg` does, and just check for the existence of a dependent base class here? That way you should do the right thing even if there are multiple dependent base classes.


http://reviews.llvm.org/D20500





More information about the cfe-commits mailing list