2001-05-25 Alan Modra <amodra@one.net.au>
- * expr.c (expr): Set return value to absolute_section for
- subtractive operations on symbols within a segment.
- * read.c (pseudo_set): Set segment for complex expressions.
-
From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com>
* config/tc-i386.c (md_convert_frag): Don't die on local symbols
that have been finalized.
resultP->X_add_number += right.X_add_number;
else if (op_left == O_subtract)
resultP->X_add_number -= right.X_add_number;
- if (retval == rightseg
- && (op_left == O_subtract
- || op_left == O_eq
- || op_left == O_ne
- || op_left == O_lt
- || op_left == O_le
- || op_left == O_ge
- || op_left == O_gt))
- {
- /* For subtractive operations on symbols within a
- segment, the result will absolute. */
- retval = absolute_section;
- }
}
else
{
symbolS *symbolP;
{
expressionS exp;
- segT seg;
#if (defined (OBJ_AOUT) || defined (OBJ_BOUT)) && ! defined (BFD_ASSEMBLER)
int ext;
#endif /* OBJ_AOUT or OBJ_BOUT */
ext = S_IS_EXTERNAL (symbolP);
#endif /* OBJ_AOUT or OBJ_BOUT */
- seg = expression (&exp);
+ (void) expression (&exp);
if (exp.X_op == O_illegal)
as_bad (_("illegal expression; zero assumed"));
break;
default:
- /* The value is some complex expression. */
+ /* The value is some complex expression.
+ FIXME: Should we set the segment to anything? */
symbol_set_value_expression (symbolP, &exp);
- S_SET_SEGMENT (symbolP, seg);
break;
}
}