diff --git a/gas/ChangeLog b/gas/ChangeLog index 06df1e6da9..0b5829fdb5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2007-09-26 Jan Beulich + + * config/tc-ia64.c (dot_pred_rel): Replace specialized handling + with simple call to parse_operand. + 2007-09-26 Jan Beulich * config/tc-i386.c (NUM_FLAG_CODE): Remove. diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index d6fcb2cc7a..04995cc86d 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -5282,14 +5282,13 @@ dot_pred_rel (type) SKIP_WHITESPACE (); } - SKIP_WHITESPACE (); while (1) { valueT bits = 1; - int regno; + int sep, regno; expressionS pr, *pr1, *pr2; - expression_and_evaluate (&pr); + sep = parse_operand (&pr, ','); if (pr.X_op == O_register && pr.X_add_number >= REG_P && pr.X_add_number <= REG_P + 63) @@ -5336,10 +5335,8 @@ dot_pred_rel (type) if (mask & bits) as_warn (_("Duplicate predicate register ignored")); mask |= bits; - if (*input_line_pointer != ',') + if (sep != ',') break; - ++input_line_pointer; - SKIP_WHITESPACE (); } switch (type)