temp = get_absolute_expr (&exp);
size = temp;
- size &= ((offsetT) 2 << (stdoutput->arch_info->bits_per_address - 1)) - 1;
+ size &= ((addressT) 2 << (stdoutput->arch_info->bits_per_address - 1)) - 1;
if (exp.X_op == O_absent)
{
as_bad (_("missing size expression"));
symbol_set_frag (symbolP, dummy_frag);
}
#endif
-#ifdef OBJ_COFF
+#if defined (OBJ_COFF) && !defined (TE_PE)
/* "set" symbols are local unless otherwise specified. */
SF_SET_LOCAL (symbolP);
#endif
do
{
TC_PARSE_CONS_RETURN_TYPE ret = TC_PARSE_CONS_RETURN_NONE;
+#ifdef TC_CONS_FIX_CHECK
+ fixS **cur_fix = &frchain_now->fix_tail;
+
+ if (*cur_fix != NULL)
+ cur_fix = &(*cur_fix)->fx_next;
+#endif
#ifdef TC_M68K
if (flag_m68k_mri)
as_fatal (_("rva without symbol"));
}
emit_expr_with_reloc (&exp, (unsigned int) nbytes, ret);
+#ifdef TC_CONS_FIX_CHECK
+ TC_CONS_FIX_CHECK (&exp, nbytes, *cur_fix);
+#endif
++c;
}
while (*input_line_pointer++ == ',');
void
emit_expr_fix (expressionS *exp, unsigned int nbytes, fragS *frag, char *p,
- TC_PARSE_CONS_RETURN_TYPE r)
+ TC_PARSE_CONS_RETURN_TYPE r ATTRIBUTE_UNUSED)
{
int offset = 0;
unsigned int size = nbytes;
&& (input_line_pointer[1] != '\''
|| (*input_line_pointer != 'A'
&& *input_line_pointer != 'E')))
- TC_PARSE_CONS_EXPRESSION (exp, nbytes);
+ (void) TC_PARSE_CONS_EXPRESSION (exp, nbytes);
else
{
unsigned int scan;