+2013-12-03 Tristan Gingold <gingold@adacore.com>
+
+ * config/tc-i386-intel.c (i386_intel_simplify): Avoid arithmetic
+ overflow on pointers.
+
2013-11-19 Yufeng Zhang <yufeng.zhang@arm.com>
Revert
if (this_operand >= 0 && intel_state.in_bracket)
{
expressionS *scale = NULL;
-
- if (intel_state.index)
- --scale;
+ int has_index = (intel_state.index != NULL);
if (!intel_state.in_scale++)
intel_state.scale_factor = 1;
ret = i386_intel_simplify_symbol (e->X_add_symbol);
- if (ret && !scale && intel_state.index)
+ if (ret && !has_index && intel_state.index)
scale = symbol_get_value_expression (e->X_op_symbol);
if (ret)
ret = i386_intel_simplify_symbol (e->X_op_symbol);
- if (ret && !scale && intel_state.index)
+ if (ret && !scale && !has_index && intel_state.index)
scale = symbol_get_value_expression (e->X_add_symbol);
- if (ret && scale && (scale + 1))
+ if (ret && scale)
{
resolve_expression (scale);
if (scale->X_op != O_constant