[Lldb-commits] [PATCH] D46810: 3/3: Fix DWARFUnit::GetUnitDIEPtrOnly stale pointer
labath added a comment. +1 for the cleanup. The `m_die_array_size` function is just weird Comment at: source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:312 void DWARFUnit::ClearDIEs(bool keep_compile_unit_die) { + m_die_array.clear(); You are ignoring the keep_compile_unit_die argument here. Is that intentional? (I would be fine with not being able to clear the unit die, but if we got that way, then we should remove this argument altogether.) https://reviews.llvm.org/D46810 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D46810: 3/3: Fix DWARFUnit::GetUnitDIEPtrOnly stale pointer
jankratochvil added inline comments. Comment at: source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:312 void DWARFUnit::ClearDIEs(bool keep_compile_unit_die) { + m_die_array.clear(); labath wrote: > You are ignoring the keep_compile_unit_die argument here. Is that > intentional? (I would be fine with not being able to clear the unit die, but > if we got that way, then we should remove this argument altogether.) I did not notice, true. But there is no caller of `ClearDIEs(false)` anyway. And with `m_first_die` it has even no longer any benefit to clear even the first DIE. https://reviews.llvm.org/D46810 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47302: [lldb, lldb-mi] Add method AddCurrentTargetSharedObjectPath to the SBDebugger.
labath added a comment. In https://reviews.llvm.org/D47302#641, @clayborg wrote: > Be sure to not pass through any experimental settings. About that, do we want to have some non-api breaking way of accessing the settings (like, `SBSomething GetSetting(std::string setting_name)`). This could be either an addition to the accessors for specific settings or even the only way of accessing the settings. In the former case, it would take the pressure off of adding a specific API for a setting we're not sure we want to keep. In the latter case, it would enable us to add/remove settings pretty much as we want without impacting api signature in anyway. Though, I guess it's arguable whether that would be doing anyone a favour as it would likely just replace a link error with a random runtime failure. (I have no opinion whether we should do this or not, just throwing the idea out there.) Repository: rL LLVM https://reviews.llvm.org/D47302 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47235: Move ModuleList's dependency on clangDriver into Host
labath added a comment. Moving the assertion into `ClangModulesDeclVendor` seems like a good idea to me. If that's the only place that actually requires the value to be non-empty, then it should be the thing asserting it (we can put a helpful message in the assert statement telling the user what he needs to do). But, we need to be careful there to make sure that the user cannot trip that assertion by manually setting the value of the setting to "". **However**, what would be an even better idea in my mind is to completely move the setting into the ClangExpressionParser plugin. I don't want to sound like a broken record, but I feel like noone has responded to that proposal of mine, positively or negatively. I'll try to elaborate on it more. I think this could be modelled the same way as SymbolFileDWARF injects the `plugin.symbol-file.dwarf.comp-dir-symlink-paths` setting. The flow there is: - SystemInitializerFull calls SymbolFileDWARF::Initialize - SymbolFileDWARF::Initialize calls PluginManager::RegisterPlugin, passing it a DebuggerInitialize function - when a Debugger object is created, it calls PluginManager::DebuggerInitialize (from Debugger::InstanceInitialize) - PluginManager::DebuggerInitialize calls SymbolFileDWARF::Initialize, passing it the debugger instance - SymbolFileDWARF::Initialize calls PluginManager::CreateSettingForSymbolFilePlugin which creates the actual setting - finally, when SymbolFileDWARF wants to read the setting it calls SymbolFileDWARF::GetGlobalPluginProperties()->GetSymLinkPaths() this is all very enterprise-y, but it allows us to keep the knowledge of the comp-dir-symlink-paths setting (even it's existence) completely hidden inside the plugin, which I think is what this discussion was all about in the first place. So my question is, is there a reason a flow like this would not work for this setting as well? https://reviews.llvm.org/D47235 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r333264 - ManualDWARFIndex: reduce long parameter lists
Author: labath Date: Fri May 25 02:55:51 2018 New Revision: 333264 URL: http://llvm.org/viewvc/llvm-project?rev=333264&view=rev Log: ManualDWARFIndex: reduce long parameter lists Several functions were passing a list of 8 NameToDIE arguments around. This puts those variables in a struct and passes that instead, reducing code duplication and the possibility of error (swapping two arguments accidentally). Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp?rev=333264&r1=333263&r2=333264&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp Fri May 25 02:55:51 2018 @@ -36,26 +36,15 @@ void ManualDWARFIndex::Index() { if (num_compile_units == 0) return; - std::vector function_basenames(num_compile_units); - std::vector function_fullnames(num_compile_units); - std::vector function_methods(num_compile_units); - std::vector function_selectors(num_compile_units); - std::vector objc_class_selectors(num_compile_units); - std::vector globals(num_compile_units); - std::vector types(num_compile_units); - std::vector namespaces(num_compile_units); + std::vector sets(num_compile_units); // std::vector might be implemented using bit test-and-set, so use // uint8_t instead. std::vector clear_cu_dies(num_compile_units, false); auto parser_fn = [&](size_t cu_idx) { DWARFUnit *dwarf_cu = debug_info.GetCompileUnitAtIndex(cu_idx); -if (dwarf_cu) { - IndexUnit(*dwarf_cu, function_basenames[cu_idx], -function_fullnames[cu_idx], function_methods[cu_idx], -function_selectors[cu_idx], objc_class_selectors[cu_idx], -globals[cu_idx], types[cu_idx], namespaces[cu_idx]); -} +if (dwarf_cu) + IndexUnit(*dwarf_cu, sets[cu_idx]); }; auto extract_fn = [&debug_info, &clear_cu_dies](size_t cu_idx) { @@ -85,21 +74,21 @@ void ManualDWARFIndex::Index() { TaskMapOverInt(0, num_compile_units, parser_fn); - auto finalize_fn = [](NameToDIE &index, std::vector &srcs) { -for (auto &src : srcs) - index.Append(src); -index.Finalize(); + auto finalize_fn = [this, &sets](NameToDIE(IndexSet::*index)) { +NameToDIE &result = m_set.*index; +for (auto &set : sets) + result.Append(set.*index); +result.Finalize(); }; - TaskPool::RunTasks( - [&]() { finalize_fn(m_function_basenames, function_basenames); }, - [&]() { finalize_fn(m_function_fullnames, function_fullnames); }, - [&]() { finalize_fn(m_function_methods, function_methods); }, - [&]() { finalize_fn(m_function_selectors, function_selectors); }, - [&]() { finalize_fn(m_objc_class_selectors, objc_class_selectors); }, - [&]() { finalize_fn(m_globals, globals); }, - [&]() { finalize_fn(m_types, types); }, - [&]() { finalize_fn(m_namespaces, namespaces); }); + TaskPool::RunTasks([&]() { finalize_fn(&IndexSet::function_basenames); }, + [&]() { finalize_fn(&IndexSet::function_fullnames); }, + [&]() { finalize_fn(&IndexSet::function_methods); }, + [&]() { finalize_fn(&IndexSet::function_selectors); }, + [&]() { finalize_fn(&IndexSet::objc_class_selectors); }, + [&]() { finalize_fn(&IndexSet::globals); }, + [&]() { finalize_fn(&IndexSet::types); }, + [&]() { finalize_fn(&IndexSet::namespaces); }); //-- // Keep memory down by clearing DIEs for any compile units if indexing @@ -111,13 +100,7 @@ void ManualDWARFIndex::Index() { } } -void ManualDWARFIndex::IndexUnit(DWARFUnit &unit, NameToDIE &func_basenames, - NameToDIE &func_fullnames, - NameToDIE &func_methods, - NameToDIE &func_selectors, - NameToDIE &objc_class_selectors, - NameToDIE &globals, NameToDIE &types, - NameToDIE &namespaces) { +void ManualDWARFIndex::IndexUnit(DWARFUnit &unit, IndexSet &set) { Log *log = LogChannelDWARF::GetLogIfAll(DWARF_LOG_LOOKUPS); if (log) { @@ -129,26 +112,19 @@ void ManualDWARFIndex::IndexUnit(DWARFUn const LanguageType cu_language = unit.GetLanguageType(); DWARFFormValue::FixedFormSizes fixed_form_sizes = unit.GetFixedFormSizes(); - IndexUnitImpl(unit, cu_language, fixed_form_sizes, unit.GetOffset(), -func_basenames, func_fullnames, func_meth
[Lldb-commits] [lldb] r333266 - ManualDWARFIndex: Fix misclassification of methods in unions
Author: labath Date: Fri May 25 03:49:11 2018 New Revision: 333266 URL: http://llvm.org/viewvc/llvm-project?rev=333266&view=rev Log: ManualDWARFIndex: Fix misclassification of methods in unions Apple index was already treating them as methods. Not doing the same seems like an omission. Added: lldb/trunk/lit/SymbolFile/DWARF/find-method.cpp Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.h lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp Added: lldb/trunk/lit/SymbolFile/DWARF/find-method.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/SymbolFile/DWARF/find-method.cpp?rev=333266&view=auto == --- lldb/trunk/lit/SymbolFile/DWARF/find-method.cpp (added) +++ lldb/trunk/lit/SymbolFile/DWARF/find-method.cpp Fri May 25 03:49:11 2018 @@ -0,0 +1,31 @@ +// REQUIRES: lld + +// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux +// RUN: ld.lld %t.o -o %t +// RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \ +// RUN: FileCheck %s +// +// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx +// RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \ +// RUN: FileCheck %s + +// CHECK-DAG: name = "A::foo()", mangled = "_ZN1A3fooEv" +// CHECK-DAG: name = "B::foo()", mangled = "_ZN1B3fooEv" +// CHECK-DAG: name = "C::foo()", mangled = "_ZN1C3fooEv" + +struct A { + void foo(); +}; +void A::foo() {} + +class B { + void foo(); +}; +void B::foo() {} + +union C { + void foo(); +}; +void C::foo() {} + +extern "C" void _start() {} Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp?rev=333266&r1=333265&r2=333266&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp Fri May 25 03:49:11 2018 @@ -209,9 +209,10 @@ DWARFDIE::GetParentDeclContextDIE() cons return DWARFDIE(); } -bool DWARFDIE::IsStructOrClass() const { +bool DWARFDIE::IsStructClassOrUnion() const { const dw_tag_t tag = Tag(); - return tag == DW_TAG_class_type || tag == DW_TAG_structure_type; + return tag == DW_TAG_class_type || tag == DW_TAG_structure_type || + tag == DW_TAG_union_type; } DWARFDIE Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.h?rev=333266&r1=333265&r2=333266&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.h (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDIE.h Fri May 25 03:49:11 2018 @@ -19,7 +19,7 @@ public: //-- // Tests //-- - bool IsStructOrClass() const; + bool IsStructClassOrUnion() const; //-- // Accessors Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp?rev=333266&r1=333265&r2=333266&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp Fri May 25 03:49:11 2018 @@ -290,16 +290,15 @@ void ManualDWARFIndex::IndexUnitImpl( const DWARFDebugInfoEntry *parent = die.GetParent(); bool is_method = false; if (parent) { -dw_tag_t parent_tag = parent->Tag(); -if (parent_tag == DW_TAG_class_type || -parent_tag == DW_TAG_structure_type) { +DWARFDIE parent_die(&unit, parent); +if (parent_die.IsStructClassOrUnion()) is_method = true; -} else { +else { if (specification_die_form.IsValid()) { DWARFDIE specification_die = unit.GetSymbolFileDWARF()->DebugInfo()->GetDIE( DIERef(specification_die_form)); -if (specification_die.GetParent().IsStructOrClass()) +if (specification_die.GetParent().IsStructClassOrUnion()) is_method = true; } } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47368: ManualDWARFIndex: Treat DW_TAG_subprogram and DW_TAG_inlined_subroutine the same way
labath created this revision. labath added reviewers: clayborg, JDevlieghere. Herald added a subscriber: eraman. We were treating subprograms and inlined subroutines differently when building the index. The difference was in which indexes were individual tags inserted (subprograms went to all indexes, where as inlined subroutines only into the basename and full name indexes). This seems like an error, because an inlined subroutine can still represent an C++ or an ObjC method. I don't see anything in the subprogram branch which should not apply to an inlined subroutine, so I propose to just treat them identically. This makes searching for an inlined method behave the same way as for the apple index. I write an assembly-based test because I did not want to depend on particular clang inlining behavior (and because I wanted to see how hard would it be). https://reviews.llvm.org/D47368 Files: lit/SymbolFile/DWARF/find-inline-method.s lit/SymbolFile/DWARF/lit.local.cfg source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp Index: source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp === --- source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp +++ source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp @@ -256,6 +256,7 @@ } switch (tag) { +case DW_TAG_inlined_subroutine: case DW_TAG_subprogram: if (has_address) { if (name) { @@ -330,28 +331,6 @@ } break; -case DW_TAG_inlined_subroutine: - if (has_address) { -if (name) - set.function_basenames.Insert(ConstString(name), -DIERef(cu_offset, die.GetOffset())); -if (mangled_cstr) { - // Make sure our mangled name isn't the same string table entry as - // our name. If it starts with '_', then it is ok, else compare the - // string to make sure it isn't the same and we don't end up with - // duplicate entries - if (name && name != mangled_cstr && - ((mangled_cstr[0] == '_') || - (::strcmp(name, mangled_cstr) != 0))) { -set.function_fullnames.Insert(ConstString(mangled_cstr), - DIERef(cu_offset, die.GetOffset())); - } -} else - set.function_fullnames.Insert(ConstString(name), -DIERef(cu_offset, die.GetOffset())); - } - break; - case DW_TAG_array_type: case DW_TAG_base_type: case DW_TAG_class_type: Index: lit/SymbolFile/DWARF/lit.local.cfg === --- lit/SymbolFile/DWARF/lit.local.cfg +++ lit/SymbolFile/DWARF/lit.local.cfg @@ -1 +1 @@ -config.suffixes = ['.cpp'] +config.suffixes = ['.cpp', '.s'] Index: lit/SymbolFile/DWARF/find-inline-method.s === --- /dev/null +++ lit/SymbolFile/DWARF/find-inline-method.s @@ -0,0 +1,152 @@ +# REQUIRES: lld + +# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o +# RUN: ld.lld %t.o -o %t +# RUN: lldb-test symbols --find=function --name=inl --function-flags=method %t \ +# RUN: | FileCheck %s + +# CHECK: Function: {{.*}} mangled = "_Z8externali" +# CHECK: Blocks: {{.*}} range = [0x00201000-0x00201002) +# CHECK-NEXT: range = [0x00201000-0x00201002), name = "inl", mangled = _ZN1S3inlEi + + +# Generated via: +# clang -O2 -g -S + +# from file: +# int forward(int); +# struct S { +# static int inl(int a) { return forward(a); } +# }; +# int external(int a) { return S::inl(a); } + +# and then simplified. + + .text +_Z8externali: +.Lfunc_begin0: + jmp _Z7forwardi +.Lfunc_end0: + +.globl _start +_start: +_Z7forwardi: +ret + + .section .debug_str,"MS",@progbits,1 +.Linfo_string0: + .asciz "clang version 7.0.0 (trunk 332830) (llvm/trunk 332835) with manual modifications" +.Linfo_string3: + .asciz "_ZN1S3inlEi" +.Linfo_string4: + .asciz "inl" +.Linfo_string6: + .asciz "S" +.Linfo_string8: + .asciz "_Z8externali" +.Linfo_string9: + .asciz "external" + .section .debug_abbrev,"",@progbits + .byte 1 # Abbreviation Code + .byte 17 # DW_TAG_compile_unit + .byte 1 # DW_CHILDREN_yes + .byte 37 # DW_AT_producer + .byte 14 # DW_FORM_strp + .byte 19 # DW_AT_language + .byte 5 # DW_FORM_data2 + .byte 17 # DW_AT_low_pc + .byte 1 # DW_FORM_addr + .byte 18 # DW_AT_high_pc + .byte 6 # DW_FORM_data4 + .byte 0 # EOM(1) + .byte 0 # EOM(2) + .byte 2 # Abbreviation Code + .byte 19 # DW_TAG_structure_type + .byte 1 # DW_CHILDREN_yes + .byte 3 # DW_AT_nam
[Lldb-commits] [lldb] r333273 - Fix format string
Author: d0k Date: Fri May 25 05:59:59 2018 New Revision: 333273 URL: http://llvm.org/viewvc/llvm-project?rev=333273&view=rev Log: Fix format string PRIx64 already has the x inside, so this was creating a nonsensical format string. Modified: lldb/trunk/source/Target/ThreadPlanStepOverBreakpoint.cpp Modified: lldb/trunk/source/Target/ThreadPlanStepOverBreakpoint.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/ThreadPlanStepOverBreakpoint.cpp?rev=333273&r1=333272&r2=333273&view=diff == --- lldb/trunk/source/Target/ThreadPlanStepOverBreakpoint.cpp (original) +++ lldb/trunk/source/Target/ThreadPlanStepOverBreakpoint.cpp Fri May 25 05:59:59 2018 @@ -99,7 +99,7 @@ bool ThreadPlanStepOverBreakpoint::DoPla if (pc_addr == m_breakpoint_addr) { if (log) -log->Printf("Got breakpoint stop reason but pc: %x" PRIx64 +log->Printf("Got breakpoint stop reason but pc: 0x%" PRIx64 "hasn't changed.", pc_addr); return true; } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47235: Move ModuleList's dependency on clangDriver into Host
zturner added a comment. That sounds good to me as well. https://reviews.llvm.org/D47235 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r333287 - Remove DWARFUnit::ClearDIEs parameter keep_compile_unit_die
Author: jankratochvil Date: Fri May 25 09:11:45 2018 New Revision: 333287 URL: http://llvm.org/viewvc/llvm-project?rev=333287&view=rev Log: Remove DWARFUnit::ClearDIEs parameter keep_compile_unit_die It has been now always passed as true and during planned D46810 it would no longer make sense. Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.h lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp?rev=333287&r1=333286&r2=333287&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp Fri May 25 09:11:45 2018 @@ -288,7 +288,7 @@ void DWARFUnit::SetAddrBase(dw_addr_t ad m_base_obj_offset = base_obj_offset; } -void DWARFUnit::ClearDIEs(bool keep_compile_unit_die) { +void DWARFUnit::ClearDIEs() { if (m_die_array.size() > 1) { // std::vectors never get any smaller when resized to a smaller size, or // when clear() or erase() are called, the size will report that it is @@ -300,12 +300,11 @@ void DWARFUnit::ClearDIEs(bool keep_comp // Save at least the compile unit DIE DWARFDebugInfoEntry::collection tmp_array; m_die_array.swap(tmp_array); -if (keep_compile_unit_die) - m_die_array.push_back(tmp_array.front()); +m_die_array.push_back(tmp_array.front()); } if (m_dwo_symbol_file) -m_dwo_symbol_file->GetCompileUnit()->ClearDIEs(keep_compile_unit_die); +m_dwo_symbol_file->GetCompileUnit()->ClearDIEs(); } void DWARFUnit::BuildAddressRangeTable(SymbolFileDWARF *dwarf, @@ -403,7 +402,7 @@ void DWARFUnit::BuildAddressRangeTable(S // Keep memory down by clearing DIEs if this generate function caused them to // be parsed if (clear_dies) -ClearDIEs(true); +ClearDIEs(); } lldb::ByteOrder DWARFUnit::GetByteOrder() const { Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.h?rev=333287&r1=333286&r2=333287&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.h (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFUnit.h Fri May 25 09:11:45 2018 @@ -99,7 +99,7 @@ public: dw_addr_t GetRangesBase() const { return m_ranges_base; } void SetAddrBase(dw_addr_t addr_base, dw_addr_t ranges_base, dw_offset_t base_obj_offset); - void ClearDIEs(bool keep_compile_unit_die); + void ClearDIEs(); void BuildAddressRangeTable(SymbolFileDWARF *dwarf, DWARFDebugAranges *debug_aranges); Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp?rev=333287&r1=333286&r2=333287&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp Fri May 25 09:11:45 2018 @@ -96,7 +96,7 @@ void ManualDWARFIndex::Index() { //-- for (uint32_t cu_idx = 0; cu_idx < num_compile_units; ++cu_idx) { if (clear_cu_dies[cu_idx]) - debug_info.GetCompileUnitAtIndex(cu_idx)->ClearDIEs(true); + debug_info.GetCompileUnitAtIndex(cu_idx)->ClearDIEs(); } } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47384: Remove dependency from Host to clang
zturner created this revision. zturner added reviewers: labath, davide. Herald added a subscriber: mgorny. The idea is to move the discovery of the clang resource directory into a more appropriate place, such as the clang expression parser. By continuing with this pattern we can isolate all clang interactions to the clang expression parser. There is a little edge case here in that there is a public enumeration which is used in conjunction with `SBHostOS` to get a generic LLDB directory. So as not to break the public API, I just special case this particular value of the enumeration and don't pass it through to Host, rather passing it through to the clang expression parser plugin. I'm not able to test this on OSX, so I expect there may be some easy to fix up compilation errors. Davide, would you mind helping me out with that? https://reviews.llvm.org/D47384 Files: lldb/include/lldb/Host/HostInfoBase.h lldb/include/lldb/Host/macosx/HostInfoMacOSX.h lldb/include/lldb/Host/posix/HostInfoPosix.h lldb/source/API/SBHostOS.cpp lldb/source/Host/common/HostInfoBase.cpp lldb/source/Host/macosx/HostInfoMacOSX.mm lldb/source/Host/posix/HostInfoPosix.cpp lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp lldb/source/Plugins/ExpressionParser/Clang/ClangHost.h lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp lldb/unittests/Host/HostInfoTest.cpp Index: lldb/unittests/Host/HostInfoTest.cpp === --- lldb/unittests/Host/HostInfoTest.cpp +++ lldb/unittests/Host/HostInfoTest.cpp @@ -52,54 +52,50 @@ #ifdef __APPLE__ -struct HostInfoMacOSXTest : public HostInfoMacOSX { - static std::string ComputeClangDir(std::string lldb_shlib_path, - bool verify = false) { -FileSpec clang_dir; -FileSpec lldb_shlib_spec(lldb_shlib_path, false); -ComputeClangDirectory(lldb_shlib_spec, clang_dir, verify); -return clang_dir.GetPath(); - } -}; - +static std::string ComputeClangDir(std::string lldb_shlib_path, + bool verify = false) { + FileSpec clang_dir; + FileSpec lldb_shlib_spec(lldb_shlib_path, false); + ComputeClangDirectory(lldb_shlib_spec, clang_dir, verify); + return clang_dir.GetPath(); +} TEST_F(HostInfoTest, MacOSX) { // This returns whatever the POSIX fallback returns. std::string posix = "/usr/lib/liblldb.dylib"; - EXPECT_FALSE(HostInfoMacOSXTest::ComputeClangDir(posix).empty()); + EXPECT_FALSE(ComputeClangDir(posix).empty()); std::string build = "/lldb-macosx-x86_64/Library/Frameworks/LLDB.framework/Versions/A"; std::string build_clang = "/lldb-macosx-x86_64/Library/Frameworks/LLDB.framework/Resources/Clang"; - EXPECT_EQ(HostInfoMacOSXTest::ComputeClangDir(build), build_clang); + EXPECT_EQ(ComputeClangDir(build), build_clang); std::string xcode = "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A"; std::string xcode_clang = "/Applications/Xcode.app/Contents/Developer/Toolchains/" "XcodeDefault.xctoolchain/usr/lib/swift/clang"; - EXPECT_EQ(HostInfoMacOSXTest::ComputeClangDir(xcode), xcode_clang); + EXPECT_EQ(ComputeClangDir(xcode), xcode_clang); std::string toolchain = "/Applications/Xcode.app/Contents/Developer/Toolchains/" "Swift-4.1-development-snapshot.xctoolchain/System/Library/" "PrivateFrameworks/LLDB.framework"; std::string toolchain_clang = "/Applications/Xcode.app/Contents/Developer/Toolchains/" "Swift-4.1-development-snapshot.xctoolchain/usr/lib/swift/clang"; - EXPECT_EQ(HostInfoMacOSXTest::ComputeClangDir(toolchain), toolchain_clang); + EXPECT_EQ(ComputeClangDir(toolchain), toolchain_clang); std::string cltools = "/Library/Developer/CommandLineTools/Library/" "PrivateFrameworks/LLDB.framework"; std::string cltools_clang = "/Library/Developer/CommandLineTools/Library/PrivateFrameworks/" "LLDB.framework/Resources/Clang"; - EXPECT_EQ(HostInfoMacOSXTest::ComputeClangDir(cltools), cltools_clang); - + EXPECT_EQ(ComputeClangDir(cltools), cltools_clang); // Test that a bogus path is detected. - EXPECT_NE(HostInfoMacOSXTest::ComputeClangDir(GetInputFilePath(xcode), true), -HostInfoMacOSXTest::ComputeClangDir(GetInputFilePath(xcode))); + EXPECT_NE(ComputeClangDir(GetInputFilePath(xcode), true), +ComputeClangDir(GetInputFilePath(xcode))); } #endif Index: lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp === --- lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp +++ lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp @@ -25,6 +25,7 @@ #include "llvm/Support/Threading.h" // Project includes +#include "ClangHost.h" #include "Clan
[Lldb-commits] [PATCH] D47302: [lldb, lldb-mi] Add method AddCurrentTargetSharedObjectPath to the SBDebugger.
polyakov.alex added a comment. In https://reviews.llvm.org/D47302#637, @clayborg wrote: > In https://reviews.llvm.org/D47302#569, @polyakov.alex wrote: > > > In https://reviews.llvm.org/D47302#497, @clayborg wrote: > > > > > no. Create a new SBTargetSettings class. SBTarget will hand one out for > > > global and for target instance settings, Add all settings accessors to > > > SBTargetSettings class > > > > > > What is a difference between `SBTargetSettings` and `TargetProperties` > > classes except API level? > > > Not much difference except everything in SBTargetSettings will need to be > public C++ API safe (no virtual functions, one member variable in the class > that is a pointer std::unique_ptr or std::shared_ptr, no inheritance, no STL > in args or return values, no lldb_private classes in args or return values. > For this class to be API safe, we will actually need to keep a shared pointer > to the target properties. So the class in the API header will be something > like: > > namespace lldb { > SBTargetSettings { > lldb::TargetPropertiesSP m_opaque_sp; > }; > } > > > Then m_opaque_sp will be filled in by assigning from a TargetSP (since a > shared pointer to a target can be converted to a TargetPropertiesSP since > Target inherits from TargetProperties) or from a call to > Target::GetGlobalProperties(). And then we pass through all accessors we need. If so, to do: sb_target.settings.AppendImageSearchPath(...) we need to cast our pointer to `TargetProperties` to a pointer to `Target` since there is no such property(manipulating with image search paths) in `TargetProperties` and then use Target's methods. Repository: rL LLVM https://reviews.llvm.org/D47302 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r333299 - Fix typo in CMake comments
Author: xiaobai Date: Fri May 25 11:59:21 2018 New Revision: 333299 URL: http://llvm.org/viewvc/llvm-project?rev=333299&view=rev Log: Fix typo in CMake comments Modified: lldb/trunk/cmake/modules/LLDBStandalone.cmake Modified: lldb/trunk/cmake/modules/LLDBStandalone.cmake URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/LLDBStandalone.cmake?rev=333299&r1=333298&r2=333299&view=diff == --- lldb/trunk/cmake/modules/LLDBStandalone.cmake (original) +++ lldb/trunk/cmake/modules/LLDBStandalone.cmake Fri May 25 11:59:21 2018 @@ -100,7 +100,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR # Import CMake library targets from LLVM and Clang. include("${LLVM_OBJ_ROOT}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm/LLVMConfig.cmake") - # cmake/clang/ClangConfig.cmake is not created when LLVM and Cland are built together. + # cmake/clang/ClangConfig.cmake is not created when LLVM and Clang are built together. if (EXISTS "${LLVM_OBJ_ROOT}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake") include("${LLVM_OBJ_ROOT}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake") endif() @@ -112,7 +112,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR set(CMAKE_INCLUDE_CURRENT_DIR ON) include_directories("${LLVM_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}") # Next three include directories are needed when llvm-config is located in build directory. - # LLVM and Cland are assumed to be built together + # LLVM and Clang are assumed to be built together if (EXISTS "${LLVM_OBJ_ROOT}/include") include_directories("${LLVM_OBJ_ROOT}/include") endif() ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r333304 - Move SystemInitializerFull header to source/API
Author: xiaobai Date: Fri May 25 13:28:16 2018 New Revision: 04 URL: http://llvm.org/viewvc/llvm-project?rev=04&view=rev Log: Move SystemInitializerFull header to source/API Summary: It seems to me that files in include/lldb/API/ are headers that should be exposed to liblldb users. Because SystemInitializerFull.h exposes details of lldb_private, I think having it there is not the right thing to do. Since it's only included from files in source/API, we should move it there and treat it as private. Reviewers: labath, clayborg Reviewed By: labath, clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D47342 Added: lldb/trunk/source/API/SystemInitializerFull.h - copied, changed from r333208, lldb/trunk/include/lldb/API/SystemInitializerFull.h Removed: lldb/trunk/include/lldb/API/SystemInitializerFull.h Modified: lldb/trunk/source/API/SBDebugger.cpp lldb/trunk/source/API/SystemInitializerFull.cpp Removed: lldb/trunk/include/lldb/API/SystemInitializerFull.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SystemInitializerFull.h?rev=03&view=auto == --- lldb/trunk/include/lldb/API/SystemInitializerFull.h (original) +++ lldb/trunk/include/lldb/API/SystemInitializerFull.h (removed) @@ -1,38 +0,0 @@ -//===-- SystemInitializerFull.h -*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===--===// - -#ifndef LLDB_API_SYSTEM_INITIALIZER_FULL_H -#define LLDB_API_SYSTEM_INITIALIZER_FULL_H - -#include "lldb/Initialization/SystemInitializerCommon.h" - -namespace lldb_private { -//-- -/// Initializes lldb. -/// -/// This class is responsible for initializing all of lldb system -/// services needed to use the full LLDB application. This class is -/// not intended to be used externally, but is instead used -/// internally by SBDebugger to initialize the system. -//-- -class SystemInitializerFull : public SystemInitializerCommon { -public: - SystemInitializerFull(); - ~SystemInitializerFull() override; - - void Initialize() override; - void Terminate() override; - -private: - void InitializeSWIG(); -}; - -} // namespace lldb_private - -#endif // LLDB_API_SYSTEM_INITIALIZER_FULL_H Modified: lldb/trunk/source/API/SBDebugger.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBDebugger.cpp?rev=04&r1=03&r2=04&view=diff == --- lldb/trunk/source/API/SBDebugger.cpp (original) +++ lldb/trunk/source/API/SBDebugger.cpp Fri May 25 13:28:16 2018 @@ -11,6 +11,9 @@ // C++ Includes // Other libraries and framework includes // Project includes + +#include "SystemInitializerFull.h" + #include "lldb/API/SBDebugger.h" #include "lldb/lldb-private.h" @@ -35,7 +38,6 @@ #include "lldb/API/SBTypeNameSpecifier.h" #include "lldb/API/SBTypeSummary.h" #include "lldb/API/SBTypeSynthetic.h" -#include "lldb/API/SystemInitializerFull.h" #include "lldb/Core/Debugger.h" #include "lldb/Core/PluginManager.h" Modified: lldb/trunk/source/API/SystemInitializerFull.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SystemInitializerFull.cpp?rev=04&r1=03&r2=04&view=diff == --- lldb/trunk/source/API/SystemInitializerFull.cpp (original) +++ lldb/trunk/source/API/SystemInitializerFull.cpp Fri May 25 13:28:16 2018 @@ -11,7 +11,7 @@ #include "Plugins/ScriptInterpreter/Python/lldb-python.h" #endif -#include "lldb/API/SystemInitializerFull.h" +#include "SystemInitializerFull.h" #include "lldb/API/SBCommandInterpreter.h" Copied: lldb/trunk/source/API/SystemInitializerFull.h (from r333208, lldb/trunk/include/lldb/API/SystemInitializerFull.h) URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SystemInitializerFull.h?p2=lldb/trunk/source/API/SystemInitializerFull.h&p1=lldb/trunk/include/lldb/API/SystemInitializerFull.h&r1=333208&r2=04&rev=04&view=diff == (empty) ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47342: Move SystemInitializerFull header to source/API
This revision was automatically updated to reflect the committed changes. Closed by commit rL04: Move SystemInitializerFull header to source/API (authored by xiaobai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D47342?vs=148459&id=148658#toc Repository: rL LLVM https://reviews.llvm.org/D47342 Files: lldb/trunk/include/lldb/API/SystemInitializerFull.h lldb/trunk/source/API/SBDebugger.cpp lldb/trunk/source/API/SystemInitializerFull.cpp lldb/trunk/source/API/SystemInitializerFull.h Index: lldb/trunk/source/API/SBDebugger.cpp === --- lldb/trunk/source/API/SBDebugger.cpp +++ lldb/trunk/source/API/SBDebugger.cpp @@ -11,6 +11,9 @@ // C++ Includes // Other libraries and framework includes // Project includes + +#include "SystemInitializerFull.h" + #include "lldb/API/SBDebugger.h" #include "lldb/lldb-private.h" @@ -35,7 +38,6 @@ #include "lldb/API/SBTypeNameSpecifier.h" #include "lldb/API/SBTypeSummary.h" #include "lldb/API/SBTypeSynthetic.h" -#include "lldb/API/SystemInitializerFull.h" #include "lldb/Core/Debugger.h" #include "lldb/Core/PluginManager.h" Index: lldb/trunk/source/API/SystemInitializerFull.cpp === --- lldb/trunk/source/API/SystemInitializerFull.cpp +++ lldb/trunk/source/API/SystemInitializerFull.cpp @@ -11,7 +11,7 @@ #include "Plugins/ScriptInterpreter/Python/lldb-python.h" #endif -#include "lldb/API/SystemInitializerFull.h" +#include "SystemInitializerFull.h" #include "lldb/API/SBCommandInterpreter.h" Index: lldb/trunk/source/API/SystemInitializerFull.h === --- lldb/trunk/source/API/SystemInitializerFull.h +++ lldb/trunk/source/API/SystemInitializerFull.h @@ -0,0 +1,38 @@ +//===-- SystemInitializerFull.h -*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===--===// + +#ifndef LLDB_API_SYSTEM_INITIALIZER_FULL_H +#define LLDB_API_SYSTEM_INITIALIZER_FULL_H + +#include "lldb/Initialization/SystemInitializerCommon.h" + +namespace lldb_private { +//-- +/// Initializes lldb. +/// +/// This class is responsible for initializing all of lldb system +/// services needed to use the full LLDB application. This class is +/// not intended to be used externally, but is instead used +/// internally by SBDebugger to initialize the system. +//-- +class SystemInitializerFull : public SystemInitializerCommon { +public: + SystemInitializerFull(); + ~SystemInitializerFull() override; + + void Initialize() override; + void Terminate() override; + +private: + void InitializeSWIG(); +}; + +} // namespace lldb_private + +#endif // LLDB_API_SYSTEM_INITIALIZER_FULL_H Index: lldb/trunk/include/lldb/API/SystemInitializerFull.h === --- lldb/trunk/include/lldb/API/SystemInitializerFull.h +++ lldb/trunk/include/lldb/API/SystemInitializerFull.h @@ -1,38 +0,0 @@ -//===-- SystemInitializerFull.h -*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===--===// - -#ifndef LLDB_API_SYSTEM_INITIALIZER_FULL_H -#define LLDB_API_SYSTEM_INITIALIZER_FULL_H - -#include "lldb/Initialization/SystemInitializerCommon.h" - -namespace lldb_private { -//-- -/// Initializes lldb. -/// -/// This class is responsible for initializing all of lldb system -/// services needed to use the full LLDB application. This class is -/// not intended to be used externally, but is instead used -/// internally by SBDebugger to initialize the system. -//-- -class SystemInitializerFull : public SystemInitializerCommon { -public: - SystemInitializerFull(); - ~SystemInitializerFull() override; - - void Initialize() override; - void Terminate() override; - -private: - void InitializeSWIG(); -}; - -} // namespace lldb_private - -#endif // LLDB_API_SYSTEM_INITIALIZER_FULL_H ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r333322 - Fix Xcode build broken by SystemInitializerFull.h move
Author: xiaobai Date: Fri May 25 16:21:07 2018 New Revision: 22 URL: http://llvm.org/viewvc/llvm-project?rev=22&view=rev Log: Fix Xcode build broken by SystemInitializerFull.h move Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=22&r1=21&r2=22&view=diff == --- lldb/trunk/lldb.xcodeproj/project.pbxproj (original) +++ lldb/trunk/lldb.xcodeproj/project.pbxproj Fri May 25 16:21:07 2018 @@ -2409,7 +2409,6 @@ 3F8169181ABA2419001DA9DF /* NameMatches.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NameMatches.cpp; path = source/Utility/NameMatches.cpp; sourceTree = ""; }; 3F81691C1ABA242B001DA9DF /* NameMatches.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NameMatches.h; path = include/lldb/Utility/NameMatches.h; sourceTree = ""; }; 3F81692A1ABB7A16001DA9DF /* SystemInitializerFull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemInitializerFull.cpp; path = source/API/SystemInitializerFull.cpp; sourceTree = ""; }; - 3F81692D1ABB7A40001DA9DF /* SystemInitializerFull.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SystemInitializerFull.h; path = include/lldb/API/SystemInitializerFull.h; sourceTree = ""; }; 3F81692E1ABB7A6D001DA9DF /* SystemInitializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemInitializer.cpp; path = source/Initialization/SystemInitializer.cpp; sourceTree = ""; }; 3F81692F1ABB7A6D001DA9DF /* SystemInitializerCommon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemInitializerCommon.cpp; path = source/Initialization/SystemInitializerCommon.cpp; sourceTree = ""; }; 3F8169301ABB7A6D001DA9DF /* SystemLifetimeManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SystemLifetimeManager.cpp; path = source/Initialization/SystemLifetimeManager.cpp; sourceTree = ""; }; @@ -3230,6 +3229,7 @@ B2B7CCED15D1BFB700EEFB57 /* WatchpointOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WatchpointOptions.h; path = include/lldb/Breakpoint/WatchpointOptions.h; sourceTree = ""; }; B2B7CCEF15D1C20F00EEFB57 /* WatchpointOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WatchpointOptions.cpp; path = source/Breakpoint/WatchpointOptions.cpp; sourceTree = ""; }; B2D3033612EFA5C500F84EB3 /* InstructionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InstructionUtils.h; path = Utility/InstructionUtils.h; sourceTree = ""; }; + CDC75CF920B8D1DF002209BC /* SystemInitializerFull.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SystemInitializerFull.h; path = source/API/SystemInitializerFull.h; sourceTree = ""; }; D67521351EA17C3900439694 /* MainLoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MainLoop.cpp; sourceTree = ""; }; E73A15A41B548EC500786197 /* GDBRemoteSignals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GDBRemoteSignals.cpp; path = Utility/GDBRemoteSignals.cpp; sourceTree = ""; }; E73A15A51B548EC500786197 /* GDBRemoteSignals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GDBRemoteSignals.h; path = Utility/GDBRemoteSignals.h; sourceTree = ""; }; @@ -4261,8 +4261,8 @@ 94235B9B1A8D5FF300EB2EED /* SBVariablesOptions.cpp */, B2A58721143119810092BFBA /* SBWatchpoint.h */, B2A58723143119D50092BFBA /* SBWatchpoint.cpp */, - 3F81692D1ABB7A40001DA9DF /* SystemInitializerFull.h */, 3F81692A1ABB7A16001DA9DF /* SystemInitializerFull.cpp */, + CDC75CF920B8D1DF002209BC /* SystemInitializerFull.h */, ); name = API; sourceTree = ""; ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D47278: Remove lldb-private headers when building LLDB.framework with CMake
xiaobai updated this revision to Diff 148688. xiaobai added a comment. Updating to reflect changes in r04 https://reviews.llvm.org/D47278 Files: source/API/CMakeLists.txt Index: source/API/CMakeLists.txt === --- source/API/CMakeLists.txt +++ source/API/CMakeLists.txt @@ -162,8 +162,7 @@ endif() if(LLDB_BUILD_FRAMEWORK) - file(GLOB public_headers ${LLDB_SOURCE_DIR}/include/lldb/API/*.h - ${LLDB_SOURCE_DIR}/include/lldb/lldb-*.h) + file(GLOB public_headers ${LLDB_SOURCE_DIR}/include/lldb/API/*.h) file(GLOB root_public_headers ${LLDB_SOURCE_DIR}/include/lldb/lldb-*.h) file(GLOB root_private_headers ${LLDB_SOURCE_DIR}/include/lldb/lldb-private*.h) list(REMOVE_ITEM root_public_headers ${root_private_headers}) Index: source/API/CMakeLists.txt === --- source/API/CMakeLists.txt +++ source/API/CMakeLists.txt @@ -162,8 +162,7 @@ endif() if(LLDB_BUILD_FRAMEWORK) - file(GLOB public_headers ${LLDB_SOURCE_DIR}/include/lldb/API/*.h - ${LLDB_SOURCE_DIR}/include/lldb/lldb-*.h) + file(GLOB public_headers ${LLDB_SOURCE_DIR}/include/lldb/API/*.h) file(GLOB root_public_headers ${LLDB_SOURCE_DIR}/include/lldb/lldb-*.h) file(GLOB root_private_headers ${LLDB_SOURCE_DIR}/include/lldb/lldb-private*.h) list(REMOVE_ITEM root_public_headers ${root_private_headers}) ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits