diff options
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp index e499d2c8bf..99b6bfc5f3 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp @@ -613,15 +613,14 @@ DIE *CompileUnit::getOrCreateTypeDIE(const MDNode *TyNode) { bool IsImplementation = 0; if (Ty.isCompositeType()) { DICompositeType CT(Ty); + // A runtime language of 0 actually means C/C++ and that any + // non-negative value is some version of Objective-C/C++. IsImplementation = (CT.getRunTimeLang() == 0) || CT.isObjcClassComplete();; } - - addAccelType(Ty.getName(), - std::make_pair(TyDIE, - (IsImplementation ? - DwarfAccelTable::eTypeFlagClassIsImplementation : - 0))); + unsigned Flags = IsImplementation ? + DwarfAccelTable::eTypeFlagClassIsImplementation : 0; + addAccelType(Ty.getName(), std::make_pair(TyDIE, Flags)); } addToContextOwner(TyDIE, Ty.getContext()); |