[Lldb-commits] [PATCH] D46810: 3/3: Fix DWARFUnit::GetUnitDIEPtrOnly stale pointer

2018-05-25 Thread Pavel Labath via Phabricator via lldb-commits
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

2018-05-25 Thread Jan Kratochvil via Phabricator via lldb-commits
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.

2018-05-25 Thread Pavel Labath via Phabricator via lldb-commits
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

2018-05-25 Thread Pavel Labath via Phabricator via lldb-commits
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

2018-05-25 Thread Pavel Labath via lldb-commits
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

2018-05-25 Thread Pavel Labath via lldb-commits
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

2018-05-25 Thread Pavel Labath via Phabricator via lldb-commits
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

2018-05-25 Thread Benjamin Kramer via lldb-commits
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

2018-05-25 Thread Zachary Turner via Phabricator via lldb-commits
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

2018-05-25 Thread Jan Kratochvil via lldb-commits
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

2018-05-25 Thread Zachary Turner via Phabricator via lldb-commits
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.

2018-05-25 Thread Alexander Polyakov via Phabricator via lldb-commits
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

2018-05-25 Thread Alex Langford via lldb-commits
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

2018-05-25 Thread Alex Langford via lldb-commits
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

2018-05-25 Thread Alex Langford via Phabricator via lldb-commits
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

2018-05-25 Thread Alex Langford via lldb-commits
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

2018-05-25 Thread Alex Langford via Phabricator via lldb-commits
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