IR: Document horrible abuse of loose DIDescriptor, NFC

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
This commit is contained in:
Duncan P. N. Exon Smith 2015-02-09 21:26:34 +00:00
parent e36616decc
commit edbd61d999

View 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();