================
Comment at: lib/Sema/SemaExpr.cpp:1940
@@ +1939,3 @@
+                               const TemplateArgumentListInfo *TemplateArgs) {
+  CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(DC);
+
----------------
David Majnemer wrote:
> auto?
done

================
Comment at: lib/Sema/SemaExpr.cpp:1949
@@ +1948,3 @@
+  SourceLocation Loc = NameInfo.getLoc();
+  unsigned DI = diag::warn_found_via_dependent_bases_lookup;
+  DiagnosticBuilder DB = S.Diag(Loc, DI) << NameInfo.getName();
----------------
Richard Smith wrote:
> This diagnostic seems inappropriate: it says the member was "found by lookup 
> into dependent bases", but we don't know that. All we know is it wasn't found 
> by normal lookup. Maybe rephrase it to only suggest that the name was not 
> found by normal lookup?
What do you think of this diagnostic text?
  warning: use of undeclared identifier 'StartWindowProc'; lookup into 
dependent bases of class template 'Derived' is a Microsoft extension
I'm trying to make it phrase well for -pedantic-errors.

================
Comment at: lib/Sema/SemaExpr.cpp:1952
@@ +1951,3 @@
+
+  if (MD->isInstance()) {
+    DB << FixItHint::CreateInsertion(Loc, "this->");
----------------
Richard Smith wrote:
> This isn't exactly correct. You should also check `S.CXXThisTypeOverride`; if 
> that's set, then member accesses with `this->` are OK even though we're not 
> in a member function. (This happens when parsing a trailing return type or 
> default initializer.)
I wasn't trying to be this general, but I went ahead and implemented it with 
some extra tests.

http://reviews.llvm.org/D4079



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to