summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Core/PageFaultTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/UnitTests/Core/PageFaultTest.cpp')
-rw-r--r--Source/UnitTests/Core/PageFaultTest.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/UnitTests/Core/PageFaultTest.cpp b/Source/UnitTests/Core/PageFaultTest.cpp
index 7b6210d7b9..e77fe49fd2 100644
--- a/Source/UnitTests/Core/PageFaultTest.cpp
+++ b/Source/UnitTests/Core/PageFaultTest.cpp
@@ -49,6 +49,17 @@ public:
m_post_unprotect_time;
};
+#ifdef _MSC_VER
+#define ASAN_DISABLE __declspec(no_sanitize_address)
+#else
+#define ASAN_DISABLE
+#endif
+
+static void ASAN_DISABLE perform_invalid_access(void* data)
+{
+ *(volatile int*)data = 5;
+}
+
TEST(PageFault, PageFault)
{
EMM::InstallExceptionHandler();
@@ -61,7 +72,7 @@ TEST(PageFault, PageFault)
pfjit.m_data = data;
auto start = std::chrono::high_resolution_clock::now();
- *(volatile int*)data = 5;
+ perform_invalid_access(data);
auto end = std::chrono::high_resolution_clock::now();
#define AS_NS(diff) \