There are a number of users of the clang static analyser back-end for 
intelligent code completion. Irony-Mode for emacs, for example. For a while 
people have been reporting an issue with not getting completions for protected 
members of parent classes and I believe this patch solves the bug: simply that 
the arguments to IsDerivedFromInclusive were the wrong way around.

URL: http://llvm.org/svn/llvm-project/cfe/trunk/lib/Sema
Relative URL: ^/cfe/trunk/lib/Sema

Index: SemaAccess.cpp
===================================================================
--- SemaAccess.cpp      (revision 297956)
+++ SemaAccess.cpp   (working copy)
@@ -823,7 +823,7 @@
         continue;
       }
-      switch (IsDerivedFromInclusive(InstanceContext, ECRecord)) {
+      switch (IsDerivedFromInclusive(ECRecord, InstanceContext)) {
       case AR_accessible: return AR_accessible;
       case AR_inaccessible: continue;
       case AR_dependent: OnFailure = AR_dependent; continue;

Thank you.

Attachment: SemaAccessBug.diff
Description: SemaAccessBug.diff

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to