1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-08 15:29:37 +00:00

Switched from warning to error. Tightened the testcase.

This commit is contained in:
laubzega 2018-09-23 16:22:59 -07:00 committed by Oliver Schmidt
parent 7a5acaf39a
commit a48bbc4be0
4 changed files with 9 additions and 10 deletions

View File

@ -700,7 +700,7 @@ SymEntry* AddLabelSym (const char* Name, unsigned Flags)
a goto statement, we will only look for the label definition. */
if (((DOR->Flags & SC_DEF) != (Flags & SC_DEF)) &&
(DOR->LocalsBlockNum != (long)CollLast (&CurrentFunc->LocalsBlockStack)))
Warning ("Goto from line %d to label \'%s\' can result in a "
Error ("Goto from line %d to label \'%s\' can result in a "
"trashed stack", Flags & SC_DEF ? DOR->Line : GetCurrentLine (), Name);
}

View File

@ -72,10 +72,10 @@ $(WORKDIR)/limits.$1.$2.prg: limits.c $(DIFF)
$(SIM65) $(SIM65FLAGS) $$@ > $(WORKDIR)/limits.$1.out
$(DIFF) $(WORKDIR)/limits.$1.out limits.ref
# here we check if the right warnings are produced
# here we check if the right errors are produced
$(WORKDIR)/goto.$1.$2.prg: goto.c $(DIFF)
$(if $(QUIET),echo misc/goto.$1.$2.prg)
$(CL65) -t sim$2 -$1 -o $$@ $$< 2>$(WORKDIR)/goto.$1.out
$(NOT) $(CL65) -t sim$2 -$1 -o $$@ $$< 2>$(WORKDIR)/goto.$1.out
$(DIFF) $(WORKDIR)/goto.$1.out goto.ref
# the rest are tests that fail currently for one reason or another

View File

@ -61,5 +61,5 @@ int function () {
goto end;
end:
;
return 0;
}

View File

@ -1,7 +1,6 @@
goto.c(34): Warning: Goto from line 29 to label 'bad' can result in a trashed stack
goto.c(40): Warning: Goto from line 18 to label 'unsafe' can result in a trashed stack
goto.c(42): Warning: Goto from line 42 to label 'another' can result in a trashed stack
goto.c(47): Warning: Goto from line 47 to label 'bad' can result in a trashed stack
goto.c(56): Warning: Goto from line 38 to label 'finish' can result in a trashed stack
goto.c(34): Error: Goto from line 29 to label 'bad' can result in a trashed stack
goto.c(40): Error: Goto from line 18 to label 'unsafe' can result in a trashed stack
goto.c(42): Error: Goto from line 42 to label 'another' can result in a trashed stack
goto.c(47): Error: Goto from line 47 to label 'bad' can result in a trashed stack
goto.c(56): Error: Goto from line 38 to label 'finish' can result in a trashed stack
goto.c(58): Warning: `unused' is defined but never used
goto.c(65): Warning: Control reaches end of non-void function