Ensure not closing macro definition parameters throws an error

This commit is contained in:
Jan
2023-12-23 13:54:57 +01:00
parent c1c5378b08
commit b1d4176b6e
3 changed files with 32 additions and 1 deletions

View File

@ -148,6 +148,9 @@ void DefinesStreamProxy::ContinueDefine(const ParserLine& line, const unsigned c
const auto lineEndEscapePos = GetLineEndEscapePos(line);
if (lineEndEscapePos < 0)
{
if (m_parameter_state != ParameterState::NOT_IN_PARAMETERS)
throw ParsingException(CreatePos(line, currentPos), "Unclosed macro parameters");
if (currentPos <= 0)
m_current_define_value << line.m_line;
else

View File

@ -6,7 +6,7 @@
#include <exception>
#include <string>
class ParsingException final : std::exception
class ParsingException final : public std::exception
{
TokenPos m_pos;
std::string m_message;