]> git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
Merge branch 'master' of github.com:graphitemaster/gmqcc
authorDale Weiler <killfieldengine@gmail.com>
Mon, 17 Jun 2013 20:12:02 +0000 (20:12 +0000)
committerDale Weiler <killfieldengine@gmail.com>
Mon, 17 Jun 2013 20:12:02 +0000 (20:12 +0000)
1  2 
parser.c

diff --combined parser.c
index f8805e24f43c0d481560d1cb9a8b18d7c734e981,cbae8d3cc68aaef87fa7ea14c42d202b379a0c56..8a7cf876948e06119fa1730340f5b0be22e6742b
+++ b/parser.c
@@@ -1690,6 -1690,8 +1690,8 @@@ static bool parser_close_paren(parser_
  static void parser_reclassify_token(parser_t *parser)
  {
      size_t i;
+     if (parser->tok >= TOKEN_START)
+         return;
      for (i = 0; i < operator_count; ++i) {
          if (!strcmp(parser_tokval(parser), operators[i].op)) {
              parser->tok = TOKEN_OPERATOR;
@@@ -5694,16 -5696,8 +5696,16 @@@ skipvar
  
          if (parser->tok != '{' || var->expression.vtype != TYPE_FUNCTION) {
              if (parser->tok != '=') {
 -                parseerror(parser, "missing semicolon or initializer, got: `%s`", parser_tokval(parser));
 -                break;
 +                if (!strcmp(parser_tokval(parser), "break")) {
 +                    if (!parser_next(parser)) {
 +                        parseerror(parser, "error parsing break definition");
 +                        break;
 +                    }
 +                    (void)!!parsewarning(parser, WARN_BREAKDEF, "break definition ignored (suggest removing it)");
 +                } else {
 +                    parseerror(parser, "missing semicolon or initializer, got: `%s`", parser_tokval(parser));
 +                    break;
 +                }
              }
  
              if (!parser_next(parser)) {