From: Peter Johnson Date: Mon, 19 Feb 2007 02:17:41 +0000 (-0000) Subject: GAS parser: support labels on the same line as other instructions/directives. X-Git-Tag: v0.6.0~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fbaf1181060733701e4eca5cb6a72b81735c91d0;p=yasm GAS parser: support labels on the same line as other instructions/directives. svn path=/trunk/yasm/; revision=1775 --- diff --git a/modules/parsers/gas/gas-parse.c b/modules/parsers/gas/gas-parse.c index ab27b327..f52b9d52 100644 --- a/modules/parsers/gas/gas-parse.c +++ b/modules/parsers/gas/gas-parse.c @@ -241,6 +241,9 @@ parse_line(yasm_parser_gas *parser_gas) unsigned int ival; char *id; + if (is_eol()) + return NULL; + bc = parse_instr(parser_gas); if (bc) return bc; @@ -253,7 +256,7 @@ parse_line(yasm_parser_gas *parser_gas) /* Label */ get_next_token(); /* : */ define_label(parser_gas, id, 0); - return parse_instr(parser_gas); + return parse_line(parser_gas); } else if (curtok == '=') { /* EQU */ get_next_token(); /* = */ @@ -278,7 +281,7 @@ parse_line(yasm_parser_gas *parser_gas) case LABEL: define_label(parser_gas, LABEL_val, 0); get_next_token(); /* LABEL */ - return parse_instr(parser_gas); + return parse_line(parser_gas); /* Line directive */ case DIR_LINE: