Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h =================================================================== --- lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h +++ lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h @@ -90,14 +90,9 @@ int &decl_line, int &decl_column, int &call_file, int &call_line, int &call_column, lldb_private::DWARFExpression *frame_base) const; + /// The range of all the children of this DIE. - /// - /// This is a template just because child_iterator is not completely defined - /// at this point. - template - llvm::iterator_range children() const { - return llvm::make_range(T(*this), T()); - } + llvm::iterator_range children() const; }; class DWARFDIE::child_iterator @@ -133,4 +128,9 @@ } }; +inline llvm::iterator_range +DWARFDIE::children() const { + return llvm::make_range(child_iterator(*this), child_iterator()); +} + #endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDIE_H