1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-19 06:31:31 +00:00

Fix an error with .ELSEIF: The condition must only be evaluated if the .ELSEIF

is inside an .IF which had a TRUE condition.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5036 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2011-06-07 17:16:18 +00:00
parent f0a6653bd1
commit 7db7f34d91

View File

@ -229,6 +229,9 @@ void DoConditionals (void)
/* Handle as if there was an .ELSE first */
ElseClause (D, ".ELSEIF");
/* Calculate the new overall if condition */
CalcOverallIfCond ();
/* Allocate and prepare a new descriptor */
D = AllocIf (".ELSEIF", 0);
NextTok ();
@ -237,7 +240,7 @@ void DoConditionals (void)
* branch. This way we won't get any errors about undefined
* symbols or similar...
*/
if (IfCond == 0) {
if (IfCond) {
SetIfCond (D, ConstExpression ());
ExpectSep ();
}