diff --git a/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp b/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp --- a/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp +++ b/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp @@ -26,6 +26,8 @@ namespace __lsan { +class SuspendedThreadsListFuchsia final : public SuspendedThreadsList {}; + void InitializePlatformSpecificModules() {} LoadedModule *GetLinker() { return nullptr; } @@ -147,7 +149,7 @@ ¶ms->argument->frontier); } - params->callback({}, params->argument); + params->callback(SuspendedThreadsListFuchsia(), params->argument); }, ¶ms); diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp --- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp @@ -20,6 +20,8 @@ namespace __sanitizer { +class SuspendedThreadsListFuchsia final : public SuspendedThreadsList {}; + // The Fuchsia implementation stops the world but doesn't offer a real // SuspendedThreadsList argument. This is enough for ASan's use case, // and LSan does not use this API on Fuchsia. @@ -32,7 +34,7 @@ nullptr, nullptr, nullptr, nullptr, [](zx_status_t, void *data) { auto params = reinterpret_cast(data); - params->callback({}, params->argument); + params->callback(SuspendedThreadsListFuchsia(), params->argument); }, ¶ms); }