mirror of
https://github.com/cc65/cc65.git
synced 2024-09-06 18:54:30 +00:00
Fix consecutive false errors when a label without a following statement is
encountered. git-svn-id: svn://svn.cc65.org/cc65/trunk@4894 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
38ebc6618d
commit
212941ddb4
@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void CheckLabelWithoutStatement (void)
|
static int CheckLabelWithoutStatement (void)
|
||||||
/* Called from Statement() after a label definition. Will check for a
|
/* Called from Statement() after a label definition. Will check for a
|
||||||
* following closing curly brace. This means that a label is not followed
|
* following closing curly brace. This means that a label is not followed
|
||||||
* by a statement which is required by the standard. Output an error if so.
|
* by a statement which is required by the standard. Output an error if so.
|
||||||
@ -79,6 +79,9 @@ static void CheckLabelWithoutStatement (void)
|
|||||||
{
|
{
|
||||||
if (CurTok.Tok == TOK_RCURLY) {
|
if (CurTok.Tok == TOK_RCURLY) {
|
||||||
Error ("Label at end of compound statement");
|
Error ("Label at end of compound statement");
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -569,7 +572,9 @@ int Statement (int* PendingToken)
|
|||||||
while (CurTok.Tok == TOK_IDENT && NextTok.Tok == TOK_COLON) {
|
while (CurTok.Tok == TOK_IDENT && NextTok.Tok == TOK_COLON) {
|
||||||
/* Handle the label */
|
/* Handle the label */
|
||||||
DoLabel ();
|
DoLabel ();
|
||||||
CheckLabelWithoutStatement ();
|
if (CheckLabelWithoutStatement ()) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (CurTok.Tok) {
|
switch (CurTok.Tok) {
|
||||||
|
Loading…
Reference in New Issue
Block a user