OSDN Git Service

Do not rely on context to find file info. It is already provided as a separate field.
authorDevang Patel <dpatel@apple.com>
Thu, 28 Oct 2010 19:14:28 +0000 (19:14 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 28 Oct 2010 19:14:28 +0000 (19:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117577 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DebugInfo.h

index 1c1b595..3bd0943 100644 (file)
@@ -582,8 +582,14 @@ namespace llvm {
     explicit DINameSpace(const MDNode *N = 0) : DIScope(N) {}
     DIScope getContext() const     { return getFieldAs<DIScope>(1);      }
     StringRef getName() const      { return getStringField(2);           }
-    StringRef getDirectory() const { return getContext().getDirectory(); }
-    StringRef getFilename() const  { return getContext().getFilename();  }
+    StringRef getDirectory() const  { 
+        DIFile F = getFieldAs<DIFile>(3);
+        return F.getDirectory();
+    }
+    StringRef getFilename() const  { 
+        DIFile F = getFieldAs<DIFile>(3);
+        return F.getFilename();
+    }
     DICompileUnit getCompileUnit() const{ 
       if (getVersion() == llvm::LLVMDebugVersion7)
         return getFieldAs<DICompileUnit>(3);