From 416f60fcc58c2ce250feaa391abdeade845624d8 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 23 Feb 2009 17:21:48 -0500 Subject: [PATCH] Fixed operator precedence. ANDAND was in there twice, and at two different precedences. --- mojoshader_preprocessor.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/mojoshader_preprocessor.c b/mojoshader_preprocessor.c index dd3903ed..2188ff06 100644 --- a/mojoshader_preprocessor.c +++ b/mojoshader_preprocessor.c @@ -1257,15 +1257,14 @@ static int find_precedence(const Token token) // operator precedence, left and right associative... typedef struct { int precedence; Token token; } Precedence; static const Precedence ops[] = { - { 0, TOKEN_OROR }, { 1, TOKEN_ANDAND }, { 2, TOKEN_ANDAND }, - { 3, ((Token) '|') }, { 4, ((Token) '^') }, { 5, ((Token) '&') }, - { 6, TOKEN_NEQ }, { 6, TOKEN_EQL }, { 7, ((Token) '<') }, - { 7, ((Token) '>') }, { 7, TOKEN_LEQ }, { 7, TOKEN_GEQ }, - { 8, TOKEN_LSHIFT }, { 8, TOKEN_RSHIFT }, { 9, ((Token) '-') }, - { 9, ((Token) '+') }, { 10, ((Token) '%') }, { 10, ((Token) '/') }, - { 10, ((Token) '*') }, { 11, TOKEN_PP_UNARY_PLUS }, - { 11, TOKEN_PP_UNARY_MINUS }, { 11, ((Token) '!') }, - { 11, ((Token) '~') }, + { 0, TOKEN_OROR }, { 1, TOKEN_ANDAND }, { 2, ((Token) '|') }, + { 3, ((Token) '^') }, { 4, ((Token) '&') }, { 5, TOKEN_NEQ }, + { 6, TOKEN_EQL }, { 7, ((Token) '<') }, { 7, ((Token) '>') }, + { 7, TOKEN_LEQ }, { 7, TOKEN_GEQ }, { 8, TOKEN_LSHIFT }, + { 8, TOKEN_RSHIFT }, { 9, ((Token) '-') }, { 9, ((Token) '+') }, + { 10, ((Token) '%') }, { 10, ((Token) '/') }, { 10, ((Token) '*') }, + { 11, TOKEN_PP_UNARY_PLUS }, { 11, TOKEN_PP_UNARY_MINUS }, + { 11, ((Token) '!') }, { 11, ((Token) '~') }, }; int i;