[cfe-commits] r80896 - in /cfe/trunk: include/clang-c/Index.h include/clang/Frontend/ASTUnit.h lib/Frontend/ASTUnit.cpp tools/CIndex/CIndex.cpp tools/CIndex/CIndex.exports tools/c-index-test/c-index-test.c

Daniel Dunbar daniel at zuster.org
Wed Sep 2 22:59:50 PDT 2009


Author: ddunbar
Date: Thu Sep  3 00:59:50 2009
New Revision: 80896

URL: http://llvm.org/viewvc/llvm-project?rev=80896&view=rev
Log:
Revert "Visit function/method bodies and issue callback for parameters and local
variables.", this is breaking x86_64-apple-darwin10 and Linux tests.

Modified:
    cfe/trunk/include/clang-c/Index.h
    cfe/trunk/include/clang/Frontend/ASTUnit.h
    cfe/trunk/lib/Frontend/ASTUnit.cpp
    cfe/trunk/tools/CIndex/CIndex.cpp
    cfe/trunk/tools/CIndex/CIndex.exports
    cfe/trunk/tools/c-index-test/c-index-test.c

Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=80896&r1=80895&r2=80896&view=diff

==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Thu Sep  3 00:59:50 2009
@@ -95,8 +95,6 @@
   CXIndex, const char *ast_filename
 );
 
-const char *clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit);
-
 /*
    Usage: clang_loadTranslationUnit(). Will load the toplevel declarations
    within a translation unit, issuing a 'callback' for each one.

Modified: cfe/trunk/include/clang/Frontend/ASTUnit.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/ASTUnit.h?rev=80896&r1=80895&r2=80896&view=diff

==============================================================================
--- cfe/trunk/include/clang/Frontend/ASTUnit.h (original)
+++ cfe/trunk/include/clang/Frontend/ASTUnit.h Thu Sep  3 00:59:50 2009
@@ -28,7 +28,6 @@
   class Preprocessor;
   class ASTContext;
   class Decl;
-  class PCHReader;
 
 /// \brief Utility class for loading a ASTContext from a PCH file.
 ///
@@ -40,7 +39,6 @@
   llvm::OwningPtr<TargetInfo>       Target;
   llvm::OwningPtr<Preprocessor>     PP;
   llvm::OwningPtr<ASTContext>       Ctx;
-  llvm::OwningPtr<PCHReader>        Reader;
 
   ASTUnit(const ASTUnit&); // do not implement
   ASTUnit &operator=(const ASTUnit &); // do not implement
@@ -61,8 +59,6 @@
   const Diagnostic &getDiagnostic() const { return *Diags.get(); }
         Diagnostic &getDiagnostic()       { return *Diags.get(); }
 
-  const std::string &getOriginalSourceFileName();
-
   /// \brief Create a ASTUnit from a PCH file.
   ///
   /// \param Filename PCH filename

Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=80896&r1=80895&r2=80896&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/ASTUnit.cpp (original)
+++ cfe/trunk/lib/Frontend/ASTUnit.cpp Thu Sep  3 00:59:50 2009
@@ -77,9 +77,6 @@
 
 } // anonymous namespace
 
-const std::string &ASTUnit::getOriginalSourceFileName() {
-  return Reader->getOriginalSourceFile();
-}
 
 ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename,
                                   FileManager &FileMgr,
@@ -104,11 +101,10 @@
   std::string Predefines;
   unsigned Counter;
 
-  llvm::OwningPtr<PCHReader>        Reader;
+  llvm::OwningPtr<PCHReader> Reader;
   llvm::OwningPtr<ExternalASTSource> Source;
 
   Reader.reset(new PCHReader(SourceMgr, FileMgr, Diags));
-  AST->Reader.reset(Reader.get());
   Reader->setListener(new PCHInfoCollector(LangInfo, HeaderInfo, TargetTriple,
                                            Predefines, Counter));
 

Modified: cfe/trunk/tools/CIndex/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CIndex/CIndex.cpp?rev=80896&r1=80895&r2=80896&view=diff

==============================================================================
--- cfe/trunk/tools/CIndex/CIndex.cpp (original)
+++ cfe/trunk/tools/CIndex/CIndex.cpp Thu Sep  3 00:59:50 2009
@@ -67,9 +67,6 @@
         break;
     }
   }
-  void VisitVarDecl(VarDecl *ND) {
-    Call(CXCursor_VarDecl, ND);
-  }
   void VisitFunctionDecl(FunctionDecl *ND) {
     Call(ND->isThisDeclarationADefinition() ? CXCursor_FunctionDefn
                                             : CXCursor_FunctionDecl, ND);
@@ -98,9 +95,6 @@
   CXClientData CData;
   
   void Call(enum CXCursorKind CK, NamedDecl *ND) {
-    // Disable the callback when the context is equal to the visiting decl.
-    if (CDecl == ND)
-      return;
     CXCursor C = { CK, ND };
     Callback(CDecl, C, CData);
   }
@@ -135,28 +129,17 @@
   void VisitFieldDecl(FieldDecl *ND) {
     Call(CXCursor_FieldDecl, ND);
   }
-  void VisitVarDecl(VarDecl *ND) {
-    Call(CXCursor_VarDecl, ND);
-  }
-  void VisitParmVarDecl(ParmVarDecl *ND) {
-    Call(CXCursor_ParmDecl, ND);
-  }
   void VisitObjCPropertyDecl(ObjCPropertyDecl *ND) {
     Call(CXCursor_ObjCPropertyDecl, ND);
   }
   void VisitObjCIvarDecl(ObjCIvarDecl *ND) {
     Call(CXCursor_ObjCIvarDecl, ND);
   }
-  void VisitFunctionDecl(FunctionDecl *ND) {
-    if (ND->isThisDeclarationADefinition()) {
-      VisitDeclContext(dyn_cast<DeclContext>(ND));
-    }
-  }
   void VisitObjCMethodDecl(ObjCMethodDecl *ND) {
     if (ND->getBody()) {
       Call(ND->isInstanceMethod() ? CXCursor_ObjCInstanceMethodDefn
                                   : CXCursor_ObjCClassMethodDefn, ND);
-      VisitDeclContext(dyn_cast<DeclContext>(ND));
+      // FIXME: load body.
     } else
       Call(ND->isInstanceMethod() ? CXCursor_ObjCInstanceMethodDecl
                                   : CXCursor_ObjCClassMethodDecl, ND);
@@ -184,12 +167,6 @@
   return ASTUnit::LoadFromPCHFile(astName, CXXIdx->getFileManager(), &ErrMsg);
 }
 
-const char *clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit) 
-{
-  assert(CTUnit && "Passed null CXTranslationUnit");
-  ASTUnit *CXXUnit = static_cast<ASTUnit *>(CTUnit);
-  return CXXUnit->getOriginalSourceFileName().c_str();
-}
 
 void clang_loadTranslationUnit(CXTranslationUnit CTUnit, 
                                CXTranslationUnitIterator callback,

Modified: cfe/trunk/tools/CIndex/CIndex.exports
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CIndex/CIndex.exports?rev=80896&r1=80895&r2=80896&view=diff

==============================================================================
--- cfe/trunk/tools/CIndex/CIndex.exports (original)
+++ cfe/trunk/tools/CIndex/CIndex.exports Thu Sep  3 00:59:50 2009
@@ -19,4 +19,3 @@
 _clang_isDefinition
 _clang_getCursorSpelling
 _clang_getCursorKindSpelling
-_clang_getTranslationUnitSpelling

Modified: cfe/trunk/tools/c-index-test/c-index-test.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/c-index-test/c-index-test.c?rev=80896&r1=80895&r2=80896&view=diff

==============================================================================
--- cfe/trunk/tools/c-index-test/c-index-test.c (original)
+++ cfe/trunk/tools/c-index-test/c-index-test.c Thu Sep  3 00:59:50 2009
@@ -3,27 +3,25 @@
 #include "clang-c/Index.h"
 #include <stdio.h>
 
-static void PrintCursor(CXCursor Cursor) {
-  printf("%s => %s", clang_getCursorKindSpelling(Cursor.kind),
-                     clang_getCursorSpelling(Cursor));
-  printf(" (%s,%d:%d)\n", clang_getCursorSource(Cursor),
-                          clang_getCursorLine(Cursor),
-                          clang_getCursorColumn(Cursor));
-}
-
 static void DeclVisitor(CXDecl Dcl, CXCursor Cursor, CXClientData Filter) 
 {
-  printf("%s: ", clang_getDeclSpelling(Dcl));
-  if (!Filter || (Cursor.kind == *(enum CXCursorKind *)Filter))
-    PrintCursor(Cursor);
+  if (!Filter || (Cursor.kind == *(enum CXCursorKind *)Filter)) {
+    printf("%s => %s", clang_getCursorKindSpelling(Cursor.kind),
+                       clang_getCursorSpelling(Cursor));
+    printf(" (%s,%d:%d)\n", clang_getCursorSource(Cursor),
+                            clang_getCursorLine(Cursor),
+                            clang_getCursorColumn(Cursor));
+  }
 }
-
 static void TranslationUnitVisitor(CXTranslationUnit Unit, CXCursor Cursor,
                                    CXClientData Filter) 
 {
-  printf("%s: ", clang_getTranslationUnitSpelling(Unit));
   if (!Filter || (Cursor.kind == *(enum CXCursorKind *)Filter)) {
-    PrintCursor(Cursor);
+    printf("%s => %s", clang_getCursorKindSpelling(Cursor.kind),
+                       clang_getCursorSpelling(Cursor));
+    printf(" (%s,%d:%d)\n", clang_getCursorSource(Cursor),
+                            clang_getCursorLine(Cursor),
+                            clang_getCursorColumn(Cursor));
 
     clang_loadDeclaration(Cursor.decl, DeclVisitor, 0);
   }





More information about the cfe-commits mailing list