diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-07-29 02:32:28 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-07-29 02:32:28 +0000 |
commit | bc83bd6ab07e26125d8f0c3e669f21e3ec5815f8 (patch) | |
tree | 9bc356eb09c84a06cae7d940a33e2de9bb2e8db4 /dragonegg | |
parent | 80076df943189dc4ce2a721772233ebffb9591cb (diff) |
Debug.cpp: Update DW_TAG_subroutine_type corresponding to r214132.
Diffstat (limited to 'dragonegg')
-rw-r--r-- | dragonegg/src/Debug.cpp | 13 |
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; } |