2005-03-15  Jan Beulich  <jbeulich@novell.com>

	* expr.c (operand): Merge handling of unary + into that for unary
	-, !, and ~.
This commit is contained in:
Jan Beulich 2005-03-15 15:41:31 +00:00
parent 34723071b5
commit 43c3ab55ac
2 changed files with 20 additions and 19 deletions

View file

@ -1,3 +1,8 @@
2005-03-15 Jan Beulich <jbeulich@novell.com>
* expr.c (operand): Merge handling of unary + into that for unary
-, !, and ~.
2005-03-14 Eric Christopher <echristo@redhat.com>
* config/tc-mips.c: Include dw2gencfi.h.

View file

@ -1011,14 +1011,6 @@ operand (expressionS *expressionP)
mri_char_constant (expressionP);
break;
case '+':
/* Do not accept ++e as +(+e).
Disabled, since the preprocessor removes whitespace. */
if (0 && *input_line_pointer == '+')
goto target_op;
(void) operand (expressionP);
break;
#ifdef TC_M68K
case '"':
/* Double quote is the bitwise not operator in MRI mode. */
@ -1032,10 +1024,11 @@ operand (expressionS *expressionP)
goto isname;
case '!':
case '-':
case '+':
{
/* Do not accept --e as -(-e)
/* Do not accept ++e or --e as +(+e) or -(-e)
Disabled, since the preprocessor removes whitespace. */
if (0 && c == '-' && *input_line_pointer == '-')
if (0 && (c == '-' || c == '+') && *input_line_pointer == c)
goto target_op;
operand (expressionP);
@ -1052,7 +1045,7 @@ operand (expressionS *expressionP)
}
else if (c == '~' || c == '"')
expressionP->X_add_number = ~ expressionP->X_add_number;
else
else if (c == '!')
expressionP->X_add_number = ! expressionP->X_add_number;
}
else if (expressionP->X_op == O_big
@ -1098,6 +1091,8 @@ operand (expressionS *expressionP)
}
else if (expressionP->X_op != O_illegal
&& expressionP->X_op != O_absent)
{
if (c != '+')
{
expressionP->X_add_symbol = make_expr_symbol (expressionP);
if (c == '-')
@ -1108,6 +1103,7 @@ operand (expressionS *expressionP)
expressionP->X_op = O_logical_not;
expressionP->X_add_number = 0;
}
}
else
as_warn (_("Unary operator %c ignored because bad operand follows"),
c);