From c6fd7423f2db1e33c76f15ab4ff85d669f73900f Mon Sep 17 00:00:00 2001
From: TimQu <tim.quatmann@cs.rwth-aachen.de>
Date: Mon, 20 Jul 2020 10:13:18 +0200
Subject: [PATCH] Disabling stack checks once again for all clang versions >=
 11.0.0 because they somehow interfere with exception handling in the
 PrismParser. (most likely a clang bug).

---
 CMakeLists.txt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 751e5a7e0..0a88333f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -194,9 +194,11 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
 	# using AppleClang
 	if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3)
 		message(FATAL_ERROR "AppleClang version must be at least 7.3.")
-	elseif ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 11.0.0) OR ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 11.0.0) AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.3)))
-		message(WARNING "Disabling stack checks for AppleClang versions between 11.0.0 and 11.0.2.")
-		# With these compiler versions, stack checks fail in release mode (most likely due to a bug in these versions).
+	elseif ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 11.0.0) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 11.0.0))
+		message(WARNING "Disabling stack checks for AppleClang version 11.0.0 or higher.")
+		# Stack checks are known to produce errors with the following Clang versions:
+		# 11.0.0: Runtime errors (stack_not_16_byte_aligned_error) when invoking storm in release mode
+		# 11.0.3: Catching exceptions thrown within PRISM parser does not work (The exception just falls through)
 		set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-stack-check")
 	endif()