From b75c0c920f88f3b6a5877509b14f59b5d86f88b5 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 2 Jun 2000 02:52:10 +0000 Subject: is_end_of_line fixes. --- gas/expr.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gas/expr.c') diff --git a/gas/expr.c b/gas/expr.c index 851a406..11a9e13 100644 --- a/gas/expr.c +++ b/gas/expr.c @@ -799,6 +799,9 @@ operand (expressionP) SKIP_WHITESPACE (); /* leading whitespace is part of operand. */ c = *input_line_pointer++; /* input_line_pointer->past char in c. */ + if (is_end_of_line[(unsigned char) c]) + goto eol; + switch (c) { case '1': @@ -1166,9 +1169,8 @@ operand (expressionP) { goto isname; } + case ',': - case '\n': - case '\0': eol: /* can't imagine any other kind of operand */ expressionP->X_op = O_absent; @@ -1211,8 +1213,6 @@ operand (expressionP) #ifdef TC_M68K de_fault: #endif - if (is_end_of_line[(unsigned char) c]) - goto eol; if (is_name_beginner (c)) /* here if did not begin with a digit */ { /* @@ -1571,6 +1571,9 @@ operator () c = *input_line_pointer & 0xff; + if (is_end_of_line[c]) + return O_illegal; + switch (c) { default: -- cgit v1.1