From 74266c24cf5bc4015862f43d18c4147a2c58f050 Mon Sep 17 00:00:00 2001
From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu>
Date: Mon, 7 Jan 2019 19:12:24 +0100
Subject: [PATCH] Resolve "testCascade and cascade_example segfault in
 release-type build"

---
 CMakeLists.txt              | 2 +-
 Framework/Cascade/Cascade.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a788d05..792dbc88 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,7 @@ endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
 # enable warnings and disallow non-standard language
 set(CMAKE_CXX_FLAGS "-Wall -pedantic -Wextra -Wno-ignored-qualifiers")
 set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-set(CMAKE_CXX_FLAGS_RELEASE "-O3") # -O2 would not trade speed for size, neither O2/3 use fast-math 
+set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g") # -O2 would not trade speed for size, neither O2/3 use fast-math 
 
 # clang produces a lot of unecessary warnings without this:
 add_compile_options("$<$<CXX_COMPILER_ID:Clang>:-Wno-nonportable-include-path>") 
diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h
index 6aed37d6..ba05bd78 100644
--- a/Framework/Cascade/Cascade.h
+++ b/Framework/Cascade/Cascade.h
@@ -47,7 +47,7 @@ namespace corsika::cascade {
     void Run() {
       while (!fStack.IsEmpty()) {
         while (!fStack.IsEmpty()) {
-          Particle& pNext = *fStack.GetNextParticle();
+          auto pNext = fStack.GetNextParticle();
           Step(pNext);
         }
         // do cascade equations, which can put new particles on Stack,
-- 
GitLab