Importing rustc-1.52.1
Change-Id: I3598a97301b4b2e71385e5a519f6d2ad946548b6
diff --git a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp
index 7dfa759..989247b 100644
--- a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp
+++ b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp
@@ -142,25 +142,14 @@
if (!m_get_item_info_impl_code) {
if (g_get_item_info_function_code != nullptr) {
- Status error;
- m_get_item_info_impl_code.reset(
- exe_ctx.GetTargetRef().GetUtilityFunctionForLanguage(
- g_get_item_info_function_code, eLanguageTypeObjC,
- g_get_item_info_function_name, error));
- if (error.Fail()) {
- LLDB_LOGF(log, "Failed to get utility function: %s.",
- error.AsCString());
- return args_addr;
+ auto utility_fn_or_error = exe_ctx.GetTargetRef().CreateUtilityFunction(
+ g_get_item_info_function_code, g_get_item_info_function_name,
+ eLanguageTypeObjC, exe_ctx);
+ if (!utility_fn_or_error) {
+ LLDB_LOG_ERROR(log, utility_fn_or_error.takeError(),
+ "Failed to create utility function: {0}.");
}
-
- if (!m_get_item_info_impl_code->Install(diagnostics, exe_ctx)) {
- if (log) {
- LLDB_LOGF(log, "Failed to install get-item-info introspection.");
- diagnostics.Dump(log);
- }
- m_get_item_info_impl_code.reset();
- return args_addr;
- }
+ m_get_item_info_impl_code = std::move(*utility_fn_or_error);
} else {
LLDB_LOGF(log, "No get-item-info introspection code found.");
return LLDB_INVALID_ADDRESS;
@@ -227,7 +216,8 @@
lldb::StackFrameSP thread_cur_frame = thread.GetStackFrameAtIndex(0);
ProcessSP process_sp(thread.CalculateProcess());
TargetSP target_sp(thread.CalculateTarget());
- TypeSystemClang *clang_ast_context = TypeSystemClang::GetScratch(*target_sp);
+ TypeSystemClang *clang_ast_context =
+ ScratchTypeSystemClang::GetForTarget(*target_sp);
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_SYSTEM_RUNTIME));
GetItemInfoReturnInfo return_value;
diff --git a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp
index ff57aa2..7bf158e 100644
--- a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp
+++ b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp
@@ -146,27 +146,16 @@
if (!m_get_pending_items_impl_code) {
if (g_get_pending_items_function_code != nullptr) {
- Status error;
- m_get_pending_items_impl_code.reset(
- exe_ctx.GetTargetRef().GetUtilityFunctionForLanguage(
- g_get_pending_items_function_code, eLanguageTypeObjC,
- g_get_pending_items_function_name, error));
- if (error.Fail()) {
- LLDB_LOGF(log,
- "Failed to get UtilityFunction for pending-items "
- "introspection: %s.",
- error.AsCString());
+ auto utility_fn_or_error = exe_ctx.GetTargetRef().CreateUtilityFunction(
+ g_get_pending_items_function_code,
+ g_get_pending_items_function_name, eLanguageTypeC, exe_ctx);
+ if (!utility_fn_or_error) {
+ LLDB_LOG_ERROR(log, utility_fn_or_error.takeError(),
+ "Failed to create UtilityFunction for pending-items "
+ "introspection: {0}.");
return args_addr;
}
-
- if (!m_get_pending_items_impl_code->Install(diagnostics, exe_ctx)) {
- if (log) {
- LLDB_LOGF(log, "Failed to install pending-items introspection.");
- diagnostics.Dump(log);
- }
- m_get_pending_items_impl_code.reset();
- return args_addr;
- }
+ m_get_pending_items_impl_code = std::move(*utility_fn_or_error);
} else {
LLDB_LOGF(log, "No pending-items introspection code found.");
return LLDB_INVALID_ADDRESS;
@@ -174,8 +163,8 @@
// Next make the runner function for our implementation utility function.
Status error;
- TypeSystemClang *clang_ast_context =
- TypeSystemClang::GetScratch(thread.GetProcess()->GetTarget());
+ TypeSystemClang *clang_ast_context = ScratchTypeSystemClang::GetForTarget(
+ thread.GetProcess()->GetTarget());
CompilerType get_pending_items_return_type =
clang_ast_context->GetBasicType(eBasicTypeVoid).GetPointerType();
get_pending_items_caller =
@@ -226,7 +215,8 @@
lldb::StackFrameSP thread_cur_frame = thread.GetStackFrameAtIndex(0);
ProcessSP process_sp(thread.CalculateProcess());
TargetSP target_sp(thread.CalculateTarget());
- TypeSystemClang *clang_ast_context = TypeSystemClang::GetScratch(*target_sp);
+ TypeSystemClang *clang_ast_context =
+ ScratchTypeSystemClang::GetForTarget(*target_sp);
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_SYSTEM_RUNTIME));
GetPendingItemsReturnInfo return_value;
diff --git a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
index 632f18d..6e65211 100644
--- a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
+++ b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
@@ -159,27 +159,16 @@
if (!m_get_queues_impl_code_up) {
if (g_get_current_queues_function_code != nullptr) {
- Status error;
- m_get_queues_impl_code_up.reset(
- exe_ctx.GetTargetRef().GetUtilityFunctionForLanguage(
- g_get_current_queues_function_code, eLanguageTypeC,
- g_get_current_queues_function_name, error));
- if (error.Fail()) {
- LLDB_LOGF(
- log,
- "Failed to get UtilityFunction for queues introspection: %s.",
- error.AsCString());
+ auto utility_fn_or_error = exe_ctx.GetTargetRef().CreateUtilityFunction(
+ g_get_current_queues_function_code,
+ g_get_current_queues_function_name, eLanguageTypeC, exe_ctx);
+ if (!utility_fn_or_error) {
+ LLDB_LOG_ERROR(log, utility_fn_or_error.takeError(),
+ "Failed to create UtilityFunction for queues "
+ "introspection: {0}.");
return args_addr;
}
-
- if (!m_get_queues_impl_code_up->Install(diagnostics, exe_ctx)) {
- if (log) {
- LLDB_LOGF(log, "Failed to install queues introspection");
- diagnostics.Dump(log);
- }
- m_get_queues_impl_code_up.reset();
- return args_addr;
- }
+ m_get_queues_impl_code_up = std::move(*utility_fn_or_error);
} else {
if (log) {
LLDB_LOGF(log, "No queues introspection code found.");
@@ -191,7 +180,7 @@
// Next make the runner function for our implementation utility function.
TypeSystemClang *clang_ast_context =
- TypeSystemClang::GetScratch(thread.GetProcess()->GetTarget());
+ ScratchTypeSystemClang::GetForTarget(thread.GetProcess()->GetTarget());
CompilerType get_queues_return_type =
clang_ast_context->GetBasicType(eBasicTypeVoid).GetPointerType();
Status error;
@@ -231,7 +220,8 @@
lldb::StackFrameSP thread_cur_frame = thread.GetStackFrameAtIndex(0);
ProcessSP process_sp(thread.CalculateProcess());
TargetSP target_sp(thread.CalculateTarget());
- TypeSystemClang *clang_ast_context = TypeSystemClang::GetScratch(*target_sp);
+ TypeSystemClang *clang_ast_context =
+ ScratchTypeSystemClang::GetForTarget(*target_sp);
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_SYSTEM_RUNTIME));
GetQueuesReturnInfo return_value;
diff --git a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
index 6bfdbac..77fb0be 100644
--- a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
+++ b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
@@ -153,29 +153,16 @@
if (!m_get_thread_item_info_impl_code) {
Status error;
if (g_get_thread_item_info_function_code != nullptr) {
- m_get_thread_item_info_impl_code.reset(
- exe_ctx.GetTargetRef().GetUtilityFunctionForLanguage(
- g_get_thread_item_info_function_code, eLanguageTypeC,
- g_get_thread_item_info_function_name, error));
- if (error.Fail()) {
- LLDB_LOGF(log,
- "Failed to get UtilityFunction for "
- "get-thread-item-info introspection: %s.",
- error.AsCString());
- m_get_thread_item_info_impl_code.reset();
+ auto utility_fn_or_error = exe_ctx.GetTargetRef().CreateUtilityFunction(
+ g_get_thread_item_info_function_code,
+ g_get_thread_item_info_function_name, eLanguageTypeC, exe_ctx);
+ if (!utility_fn_or_error) {
+ LLDB_LOG_ERROR(log, utility_fn_or_error.takeError(),
+ "Failed to get UtilityFunction for "
+ "get-thread-item-info introspection: {0}.");
return args_addr;
}
-
- if (!m_get_thread_item_info_impl_code->Install(diagnostics, exe_ctx)) {
- if (log) {
- LLDB_LOGF(log,
- "Failed to install get-thread-item-info introspection.");
- diagnostics.Dump(log);
- }
-
- m_get_thread_item_info_impl_code.reset();
- return args_addr;
- }
+ m_get_thread_item_info_impl_code = std::move(*utility_fn_or_error);
} else {
LLDB_LOGF(log, "No get-thread-item-info introspection code found.");
return LLDB_INVALID_ADDRESS;
@@ -183,8 +170,8 @@
// Also make the FunctionCaller for this UtilityFunction:
- TypeSystemClang *clang_ast_context =
- TypeSystemClang::GetScratch(thread.GetProcess()->GetTarget());
+ TypeSystemClang *clang_ast_context = ScratchTypeSystemClang::GetForTarget(
+ thread.GetProcess()->GetTarget());
CompilerType get_thread_item_info_return_type =
clang_ast_context->GetBasicType(eBasicTypeVoid).GetPointerType();
@@ -235,7 +222,8 @@
lldb::StackFrameSP thread_cur_frame = thread.GetStackFrameAtIndex(0);
ProcessSP process_sp(thread.CalculateProcess());
TargetSP target_sp(thread.CalculateTarget());
- TypeSystemClang *clang_ast_context = TypeSystemClang::GetScratch(*target_sp);
+ TypeSystemClang *clang_ast_context =
+ ScratchTypeSystemClang::GetForTarget(*target_sp);
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_SYSTEM_RUNTIME));
GetThreadItemInfoReturnInfo return_value;
diff --git a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
index 33b1ed1..31c2a58 100644
--- a/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
+++ b/src/llvm-project/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
@@ -414,7 +414,7 @@
#endif
TypeSystemClang *ast_ctx =
- TypeSystemClang::GetScratch(m_process->GetTarget());
+ ScratchTypeSystemClang::GetForTarget(m_process->GetTarget());
if (m_dispatch_tsd_indexes_addr != LLDB_INVALID_ADDRESS) {
CompilerType uint16 =
ast_ctx->GetBuiltinTypeForEncodingAndBitSize(eEncodingUint, 16);