[cfe-dev] CFRefCount compile failure

David Chisnall csdavec at swansea.ac.uk
Sat May 3 09:13:17 PDT 2008


As of the latest svn, CFRefCount no longer compiles, complaining that  
the left side of a -> is a non-pointer type.  This patch appears to  
fix it (although I only checked it compiles, not that it works, so  
please review carefully):

Index: lib/Analysis/CFRefCount.cpp
===================================================================
--- lib/Analysis/CFRefCount.cpp	(revision 50606)
+++ lib/Analysis/CFRefCount.cpp	(working copy)
@@ -1731,8 +1731,8 @@

      // Determine if there is an LVal binding to the symbol.
      for (ValueState::vb_iterator I=St->vb_begin(), E=St->vb_end(); I! 
=E; ++I) {
-      if (!isa<lval::SymbolVal>(I->second)  // Is the value a symbol?
-          || cast<lval::SymbolVal>(I->second).getSymbol() != Sym)
+      if (!isa<lval::SymbolVal>((*I).second)  // Is the value a symbol?
+          || cast<lval::SymbolVal>((*I).second).getSymbol() != Sym)
          continue;

        if (VD) {  // Multiple decls map to this symbol.
@@ -1740,7 +1740,7 @@
          break;
        }

-      VD = I->first;
+      VD = (*I).first;
      }

      if (VD) FirstDecl = VD;




More information about the cfe-dev mailing list