summaryrefslogtreecommitdiff
path: root/dragonegg
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-07-29 02:32:28 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-07-29 02:32:28 +0000
commitbc83bd6ab07e26125d8f0c3e669f21e3ec5815f8 (patch)
tree9bc356eb09c84a06cae7d940a33e2de9bb2e8db4 /dragonegg
parent80076df943189dc4ce2a721772233ebffb9591cb (diff)
Debug.cpp: Update DW_TAG_subroutine_type corresponding to r214132.
Diffstat (limited to 'dragonegg')
-rw-r--r--dragonegg/src/Debug.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/dragonegg/src/Debug.cpp b/dragonegg/src/Debug.cpp
index 53ec507714d..36bd9c35c07 100644
--- a/dragonegg/src/Debug.cpp
+++ b/dragonegg/src/Debug.cpp
@@ -1,6 +1,6 @@
//===-------------- Debug.cpp - Debug information gathering ---------------===//
//
-// Copyright (C) 2005 to 2013 Jim Laskey, Duncan Sands et al.
+// Copyright (C) 2005 to 2014 Jim Laskey, Duncan Sands et al.
//
// This file is part of DragonEgg.
//
@@ -519,17 +519,16 @@ DIType DebugInfo::createMethodType(tree type) {
ProcessedFirstArg = true;
}
- llvm::DIArray EltTypeArray = Builder.getOrCreateArray(EltTys);
+ llvm::DITypeArray EltTypeArray = Builder.getOrCreateTypeArray(EltTys);
RegionStack.pop_back();
std::map<tree_node *, WeakVH>::iterator RI = RegionMap.find(type);
if (RI != RegionMap.end())
RegionMap.erase(RI);
- llvm::DIType RealType = CreateCompositeType(
- llvm::dwarf::DW_TAG_subroutine_type, findRegion(TYPE_CONTEXT(type)),
- StringRef(), getOrCreateFile(main_input_filename), 0, 0, 0, 0, 0,
- llvm::DIType(), EltTypeArray);
+ llvm::DIType RealType = Builder.createSubroutineType(
+ getOrCreateFile(main_input_filename),
+ EltTypeArray);
// Now that we have a real decl for the struct, replace anything using the
// old decl with the new one. This will recursively update the debug info.
@@ -1112,7 +1111,7 @@ DICompositeType DebugInfo::CreateCompositeType(
SizeInBits, AlignInBits, Elements,
DerivedFrom);
case dwarf::DW_TAG_subroutine_type:
- return Builder.createSubroutineType(F, Elements);
+ llvm_unreachable("DW_TAG_subroutine is not handled here.");
case dwarf::DW_TAG_class_type:
break;
}