From 7c90d00af9481250bf42f09db8c29dd5b1bec323 Mon Sep 17 00:00:00 2001 From: "William R. Dieter" Date: Fri, 29 Oct 2021 18:00:16 -0400 Subject: Tests: Prevent compiler optimizing away test code in CTestTestCrash The CTestTestCrash tries to force a crash by dereferencing a NULL pointer. The oneAPI 2021.4 C compiler notices that the pointer and the value fetched from the pointer are never used and optimizes away the dereferencing of the NULL pointer, which prevents the crash, causing the test to fail. This change adds the `volatile` keyword the pointer to prevent the compiler optimizing it away. Removing a reference to a `volatile` variable is illegal because access to a `volatile` variable could have side effects not observable by the compiler. Signed-off-by: William R. Dieter --- Tests/CTestTestCrash/crash.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/CTestTestCrash/crash.cxx b/Tests/CTestTestCrash/crash.cxx index 370c3fb..88d4b1d 100644 --- a/Tests/CTestTestCrash/crash.cxx +++ b/Tests/CTestTestCrash/crash.cxx @@ -1,6 +1,6 @@ // causes a segfault int main() { - int* ptr = 0; + volatile int* ptr = 0; *ptr = 1; } -- cgit v0.12