summaryrefslogtreecommitdiffstats
path: root/third_party/perfetto/moz_attributes.patch
blob: 883c1dbea67ecd438b114fc1532e5c5ea160f0c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff --git a/sdk/perfetto.h b/sdk/perfetto.h
index 411806567..b64f864a9 100644
--- a/sdk/perfetto.h
+++ b/sdk/perfetto.h
@@ -365,8 +365,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
@@ -19479,6 +19478,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 {                                                   \
@@ -19489,7 +19489,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); }                        \
                                                                               \
       EventFinalizer(const EventFinalizer&) = delete;                         \