gecko-dev/third_party/perfetto/moz_attributes.patch

31 строка
1.6 KiB
Diff

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 <mozilla/Attributes.h>
#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); \
} \