[COMPILER]

* BUG: Fix compilation of NOT LIKE, NOT BEGINS and NOT ENDS operators when
  they are not alone in an expression.


git-svn-id: svn://localhost/gambas/trunk@6041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
Benoît Minisini 2013-12-31 14:30:58 +00:00
parent 3c8bb8a719
commit e87b82bc05
2 changed files with 7 additions and 7 deletions

View file

@ -35,7 +35,7 @@
#include "gbc_trans.h"
#include "gb_code.h"
/*#define DEBUG*/
//#define DEBUG
//static bool _accept_statement = FALSE;

View file

@ -590,13 +590,14 @@ static void analyze_array()
static void analyze_expr(short priority, short op_main)
{
int op, op_curr, op_not;
int prio;
int nparam;
short op, op_curr, op_not;
short prio;
short nparam;
inc_level();
op_curr = op_main;
op_not = RS_NONE;
nparam = (op_main == RS_NONE || op_main == RS_UNARY) ? 0 : 1;
if (PATTERN_is(*current, RS_NEW))
@ -638,9 +639,6 @@ READ_OPERATOR:
}
}
/*if ((op == RS_BEGINS || op == RS_ENDS) && PATTERN_is(*current, RS_WITH))
current++;*/
if (priority)
prio = priority;
else if (op_curr == RS_NONE)
@ -706,6 +704,8 @@ READ_OPERATOR:
{
add_operator(op_curr, nparam);
current--;
if (op_not != RS_NONE)
current--;
goto END;
}