summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
index 852eda14d86..d37dcf27378 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
@@ -1807,14 +1807,15 @@ void DwarfUnit::constructContainingTypeDIEs() {
/// constructVariableDIE - Construct a DIE for the given DbgVariable.
std::unique_ptr<DIE> DwarfUnit::constructVariableDIE(DbgVariable &DV,
- bool isScopeAbstract) {
- auto D = constructVariableDIEImpl(DV, isScopeAbstract);
+ AbstractOrInlined AbsIn) {
+ auto D = constructVariableDIEImpl(DV, AbsIn);
DV.setDIE(*D);
return D;
}
-std::unique_ptr<DIE> DwarfUnit::constructVariableDIEImpl(const DbgVariable &DV,
- bool isScopeAbstract) {
+std::unique_ptr<DIE>
+DwarfUnit::constructVariableDIEImpl(const DbgVariable &DV,
+ AbstractOrInlined AbsIn) {
StringRef Name = DV.getName();
// Define variable debug information entry.
@@ -1830,10 +1831,10 @@ std::unique_ptr<DIE> DwarfUnit::constructVariableDIEImpl(const DbgVariable &DV,
addType(*VariableDie, DV.getType());
}
- if (DV.isArtificial())
+ if (AbsIn != AOI_Inlined && DV.isArtificial())
addFlag(*VariableDie, dwarf::DW_AT_artificial);
- if (isScopeAbstract)
+ if (AbsIn == AOI_Abstract)
return VariableDie;
// Add variable address.
OpenPOWER on IntegriCloud