summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gas/expr.c
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1998-02-15 18:50:15 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1998-02-15 18:50:15 +0000
commit2b89a04cf6f974f8370b54e72b96ebd0bc1f9b64 (patch)
treedb5c05309ed682f005c398826f4f5af1922fafcc /gnu/usr.bin/gas/expr.c
parent69610abb4918feb6cc803c767885ba8ff78fbf24 (diff)
Merge of NetBSD changes + $OpenBSD$ tags
Diffstat (limited to 'gnu/usr.bin/gas/expr.c')
-rw-r--r--gnu/usr.bin/gas/expr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gnu/usr.bin/gas/expr.c b/gnu/usr.bin/gas/expr.c
index 5e33089b990..b7131483586 100644
--- a/gnu/usr.bin/gas/expr.c
+++ b/gnu/usr.bin/gas/expr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: expr.c,v 1.2 1996/04/23 00:15:52 niklas Exp $ */
+/* $OpenBSD: expr.c,v 1.3 1998/02/15 18:48:45 niklas Exp $ */
/* expr.c -operands, expressions-
Copyright (C) 1987, 1990, 1991, 1992 Free Software Foundation, Inc.
@@ -27,7 +27,7 @@
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: expr.c,v 1.2 1996/04/23 00:15:52 niklas Exp $";
+static char rcsid[] = "$OpenBSD: expr.c,v 1.3 1998/02/15 18:48:45 niklas Exp $";
#endif
#include <ctype.h>
@@ -523,6 +523,7 @@ register expressionS *expressionP;
|| (expressionP->X_subtract_symbol
&& expressionP->X_add_symbol
&& expressionP->X_subtract_symbol->sy_frag == expressionP->X_add_symbol->sy_frag
+ && SEG_NORMAL (S_GET_SEGMENT (expressionP->X_add_symbol))
&& S_GET_VALUE(expressionP->X_subtract_symbol) == S_GET_VALUE(expressionP->X_add_symbol))) {
expressionP->X_subtract_symbol = NULL;
expressionP->X_add_symbol = NULL;
@@ -742,7 +743,9 @@ segT expr(rank, resultP)
register operatorT op_right;
register char c_right;
+#ifndef __CHAR_UNSIGNED__
know(rank >= 0);
+#endif
(void) operand(resultP);
know(*input_line_pointer != ' '); /* Operand() gobbles spaces. */
c_left = *input_line_pointer; /* Potential operator character. */