From 9a9774f90463c282e15707f7d89450f7cd970fc6 Mon Sep 17 00:00:00 2001 From: "M. Petra Baranski" Date: Thu, 18 Jan 2018 19:09:10 +0100 Subject: [PATCH] make sure that all parsers are finished --- CMakeLists.txt | 2 +- include/maddy/parser.h | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d17319a..634dfc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,7 +27,7 @@ file(GLOB_RECURSE MADDY_TESTS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/tests/maddy/*.cp set( CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -g -std=c++${MADDY_CPP_VERSION} -Wall -Wpedantic -Wextra -Wno-ignored-qualifiers -fno-rtti -fno-exceptions" + "${CMAKE_CXX_FLAGS} -g -std=c++${MADDY_CPP_VERSION} -Wall -Wpedantic -Wextra -Wno-ignored-qualifiers -fno-rtti -fno-exceptions -fsanitize=address -fno-omit-frame-pointer" ) # ------------------------------------------------------------------------------ diff --git a/include/maddy/parser.h b/include/maddy/parser.h index f1b6f34..b152646 100644 --- a/include/maddy/parser.h +++ b/include/maddy/parser.h @@ -93,6 +93,18 @@ public: } } + // make sure, that all parsers are finished + if (currentBlockParser) + { + std::string emptyLine = ""; + currentBlockParser->AddLine(emptyLine); + if (currentBlockParser->IsFinished()) + { + result += currentBlockParser->GetResult().str(); + currentBlockParser = nullptr; + } + } + return result; }