]> granicus.if.org Git - clang/commitdiff
CIndex: Kill off CXSourceLocationPtr, and AtEnd arguments.
authorDaniel Dunbar <daniel@zuster.org>
Sun, 14 Feb 2010 01:47:36 +0000 (01:47 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Sun, 14 Feb 2010 01:47:36 +0000 (01:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96145 91177308-0d34-0410-b5e6-96231b3b80d8

tools/CIndex/CIndex.cpp
tools/CIndex/CXSourceLocation.h

index a8f9caec85c37fab59c871c9538f421250cae1ce..b7f028d8ae89f82fb6a3d192675013fc898cab62 100644 (file)
@@ -1201,7 +1201,7 @@ CXSourceLocation clang_getLocation(CXTranslationUnit tu,
                                         static_cast<const FileEntry *>(file), 
                                               line, column);
   
-  return cxloc::translateSourceLocation(CXXUnit->getASTContext(), SLoc, false);
+  return cxloc::translateSourceLocation(CXXUnit->getASTContext(), SLoc);
 }
 
 CXSourceRange clang_getNullRange() {
@@ -1224,11 +1224,9 @@ void clang_getInstantiationLocation(CXSourceLocation location,
                                     unsigned *line,
                                     unsigned *column,
                                     unsigned *offset) {
-  cxloc::CXSourceLocationPtr Ptr
-    = cxloc::CXSourceLocationPtr::getFromOpaqueValue(location.ptr_data[0]);
   SourceLocation Loc = SourceLocation::getFromRawEncoding(location.int_data);
 
-  if (!Ptr.getPointer() || Loc.isInvalid()) {
+  if (!location.ptr_data[0] || Loc.isInvalid()) {
     if (file)
       *file = 0;
     if (line)
@@ -1240,7 +1238,8 @@ void clang_getInstantiationLocation(CXSourceLocation location,
     return;
   }
 
-  const SourceManager &SM = *Ptr.getPointer();
+  const SourceManager &SM =
+    *static_cast<const SourceManager*>(location.ptr_data[0]);
   SourceLocation InstLoc = SM.getInstantiationLoc(Loc);
 
   if (file)
@@ -1260,10 +1259,7 @@ CXSourceLocation clang_getRangeStart(CXSourceRange range) {
 }
 
 CXSourceLocation clang_getRangeEnd(CXSourceRange range) {
-  cxloc::CXSourceLocationPtr Ptr;
-  Ptr.setPointer(static_cast<SourceManager *>(range.ptr_data[0]));
-  Ptr.setInt(true);
-  CXSourceLocation Result = { { Ptr.getOpaqueValue(), range.ptr_data[1] },
+  CXSourceLocation Result = { { range.ptr_data[0], range.ptr_data[1] },
                               range.end_int_data };
   return Result;
 }
index 95b774b24cc2b7ea31d5cfcc31de57574a6ab175..1efe4c6ee68972ebb96435f94c81762343cbe5a0 100644 (file)
@@ -25,27 +25,22 @@ namespace clang {
 class ASTContext;
 
 namespace cxloc {
-  
-typedef llvm::PointerIntPair<const SourceManager *, 1, bool> 
-  CXSourceLocationPtr;
 
 /// \brief Translate a Clang source location into a CIndex source location.
 static inline CXSourceLocation 
 translateSourceLocation(const SourceManager &SM, const LangOptions &LangOpts,
-                        SourceLocation Loc, bool AtEnd = false) {
-  CXSourceLocationPtr Ptr(&SM, AtEnd);
-  CXSourceLocation Result = { { Ptr.getOpaqueValue(), (void *)&LangOpts, },
+                        SourceLocation Loc) {
+  CXSourceLocation Result = { { (void*) &SM, (void*) &LangOpts, },
                               Loc.getRawEncoding() };
   return Result;
 }
   
 /// \brief Translate a Clang source location into a CIndex source location.
 static inline CXSourceLocation translateSourceLocation(ASTContext &Context,
-                                                       SourceLocation Loc,
-                                                       bool AtEnd = false) {
-  return translateSourceLocation(Context.getSourceManager(), 
+                                                       SourceLocation Loc) {
+  return translateSourceLocation(Context.getSourceManager(),
                                  Context.getLangOptions(),
-                                 Loc, AtEnd);
+                                 Loc);
 }
 
 /// \brief Translate a Clang source range into a CIndex source range.