Skip to content

Commit 6202aed

Browse files
authored
Merge pull request #3635 from bnbarham/more-rebranch-failures
[rebranch] Fix various LLDB failures
2 parents 42553a1 + 2d3c7da commit 6202aed

File tree

3 files changed

+51
-38
lines changed

3 files changed

+51
-38
lines changed

lldb/bindings/python/static-binding/LLDBWrapPython.cpp

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -80631,16 +80631,10 @@ LLDBSwigPythonCreateScriptedProcess
8063180631

8063280632
PythonObject result = {};
8063380633
if (arg_info.get().max_positional_args == 2) {
80634-
if (args_impl != nullptr) {
80635-
error_string.assign("args passed, but __init__ does not take an args dictionary");
80636-
Py_RETURN_NONE;
80637-
}
80638-
result = pfunc(target_arg, dict);
80639-
} else if (arg_info.get().max_positional_args >= 3) {
8064080634
PythonObject args_arg(PyRefType::Owned, SBTypeToSWIGWrapper(new lldb::SBStructuredData(args_impl)));
80641-
result = pfunc(target_arg, args_arg, dict);
80635+
result = pfunc(target_arg, args_arg);
8064280636
} else {
80643-
error_string.assign("wrong number of arguments in __init__, should be 2 or 3 (not including self)");
80637+
error_string.assign("wrong number of arguments in __init__, should be 2 (not including self)");
8064480638
Py_RETURN_NONE;
8064580639
}
8064680640

@@ -80654,7 +80648,8 @@ LLDBSwigPythonCreateScriptedThread
8065480648
(
8065580649
const char *python_class_name,
8065680650
const char *session_dictionary_name,
80657-
const lldb::TargetSP& target_sp,
80651+
const lldb::ProcessSP& process_sp,
80652+
lldb_private::StructuredDataImpl *args_impl,
8065880653
std::string &error_string
8065980654
)
8066080655
{
@@ -80672,12 +80667,12 @@ LLDBSwigPythonCreateScriptedThread
8067280667
return nullptr;
8067380668
}
8067480669

80675-
// I do not want the SBTarget to be deallocated when going out of scope
80670+
// I do not want the SBProcess to be deallocated when going out of scope
8067680671
// because python has ownership of it and will manage memory for this
8067780672
// object by itself
80678-
PythonObject target_arg(PyRefType::Owned, SBTypeToSWIGWrapper(new lldb::SBTarget(target_sp)));
80673+
PythonObject process_arg(PyRefType::Owned, SBTypeToSWIGWrapper(new lldb::SBProcess(process_sp)));
8067980674

80680-
if (!target_arg.IsAllocated())
80675+
if (!process_arg.IsAllocated())
8068180676
Py_RETURN_NONE;
8068280677

8068380678
llvm::Expected<PythonCallable::ArgInfo> arg_info = pfunc.GetArgInfo();
@@ -80694,10 +80689,11 @@ LLDBSwigPythonCreateScriptedThread
8069480689
}
8069580690

8069680691
PythonObject result = {};
80697-
if (arg_info.get().max_positional_args == 1) {
80698-
result = pfunc(target_arg);
80692+
if (arg_info.get().max_positional_args == 2) {
80693+
PythonObject args_arg(PyRefType::Owned, SBTypeToSWIGWrapper(new lldb::SBStructuredData(args_impl)));
80694+
result = pfunc(process_arg, args_arg);
8069980695
} else {
80700-
error_string.assign("wrong number of arguments in __init__, should be 2 or 3 (not including self)");
80696+
error_string.assign("wrong number of arguments in __init__, should be 2 (not including self)");
8070180697
Py_RETURN_NONE;
8070280698
}
8070380699

lldb/include/lldb/Symbol/TypeSystem.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,13 @@ class TypeSystem : public PluginInterface {
8080
Module *module);
8181

8282
static lldb::TypeSystemSP CreateInstance(lldb::LanguageType language,
83-
Target *target,
84-
const char *compiler_options);
83+
Target *target);
8584

85+
// BEGIN APPLE
8686
static lldb::TypeSystemSP CreateInstance(lldb::LanguageType language,
87-
Target *target);
87+
Target *target,
88+
const char *compiler_options);
89+
// END APPLE
8890

8991
// Free up any resources associated with this TypeSystem. Done before
9092
// removing all the TypeSystems from the TypeSystemMap.
@@ -556,16 +558,22 @@ class TypeSystemMap {
556558
// callback to keep iterating, false to stop iterating.
557559
void ForEach(std::function<bool(TypeSystem *)> const &callback);
558560

559-
void RemoveTypeSystemsForLanguage(lldb::LanguageType language);
560-
561561
llvm::Expected<TypeSystem &>
562562
GetTypeSystemForLanguage(lldb::LanguageType language, Module *module,
563563
bool can_create);
564564

565+
llvm::Expected<TypeSystem &>
566+
GetTypeSystemForLanguage(lldb::LanguageType language, Target *target,
567+
bool can_create);
568+
569+
// BEGIN SWIFT
565570
llvm::Expected<TypeSystem &>
566571
GetTypeSystemForLanguage(lldb::LanguageType language, Target *target,
567572
bool can_create, const char *compiler_options);
568573

574+
void RemoveTypeSystemsForLanguage(lldb::LanguageType language);
575+
// END SWIFT
576+
569577
protected:
570578
typedef std::map<lldb::LanguageType, lldb::TypeSystemSP> collection;
571579
mutable std::mutex m_mutex; ///< A mutex to keep this object happy in

lldb/source/Symbol/TypeSystem.cpp

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
6060
}
6161

6262
lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
63-
Target *target,
64-
const char *compiler_options) {
65-
return CreateInstanceHelper(language, nullptr, target, compiler_options);
63+
Target *target) {
64+
return CreateInstanceHelper(language, nullptr, target, nullptr);
6665
}
6766

6867
lldb::TypeSystemSP TypeSystem::CreateInstance(lldb::LanguageType language,
69-
Target *target) {
70-
return CreateInstanceHelper(language, nullptr, target, nullptr);
68+
Target *target,
69+
const char *compiler_options) {
70+
return CreateInstanceHelper(language, nullptr, target, compiler_options);
7171
}
7272

7373
#ifndef NDEBUG
@@ -299,29 +299,38 @@ llvm::Expected<TypeSystem &> TypeSystemMap::GetTypeSystemForLanguage(
299299

300300
llvm::Expected<TypeSystem &>
301301
TypeSystemMap::GetTypeSystemForLanguage(lldb::LanguageType language,
302-
Target *target, bool can_create,
303-
// BEGIN: SWIFT
304-
const char *compiler_options) {
305-
// END: SWIFT
302+
Module *module, bool can_create) {
306303
if (can_create) {
307304
return GetTypeSystemForLanguage(
308-
language, llvm::Optional<CreateCallback>([language, target,
309-
// BEGIN SWIFT
310-
compiler_options]() {
311-
return TypeSystem::CreateInstance(language, target, compiler_options);
312-
// END SWIFT
305+
language, llvm::Optional<CreateCallback>([language, module]() {
306+
return TypeSystem::CreateInstance(language, module);
313307
}));
314308
}
315309
return GetTypeSystemForLanguage(language);
316310
}
317311

318312
llvm::Expected<TypeSystem &>
319313
TypeSystemMap::GetTypeSystemForLanguage(lldb::LanguageType language,
320-
Module *module, bool can_create) {
314+
Target *target, bool can_create) {
321315
if (can_create) {
322316
return GetTypeSystemForLanguage(
323-
language, llvm::Optional<CreateCallback>([language, module]() {
324-
return TypeSystem::CreateInstance(language, module);
317+
language, llvm::Optional<CreateCallback>([language, target]() {
318+
return TypeSystem::CreateInstance(language, target);
319+
}));
320+
}
321+
return GetTypeSystemForLanguage(language);
322+
}
323+
324+
// BEGIN SWIFT
325+
llvm::Expected<TypeSystem &>
326+
TypeSystemMap::GetTypeSystemForLanguage(lldb::LanguageType language,
327+
Target *target, bool can_create,
328+
const char *compiler_options) {
329+
if (can_create) {
330+
return GetTypeSystemForLanguage(
331+
language, llvm::Optional<CreateCallback>([language, target,
332+
compiler_options]() {
333+
return TypeSystem::CreateInstance(language, target, compiler_options);
325334
}));
326335
}
327336
return GetTypeSystemForLanguage(language);
@@ -337,4 +346,4 @@ void TypeSystemMap::RemoveTypeSystemsForLanguage(lldb::LanguageType language) {
337346
m_map.erase(pos);
338347
}
339348
}
340-
349+
// END SWIFT

0 commit comments

Comments
 (0)