[PATCH] Fix for crash due to g++.old-deja/g++.other/using3.C

Richard Smith richard at metafoo.co.uk
Tue Apr 29 19:10:45 PDT 2014


Please commit the patch as-is, I'd like to get the crash fix in first before worrying about getting better typo correction. Let me know if you need me to commit this for you.

================
Comment at: lib/Sema/SemaDeclCXX.cpp:7335-7337
@@ -7329,4 +7334,5 @@
+
     if (RequireMember && !isa<FieldDecl>(ND) && !isa<CXXMethodDecl>(ND) &&
         !isa<TypeDecl>(ND))
       return false;
 
----------------
Dinesh Dwivedi wrote:
> Richard Smith wrote:
> > Is this still necessary?
> yes, I have added one test case which fails if we comment these lines. I have kept these lines so that my change just filter out non class member if RequiredMember is true but should not add any other type of class member which it was not considering before my changes.
I think your testcase shows that these lines are in fact incorrect -- if the function template were in a base class, rather than in an unrelated class, typo correction *should* find it.

http://reviews.llvm.org/D3051






More information about the cfe-commits mailing list