diff --git a/gcc/m2/m2.flex b/gcc/m2/m2.flex index f8f5ce64ad3..e8ee383878e 100644 --- a/gcc/m2/m2.flex +++ b/gcc/m2/m2.flex @@ -188,12 +188,14 @@ extern void yylex (void); \"[^\"\n]*\" { updatepos(); M2LexBuf_AddTokCharStar(M2Reserved_stringtok, yytext); return; } \"[^\"\n]*$ { updatepos(); m2flex_M2Error("missing terminating quote, \""); + M2LexBuf_AddTokCharStar(M2Reserved_stringtok, yytext); resetpos(); return; } '[^'\n]*' { updatepos(); M2LexBuf_AddTokCharStar(M2Reserved_stringtok, yytext); return; } '[^'\n]*$ { updatepos(); m2flex_M2Error("missing terminating quote, '"); + M2LexBuf_AddTokCharStar(M2Reserved_stringtok, yytext); resetpos(); return; } diff --git a/gcc/testsuite/gm2/pim/fail/missingquote.mod b/gcc/testsuite/gm2/pim/fail/missingquote.mod new file mode 100644 index 00000000000..e78f0e339ac --- /dev/null +++ b/gcc/testsuite/gm2/pim/fail/missingquote.mod @@ -0,0 +1,8 @@ +MODULE missingquote ; + +CONST + MyConst = 'foobar + +BEGIN + +END missingquote.