OSDN Git Service

IR: Document horrible abuse of loose DIDescriptor, NFC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 9 Feb 2015 21:26:34 +0000 (21:26 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 9 Feb 2015 21:26:34 +0000 (21:26 +0000)
I'll circle back and fix this somehow; for now I just don't want to
forget about it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228608 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/DebugInfo.h

index fd8ed81..d2a5fb2 100644 (file)
@@ -691,6 +691,8 @@ class DILexicalBlockFile : public DIScope {
 public:
   explicit DILexicalBlockFile(const MDNode *N = nullptr) : DIScope(N) {}
   DIScope getContext() const {
+    // FIXME: This logic is horrible.  getScope() returns a DILexicalBlock, but
+    // then we check if it's a subprogram?  WHAT?!?
     if (getScope().isSubprogram())
       return getScope();
     return getScope().getContext();