diff --git a/src/asm/asmy.y b/src/asm/asmy.y index 29dd9f01..c06d47e3 100644 --- a/src/asm/asmy.y +++ b/src/asm/asmy.y @@ -182,6 +182,10 @@ void copyrept( void ) } } + if (level != 0) { + fatalerror("Unterminated REPT block"); + } + len=src-pCurrentBuffer->pBuffer-4; src=pCurrentBuffer->pBuffer; @@ -257,6 +261,10 @@ void copymacro( void ) } } + if (level != 0) { + fatalerror("Unterminated MACRO definition"); + } + len=src-pCurrentBuffer->pBuffer-4; src=pCurrentBuffer->pBuffer; @@ -348,6 +356,10 @@ void if_skip_to_else( void ) } } + if (level != 0) { + fatalerror("Unterminated IF construct"); + } + len=src-pCurrentBuffer->pBuffer; yyskipbytes( len ); @@ -403,6 +415,10 @@ void if_skip_to_endc( void ) } } + if (level != 0) { + fatalerror("Unterminated IF construct"); + } + len=src-pCurrentBuffer->pBuffer; yyskipbytes( len );