diff --git a/sdk/perfetto.h b/sdk/perfetto.h --- a/sdk/perfetto.h +++ b/sdk/perfetto.h @@ -371,8 +371,7 @@ #if defined(__clang__) #if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) -extern "C" void __asan_poison_memory_region(void const volatile*, size_t); -extern "C" void __asan_unpoison_memory_region(void const volatile*, size_t); +#include "mozilla/MemoryChecking.h" #define PERFETTO_ASAN_POISON(a, s) __asan_poison_memory_region((a), (s)) #define PERFETTO_ASAN_UNPOISON(a, s) __asan_unpoison_memory_region((a), (s)) #else @@ -19790,6 +19789,7 @@ class TrackEventDataSource #define PERFETTO_INTERNAL_EVENT_FINALIZER_KEYWORD default #endif +#include #define PERFETTO_INTERNAL_SCOPED_EVENT_FINALIZER(category) \ struct PERFETTO_UID(ScopedEvent) { \ struct EventFinalizer { \ @@ -19800,7 +19800,7 @@ class TrackEventDataSource /* TrackEventArgumentFunction in |__VA_ARGS__|. This is required so */ \ /* that the scoped event is exactly ONE line and can't escape the */ \ /* scope if used in a single line if statement. */ \ - EventFinalizer(...) {} \ + MOZ_IMPLICIT EventFinalizer(...) {} \ ~EventFinalizer() { \ TRACE_EVENT_END(category); \ } \